Πίνακας περιεχομένων:

Πίνακας ελέγχου API AirVisual Air Quality: 5 βήματα
Πίνακας ελέγχου API AirVisual Air Quality: 5 βήματα

Βίντεο: Πίνακας ελέγχου API AirVisual Air Quality: 5 βήματα

Βίντεο: Πίνακας ελέγχου API AirVisual Air Quality: 5 βήματα
Βίντεο: Ενότητα 2 : Τελεστές, εντολές ελέγχου, επαναλήψεις (3) 2024, Ιούλιος
Anonim
Image
Image

Το AirVisual (https://www.airvisual.com) είναι ένας ιστότοπος που παρέχει δεδομένα για την ποιότητα του αέρα σε όλο τον κόσμο. Έχουν ένα API που θα χρησιμοποιήσουμε για να λάβουμε δεδομένα ποιότητας αέρα για αποστολή σε έναν πίνακα ελέγχου. Θα αλληλεπιδράσουμε με αυτό το API παρόμοιο με αυτό που κάναμε με τον πίνακα καιρού.

Αυτό είναι ένα απλό έργο που σας διδάσκει πώς να χρησιμοποιείτε ένα API. Ας αρχίσουμε!

Βήμα 1: Ξεκινώντας

AirVisual API
AirVisual API

Έχουμε ήδη συγκεντρώσει το μεγαλύτερο μέρος του κώδικα, αλλά θα χρειαστεί να κάνετε μερικές προσαρμογές στην πορεία. Υπάρχουν πολλές ευκαιρίες για επέκταση σε αυτό που κάναμε επίσης.

Για να ανακτήσετε όλα τα πράγματα που έχουμε ετοιμάσει για εσάς, θα πρέπει να κλωνοποιήσετε το αποθετήριο από το GitHub. Το GitHub είναι μια φοβερή υπηρεσία που μας επιτρέπει να αποθηκεύουμε, να αναθεωρούμε και να διαχειριζόμαστε έργα όπως αυτό. Θα θέλετε να εκτελέσετε αυτό το σενάριο σε ειδική συσκευή. Μπορείτε να χρησιμοποιήσετε φορητό υπολογιστή, Raspberry Pi ή άλλο υπολογιστή με έναν πίνακα. Για να κλωνοποιήσουμε το αποθετήριο, το μόνο που χρειάζεται να κάνουμε είναι να πάμε στο τερματικό του υπολογιστή μας ή του Pi και να πληκτρολογήσουμε αυτήν την εντολή:

$ git clone

Πατήστε enter και θα δείτε αυτές τις πληροφορίες:

Κλωνοποίηση $ git https://github.com/InitialState/airvisual.git Κλωνοποίηση σε «airvisual»… τηλεχειριστήριο: Αρίθμηση αντικειμένων: 13, τελειωμένο. τηλεχειριστήριο: Καταμέτρηση αντικειμένων: 100% (13/13), τελειωμένο. τηλεχειριστήριο: Συμπίεση αντικειμένων: 100% (12/12), τελειωμένο. τηλεχειριστήριο: Σύνολο 13 (δέλτα 2), επαναχρησιμοποίηση 0 (δέλτα 0), επαναχρησιμοποίηση συσκευασίας 0 Αποσυσκευασία αντικειμένων: 100% (13/13), τελειωμένο.

Μόλις δείτε αυτό, τότε συγχαρητήρια, έχετε κλωνοποιήσει με επιτυχία το GitHub Repo και έχετε όλα τα απαραίτητα αρχεία για να δημιουργήσετε αυτό το έργο. Ας περάσουμε στον νέο κατάλογο. Για να αλλάξετε τον κατάλογο, το μόνο που χρειάζεται να κάνετε είναι να πληκτρολογήσετε "cd" και στη συνέχεια να πληκτρολογήσετε το όνομα του καταλόγου στον οποίο θέλετε να μεταβείτε. Σε αυτήν την περίπτωση, πληκτρολογούμε:

$ cd airvisual

Μόλις πατήσουμε το enter, θα δείτε ότι βρισκόμαστε τώρα στον κατάλογο της οπτικής εικόνας. Ας πληκτρολογήσουμε "ls" για να δούμε ποια αρχεία έχουμε εγκαταστήσει. Θα πρέπει να φαίνεται κάτι ως εξής:

LICENSE README.md airquality.py

Χρειαζόμαστε κάποια άλλα στοιχεία προτού μπορέσουμε να επεξεργαστούμε τον κώδικα, οπότε ας δούμε το API ποιότητας αέρα στη συνέχεια.

Βήμα 2: AirVisual API

AirVisual API
AirVisual API
AirVisual API
AirVisual API

Το AirVisual διαθέτει API ποιότητας αέρα (AQI) και ρύπανσης που επιτρέπει έως και 10.000 κλήσεις API το μήνα δωρεάν. Μπορείτε να εγγραφείτε στο επίπεδο Κοινότητας. Μόλις εγγραφείτε, μπορείτε να μεταβείτε στην καρτέλα My Air και στην καρτέλα API. Εδώ θα βρείτε τα κλειδιά API και την τεκμηρίωσή σας στο API.

Κάντε κλικ στο κουμπί +Νέο κλειδί για να δημιουργήσετε το πρώτο μας κλειδί πρόσβασης API. Για Επιλογή σχεδίου, χρησιμοποιήστε το αναπτυσσόμενο μενού για να επιλέξετε Κοινότητα και κάντε κλικ στην επιλογή Δημιουργία. Εάν όλα πάνε καλά, θα δείτε ένα μήνυμα επιτυχίας και μπορείτε να επιστρέψετε στον πίνακα ελέγχου API για να βρείτε τις νέες βασικές πληροφορίες. Η βασική τιμή (αριθμοί και χαρακτήρες) είναι αυτό που θα χρειαστείτε για αυτό το έργο. Εάν μελετήσετε την τεκμηρίωση API, θα δείτε ότι υπάρχουν πολλά είδη κλήσεων API που μπορείτε να πραγματοποιήσετε. Για αυτό το έργο θέλουμε να λάβουμε τα πλησιέστερα δεδομένα της πόλης με βάση τις συντεταγμένες GPS. Για αυτήν την κλήση θα χρειαστείτε το γεωγραφικό πλάτος, το γεωγραφικό πλάτος και το κλειδί API. Εισαγάγετε αυτές τις παραμέτρους στην παρακάτω κλήση, τοποθετήστε τις σε μια γραμμή διευθύνσεων στο πρόγραμμα περιήγησής σας και πατήστε enter.

api.airvisual.com/v2/nearest_city?lat={{LATITUDE}}&lon={{LONGITUDE}}&key={{YOUR_API_KEY}}

Αυτό θα επιστρέψει τα δεδομένα της πλησιέστερης πόλης με βάση τις συντεταγμένες GPS. Θα μοιάζει κάπως έτσι:

Προτείνω τη χρήση μορφοποιητή JSON για καλύτερη προβολή των δεδομένων. Αν το χρησιμοποιήσετε, θα μοιάζει κάπως έτσι:

"status": "επιτυχία", "data": {"city": "Nashville", "state": "Tennessee", "country": "USA", "location": {"type": "Point", "συντεταγμένες": [-86.7386, 36.1767]}, "current": {"weather": {"ts": "2019-04-08T19: 00: 00.000Z", "_v": 0, "createdAt": "2019-04-08T19: 04: 18.662Z "," hu ": 88," ic ":" 04d "," pr ": 1012," tp ": 18," updatedAt ":" 2019-04-08T19: 46: 53.140Z "," wd ": 90, "ws": 3.1}, "ρύπανση": {"ts": "2019-04-08T18: 00: 00.000Z", "aqius": 10, "mainus": "p2", "aqicn": 3, "maincn": "p2"}

Μπορούμε εύκολα να δούμε τώρα ότι έχουμε πληροφορίες για την τοποθεσία, τον καιρό και τη ρύπανση. Οι δύο τιμές στις οποίες εστιάζουμε για αυτό το έργο είναι ο Δείκτης Ποιότητας Αέρα ΗΠΑ (aquis) και Κύριος Ρύπανσης (mainus). Η τιμή του Δείκτη Ποιότητας Αέρα μας λέει ποια είναι η τοπική ποιότητα ποιότητας του αέρα και πώς σχετίζεται με την υγεία σας. Ο χρωματικά κωδικοποιημένος πίνακας είναι παρακάτω. Ο κύριος ρύπος μας λέει ποιος είναι ο κύριος ρύπος στον αέρα για την περιοχή σας (σωματίδια, οξείδιο του αζώτου, όζον, μονοξείδιο του άνθρακα, οξείδιο του θείου). Αυτοί οι ρύποι είναι συνήθως υποπροϊόντα στοίβας καπνού ή εκπομπών οχημάτων.

Τώρα που γνωρίζουμε πώς να χρησιμοποιούμε το Air Visual API, το επόμενο πράγμα που θα χρειαστούμε είναι μια πλατφόρμα ταμπλό για την εμφάνιση των δεδομένων.

Βήμα 3: Αρχική κατάσταση

Αρχική κατάσταση
Αρχική κατάσταση
Αρχική κατάσταση
Αρχική κατάσταση

Θέλουμε να μεταδώσουμε όλα τα δεδομένα καιρού σε μια υπηρεσία cloud και να κάνουμε αυτή την υπηρεσία να μετατρέψει τα δεδομένα μας σε έναν όμορφο πίνακα ελέγχου. Τα δεδομένα μας χρειάζονται έναν προορισμό, οπότε θα χρησιμοποιήσουμε την αρχική κατάσταση ως αυτόν τον προορισμό.

Εγγραφή για τον αρχικό λογαριασμό του κράτους

Μεταβείτε στη διεύθυνση https://iot.app.initialstate.com και δημιουργήστε έναν νέο λογαριασμό.

Εγκαταστήστε το ISStreamer

Εγκαταστήστε τη μονάδα αρχικής κατάστασης Python στον φορητό υπολογιστή σας ή στο Raspberry Pi. Σε μια γραμμή εντολών, εκτελέστε την ακόλουθη εντολή:

$ / curl -sSL https://iot.app.initialstate.com -o -| sudo bash

Κάντε λίγη Automagic

Αφού εκτελέσετε την εντολή curl, θα δείτε κάτι παρόμοιο με την ακόλουθη έξοδο στην οθόνη:

$ / curl -sSL https://iot.app.initialstate.com -o -| sudo bash

Κωδικός πρόσβασης: Έναρξη ISStreamer Python Εύκολη εγκατάσταση! Αυτό μπορεί να πάρει μερικά λεπτά για να εγκατασταθεί, πιείτε λίγο καφέ:) Αλλά μην ξεχάσετε να επιστρέψετε, θα έχω ερωτήσεις αργότερα! Βρέθηκε easy_install: setuptools 1.1.6 Βρέθηκε pip: pip 1.5.6 από /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip major version: 1 pip minor version: Βρέθηκε 5 ISStreamer, ενημερώνεται… Η απαίτηση είναι ήδη ενημερωμένη: ISStreamer στο/Librar/Python/2.7/site-packages Καθαρισμός… Θέλετε να λάβετε αυτόματα ένα παράδειγμα δέσμης ενεργειών; [y/N] Πού θέλετε να αποθηκεύσετε το παράδειγμα; [προεπιλογή:./is_example.py] Επιλέξτε ποια εφαρμογή αρχικής κατάστασης χρησιμοποιείτε: 1. app.initialstate.com 2. [ΝΕΟ!] iot.app.initialstate.com Εισαγάγετε την επιλογή 1 ή 2: Πληκτρολογήστε iot.app.initialstate.com όνομα χρήστη: Εισαγάγετε τον κωδικό πρόσβασης iot.app.initialstate.com:

Όταν σας ζητηθεί να λάβετε αυτόματα ένα παράδειγμα δέσμης ενεργειών, πληκτρολογήστε y. Αυτό θα δημιουργήσει ένα δοκιμαστικό σενάριο που μπορούμε να εκτελέσουμε για να διασφαλίσουμε ότι μπορούμε να μεταδώσουμε δεδομένα στην αρχική κατάσταση. Η επόμενη ερώτηση θα σας ρωτήσει πού θέλετε να αποθηκεύσετε το παράδειγμα του αρχείου. Μπορείτε είτε να πληκτρολογήσετε μια προσαρμοσμένη τοπική διαδρομή είτε να πατήσετε enter για να αποδεχτείτε την προεπιλεγμένη τοποθεσία. Τέλος, θα ερωτηθείτε ποια εφαρμογή αρχικής κατάστασης χρησιμοποιείτε. Εάν έχετε δημιουργήσει πρόσφατα έναν λογαριασμό, επιλέξτε την επιλογή 2 και, στη συνέχεια, εισαγάγετε το όνομα χρήστη και τον κωδικό πρόσβασης. Μετά από αυτό θα ολοκληρωθεί η εγκατάσταση.

Κλειδιά πρόσβασης

Ας ρίξουμε μια ματιά στο παράδειγμα σεναρίου που δημιουργήθηκε. $ nano is_example.py Στη γραμμή 15, θα δείτε μια γραμμή που ξεκινά με streamer = Streamer (bucket_…. Αυτές οι γραμμές δημιουργούν έναν νέο κάδο δεδομένων που ονομάζεται "Python Stream Παράδειγμα" και σχετίζεται με τον λογαριασμό σας. Αυτή η συσχέτιση συμβαίνει λόγω access_key =”…” παράμετρος στην ίδια γραμμή. Αυτή η μεγάλη σειρά γραμμάτων και αριθμών είναι το κλειδί πρόσβασης στο λογαριασμό αρχικής κατάστασης. Εάν μεταβείτε στον λογαριασμό αρχικής κατάστασης στο πρόγραμμα περιήγησής σας, κάντε κλικ στο όνομα χρήστη σας επάνω δεξιά και μετά μεταβείτε στις "ρυθμίσεις μου", θα βρείτε το ίδιο κλειδί πρόσβασης στο κάτω μέρος της σελίδας στην ενότητα "Κλειδιά πρόσβασης ροής". Κάθε φορά που δημιουργείτε μια ροή δεδομένων, αυτό το κλειδί πρόσβασης θα κατευθύνει αυτήν τη ροή δεδομένων στο λογαριασμό σας (οπότε μην μοιραστείτε το κλειδί σας με οποιονδήποτε).

Εκτελέστε το Παράδειγμα Εκτέλεση του δοκιμαστικού σεναρίου για να βεβαιωθείτε ότι μπορούμε να δημιουργήσουμε μια ροή δεδομένων στον λογαριασμό σας Αρχικής κατάστασης. Εκτελέστε τα ακόλουθα στη γραμμή εντολών:

$ python is_example.py

Παράδειγμα Δεδομένων

Επιστρέψτε στον αρχικό σας λογαριασμό στο πρόγραμμα περιήγησής σας. Ένας νέος κάδος δεδομένων που ονομάζεται "Παράδειγμα ροής Python" θα έπρεπε να έχει εμφανιστεί στα αριστερά στο ράφι του κάδου σας (ίσως χρειαστεί να ανανεώσετε τη σελίδα). Κάντε κλικ σε αυτόν τον κάδο για να δείτε τα δεδομένα.

Είστε τώρα έτοιμοι να ξεκινήσετε τη ροή πραγματικών δεδομένων από το API AirVisual.

Βήμα 4: Πίνακας ελέγχου ποιότητας αέρα

Πίνακας ελέγχου ποιότητας αέρα
Πίνακας ελέγχου ποιότητας αέρα
Πίνακας ελέγχου ποιότητας αέρα
Πίνακας ελέγχου ποιότητας αέρα
Πίνακας ελέγχου ποιότητας αέρα
Πίνακας ελέγχου ποιότητας αέρα
Πίνακας ελέγχου ποιότητας αέρα
Πίνακας ελέγχου ποιότητας αέρα

Τώρα για το διασκεδαστικό κομμάτι. Είμαστε έτοιμοι να αρχίσουμε να χρησιμοποιούμε το AirVisual API για να δημιουργήσουμε έναν πίνακα ελέγχου ποιότητας του αέρα και να καταγράψουμε τα δεδομένα της ατμοσφαιρικής ρύπανσης όπου και αν επιλέξουμε. Αυτό το σενάριο airquality.py καλεί απλώς το AirVisual API χρησιμοποιώντας το κλειδί API και ανακτά τις τρέχουσες πληροφορίες ρύπανσης του αέρα. Μεταφέρει επίσης αυτά τα δεδομένα στον λογαριασμό σας Αρχικής κατάστασης, ο οποίος θα σας επιτρέψει να δημιουργήσετε έναν πίνακα ελέγχου ποιότητας αέρα.

Μπορείτε να αποκτήσετε πρόσβαση στο σενάριο μέσω του αποθετηρίου Github που κλωνοποιήσαμε νωρίτερα. Το πρώτο πράγμα που πρέπει να κάνουμε είναι να βεβαιωθούμε ότι είμαστε στον κατάλογο AirVisual:

$ cd airvisual

Από εδώ, θα μπορείτε να έχετε πρόσβαση στο αρχείο python που θα εκτελέσουμε για να δημιουργήσουμε τον πίνακα ελέγχου ποιότητας αέρα. Πρέπει να κάνουμε κάποιες αλλαγές στο αρχείο πριν το εκτελέσουμε. Για να ανοίξετε το αρχείο python, χρησιμοποιήστε την εντολή nano για να ανοίξετε τον επεξεργαστή κειμένου:

$ nano airquality.py

Μόλις ανοίξει ο επεξεργαστής κειμένου, θα δείτε τα ακόλουθα στην κορυφή του σεναρίου σας:

# --------- Ρυθμίσεις χρήστη ---------

LATITUDE = "LAT" LONGITUDE = "LONG" AIRVISUAL_API_KEY = "AIR VISUAL API KEY" BUCKET_NAME = "Ποιότητα τοπικού αέρα" BUCKET_KEY = "aq1" ACCESS_KEY = "ΑΡΧΙΚΟ ΚΛΕΙΔΙ ΠΡΟΣΒΑΣΗΣ ΚΡΑΤΟΥΣ" MINUTES_BETWE = -------------------------

πρέπει να εισαγάγετε το γεωγραφικό πλάτος, το γεωγραφικό μήκος, το κλειδί API AirVisual και το κλειδί πρόσβασης αρχικής κατάστασης. Η παράμετρος MINUTES_BETWEEN_READS θα ορίσει πόσο συχνά το σενάριό σας θα κάνει δημοσκόπηση του API AirVisual για πληροφορίες σχετικά με την ποιότητα του αέρα. 5 λεπτά αρκετός χρόνος για να μην ξεπεράσετε τις 10.000 κλήσεις API ανά μήνα. Για λόγους βραχυπρόθεσμων δοκιμών, μπορείτε να το ορίσετε σε 0,5 λεπτά. Μόλις εισαγάγετε τις παραμέτρους σας, αποθηκεύστε και βγείτε από το κείμενο πληκτρολογώντας Control+X. Τώρα είστε έτοιμοι να εκτελέσετε το σενάριό σας:

$ python airquality.py

Εάν θέλετε να αφήσετε αυτό το σενάριο χωρίς διακοπή για μεγάλο χρονικό διάστημα, μπορείτε να χρησιμοποιήσετε την εντολή nohup (χωρίς κλείσιμο) ως εξής:

$ nohup python airquality.py &

Μόλις εκτελεστεί αυτό, μεταβείτε στην Αρχική κατάσταση για να δείτε τα δεδομένα σας. Ο πίνακας ελέγχου σας πρέπει να μοιάζει με την παρακάτω εικόνα. Έχετε τη θέση GPS, την τιμή του δείκτη ποιότητας του αέρα και τον κύριο ρύπο σας.

Η σύστασή μου θα ήταν να αλλάξετε την τιμή AQI σε πλακάκι μετρητή. Επίσης, μετακινήστε τα κεραμίδια και αλλάξτε το μέγεθος ανάλογα με τις ανάγκες. Εάν το χρησιμοποιείτε για ενσωματωμένο πίνακα ελέγχου, μπορείτε να τα μετακινήσετε για να ταιριάζουν ανάλογα με τις ανάγκες.

Εάν αποφασίσετε να κάνετε την τιμή AQI σας μετρητή, μπορείτε στη συνέχεια να ορίσετε το κατώφλι χρώματος να είναι παρόμοιο με το γράφημα δείκτη ποιότητας αέρα. Αυτό σας δίνει μια άμεση ενημέρωση για το πού πέφτει η τιμή AQI στο γράφημα όταν ελέγχετε τον πίνακα ελέγχου. Μπορείτε να προσθέσετε μια εικόνα φόντου στον πίνακα ελέγχου για να της δώσετε περισσότερο περιεχόμενο.

Έτσι έχετε όλα όσα χρειάζεστε για να δημιουργήσετε έναν πίνακα ελέγχου ποιότητας αέρα. Τι γίνεται όμως αν θέλετε να προσθέσετε περισσότερα ή να το προσθέσετε σε έναν πίνακα καιρού που έχετε ήδη δημιουργήσει; Εάν συμβαίνει αυτό, συνεχίστε να διαβάζετε!

Βήμα 5: Δημιουργήστε έναν Πίνακα Συνολικού Καιρού

Δημιουργήστε έναν Πίνακα ελέγχου συνολικού καιρού
Δημιουργήστε έναν Πίνακα ελέγχου συνολικού καιρού

Τα δεδομένα ποιότητας του αέρα δεν είναι αρκετά για εσάς; Λοιπόν, υπάρχουν πολλές επιλογές για να προσθέσετε περισσότερα στον πίνακα ελέγχου ή να μεταδώσετε αυτά τα δεδομένα σε έναν πίνακα καιρού που έχετε ήδη!

Μεταδώστε τον καιρό και την ποιότητα του αέρα σε έναν ενιαίο πίνακα ελέγχου

Εάν έχετε ήδη εφαρμόσει το έργο μας DarkSky API ή Hyper-Local Weather Dashboard, μπορείτε να προσθέσετε αυτά τα δεδομένα ποιότητας αέρα στον υπάρχοντα πίνακα ελέγχου σας. Είναι αρκετά απλό, το μόνο που χρειάζεται να κάνετε είναι να αλλάξετε τις παραμέτρους σας στο σενάριο ποιότητας αέρα για να έχετε το ίδιο όνομα κάδου, κλειδί κάδου και κλειδί πρόσβασης με αυτό που χρησιμοποιήσατε για τον πίνακα ελέγχου καιρού. Αυτό θα επιτρέψει την αποστολή των δεδομένων στον ίδιο πίνακα ελέγχου. Τώρα θα έχετε έναν συνολικό πίνακα καιρού!

Ζητήστε από το Weather Python File σας να πραγματοποιήσει μια κλήση για την εκτέλεση του αρχείου Python ποιότητας αέρα

Μια άλλη επιλογή εάν δεν θέλετε να εκτελέσετε δύο ξεχωριστά προγράμματα είναι να τοποθετήσετε το αρχείο python ποιότητας αέρα στον κατάλογο του έργου καιρού. Ζητήστε από το αρχείο python του έργου καιρού να πραγματοποιήσει μια κλήση στο αρχείο ποιότητας του αέρα, έτσι ώστε να εκτελείται όταν εκτελείται το αρχείο καιρού. Και πάλι, βεβαιωθείτε ότι έχετε τοποθετήσει το ίδιο όνομα κάδου, κλειδί κάδου και κλειδί πρόσβασης, ώστε να εκτελούνται στον ίδιο πίνακα ελέγχου.

Δημιουργήστε ένα ενιαίο αρχείο με ποιότητα καιρού και αέρα

Και αν αισθάνεστε πραγματικά τολμηροί, μπορείτε να βάλετε μέρος του κώδικα ποιότητας του αέρα στο σενάριο python καιρού και να έχετε μόνο ένα σενάριο για εκτέλεση. Θα απαιτήσει λίγο περισσότερη προσπάθεια κωδικοποίησης από τις άλλες δύο επιλογές, αλλά επιτυγχάνει ένα απλοποιημένο πρόγραμμα.

Μεταδώστε επιπλέον πληροφορίες από το API AirVisual

Όπως είδατε όταν κάναμε μια κλήση στο AirVisual API, έχει περισσότερες πληροφορίες από την ποιότητα του αέρα. Παρέχει επίσης θερμοκρασία, υγρασία, ταχύτητα ανέμου, κατεύθυνση ανέμου και ατμοσφαιρική πίεση. Μπορούμε να στείλουμε αυτές τις πληροφορίες στην αρχική κατάσταση με τον ίδιο τρόπο που στείλαμε την τιμή του δείκτη ποιότητας του αέρα και τον κύριο ρύπο. Απαιτεί μόνο να γράψετε μερικές ακόμη προτάσεις if.

Συνιστάται: