Sommario:

Pannello di controllo dell'API AirVisual per la qualità dell'aria: 5 passaggi
Pannello di controllo dell'API AirVisual per la qualità dell'aria: 5 passaggi

Video: Pannello di controllo dell'API AirVisual per la qualità dell'aria: 5 passaggi

Video: Pannello di controllo dell'API AirVisual per la qualità dell'aria: 5 passaggi
Video: Controllo totale dell'arnia a distanza! | Melixa System 2024, Dicembre
Anonim
Image
Image

AirVisual (https://www.airvisual.com) è un sito Web che fornisce dati sulla qualità dell'aria in tutto il mondo. Hanno un'API che utilizzeremo per ottenere dati sulla qualità dell'aria da inviare a una dashboard. Interagiremo con questa API in modo simile a come abbiamo fatto con la dashboard meteo.

Questo è un progetto semplice che ti insegna come utilizzare un'API. Iniziamo!

Passaggio 1: iniziare

API AirVisual
API AirVisual

Abbiamo già messo insieme la maggior parte del codice, ma dovrai apportare alcune modifiche lungo il percorso. Ci sono anche molte opportunità per espandere ciò che abbiamo fatto.

Per recuperare tutte le cose che abbiamo preparato per te, dovrai clonare il repository da GitHub. GitHub è un servizio fantastico che ci consente di archiviare, rivedere e gestire progetti come questo. Ti consigliamo di eseguire questo script su un dispositivo dedicato. Puoi usare un laptop, un Raspberry Pi o un altro computer a scheda singola. Per clonare il repository tutto ciò che dobbiamo fare è entrare nel terminale del nostro computer o di Pi e digitare questo comando:

$ git clone

Premi invio e vedrai queste informazioni:

$ git clone https://github.com/InitialState/airvisual.git Clonazione in 'airvisual'… remote: Enumerazione di oggetti: 13, completata. remoto: Conteggio oggetti: 100% (13/13), fatto. remoto: Compressione di oggetti: 100% (12/12), fatto. remoto: Totale 13 (delta 2), riutilizzato 0 (delta 0), pacchetto riutilizzato 0 Disimballaggio degli oggetti: 100% (13/13), fatto.

Quando lo vedi, congratulazioni, hai clonato con successo GitHub Repo e hai tutti i file necessari per creare questo progetto. Passiamo alla nuova directory. Per cambiare directory, tutto ciò che devi fare è digitare "cd" e quindi digitare il nome della directory in cui desideri andare. In questo caso, digiteremo:

$ cd airvisual

Una volta che premiamo invio, vedrai che ora siamo nella directory airvisual. Digitiamo "ls" per vedere quali file abbiamo installato. Dovresti sembrare qualcosa come segue:

LICENZA README.md airquality.py

Abbiamo bisogno di altri elementi prima di poter modificare il codice, quindi diamo un'occhiata all'API della qualità dell'aria in seguito.

Passaggio 2: API AirVisual

API AirVisual
API AirVisual
API AirVisual
API AirVisual

AirVisual ha un'API per la qualità dell'aria (AQI) e l'inquinamento che consente fino a 10.000 chiamate API al mese gratuitamente. Puoi iscriverti al livello Community. Dopo esserti registrato, puoi andare su My Air e sulla scheda API. È qui che troverai le tue chiavi API e la documentazione sull'API.

Fai clic sul pulsante +Nuova chiave per creare la nostra prima chiave di accesso API. Per Seleziona piano, usa il menu a discesa per selezionare Community e fai clic su Crea. Se tutto va bene, vedrai un messaggio di successo e potrai tornare alla dashboard dell'API per trovare le nuove informazioni chiave. Il valore della chiave (numeri e caratteri) è ciò di cui avrai bisogno per questo progetto. Se esamini la documentazione API vedrai che ci sono più tipi di chiamate API che puoi effettuare. Per questo progetto vogliamo ottenere i dati della città più vicina in base alle coordinate GPS. Per questa chiamata avrai bisogno della tua longitudine, latitudine e chiave API. Inserisci questi parametri nella chiamata di seguito, inseriscili in una barra degli indirizzi sul tuo browser e premi invio.

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

Ciò restituirà i dati della città più vicina in base alle coordinate GPS. Sarà simile a questo:

Consiglio di utilizzare un formattatore JSON per ottenere una migliore visualizzazione dei dati. Se lo usi, sembrerà un po' così:

"stato": "successo", "data":{ "city":"Nashville", "state":"Tennessee", "country":"USA", "location":{ "type":"Punto", "coordinate":[-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}, "pollution":{ "ts":"2019-04-08T18:00:00.000Z", "aqius":10, "mainus":"p2", "aqicn": 3, "maincn":"p2"}

Possiamo facilmente vedere ora che abbiamo informazioni su posizione, tempo atmosferico e inquinamento. I due valori su cui ci concentriamo per questo progetto sono l'Air Quality Index US (aquis) e il Main Pollutant (mainus). Il valore dell'indice di qualità dell'aria ci dice qual è il valore della qualità dell'aria locale e in che modo questo riguarda la tua salute. La tabella con codice colore è sotto. L'inquinante principale ci dice qual è l'inquinante principale nell'aria per la tua zona (particolato, ossido di azoto, ozono, monossido di carbonio, ossido di zolfo). Questi inquinanti sono in genere sottoprodotti di ciminiere o emissioni dei veicoli.

Ora che sappiamo come utilizzare l'API Air Visual, la prossima cosa di cui avremo bisogno è una piattaforma dashboard per visualizzare i dati.

Passaggio 3: stato iniziale

Stato iniziale
Stato iniziale
Stato iniziale
Stato iniziale

Vogliamo trasmettere in streaming tutti i nostri dati meteorologici a un servizio cloud e fare in modo che quel servizio trasformi i nostri dati in una bella dashboard. I nostri dati necessitano di una destinazione, quindi utilizzeremo Stato iniziale come destinazione.

Registrati per il conto dello stato iniziale

Vai su https://iot.app.initialstate.com e crea un nuovo account.

Installa ISStreamer

Installa il modulo Python stato iniziale sul tuo laptop o Raspberry Pi. Al prompt dei comandi, eseguire il seguente comando:

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

Fai un po' di Automagic

Dopo aver eseguito il comando curl, vedrai qualcosa di simile al seguente output sullo schermo:

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

Password: inizia l'installazione facile di ISStreamer Python! L'installazione potrebbe richiedere un paio di minuti, prendi un caffè:) Ma non dimenticare di tornare, avrò domande più tardi! Trovato easy_install: setuptools 1.1.6 Trovato pip: pip 1.5.6 da /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 trovato, aggiornamento… Requisito già aggiornato: ISStreamer in /Library/Python/2.7/site-packages Pulizia… Vuoi ottenere automaticamente uno script di esempio? [y/N] Dove vuoi salvare l'esempio? [predefinito:./is_example.py] Seleziona quale app stato iniziale stai utilizzando: 1. app.initialstate.com 2. [NOVITÀ!] iot.app.initialstate.com Inserisci la scelta 1 o 2: inserisci iot.app Nome utente.initialstate.com: Inserisci la password iot.app.initialstate.com:

Quando viene richiesto di ottenere automaticamente uno script di esempio, digitare y. Questo creerà uno script di test che possiamo eseguire per assicurarci di poter trasmettere i dati allo stato iniziale. Il prompt successivo ti chiederà dove vuoi salvare il file di esempio. Puoi digitare un percorso locale personalizzato o premere invio per accettare la posizione predefinita. Infine, ti verrà chiesto quale app Stato iniziale stai utilizzando. Se hai creato un account di recente, seleziona l'opzione 2, quindi inserisci nome utente e password. Dopo che l'installazione sarà completa.

Chiavi di accesso

Diamo un'occhiata allo script di esempio che è stato creato. $ nano is_example.py Sulla riga 15, vedrai una riga che inizia con streamer = Streamer(bucket_ …. Questa riga crea un nuovo bucket di dati chiamato "Python Stream Example" ed è associato al tuo account. Questa associazione avviene a causa del access_key="…" parametro su quella stessa riga. Quella lunga serie di lettere e numeri è la chiave di accesso al tuo account di stato iniziale. Se vai al tuo account di stato iniziale nel tuo browser web, fai clic sul tuo nome utente in alto a destra, quindi vai in "Le mie impostazioni", troverai la stessa chiave di accesso nella parte inferiore della pagina sotto "Chiavi di accesso allo streaming". Ogni volta che crei un flusso di dati, quella chiave di accesso indirizzerà quel flusso di dati al tuo account (quindi non condividi la tua chiave con chiunque).

Esegui l'esempioEsegui lo script di test per assicurarci di poter creare un flusso di dati sul tuo account Stato iniziale. Esegui quanto segue nel prompt dei comandi:

$ python è_esempio.py

Dati di esempio

Torna al tuo account di stato iniziale nel tuo browser web. Un nuovo bucket di dati chiamato "Python Stream Example" dovrebbe essere visualizzato a sinistra nello scaffale del bucket (potrebbe essere necessario aggiornare la pagina). Fare clic su questo bucket per visualizzare i dati.

Ora sei pronto per iniziare a trasmettere dati reali dall'API AirVisual.

Passaggio 4: dashboard della qualità dell'aria

Cruscotto della qualità dell'aria
Cruscotto della qualità dell'aria
Cruscotto della qualità dell'aria
Cruscotto della qualità dell'aria
Cruscotto della qualità dell'aria
Cruscotto della qualità dell'aria
Cruscotto della qualità dell'aria
Cruscotto della qualità dell'aria

Adesso per la parte divertente. Siamo pronti per iniziare a utilizzare l'API AirVisual per creare un dashboard sulla qualità dell'aria e acquisire i dati sull'inquinamento atmosferico ovunque desideriamo. Questo script airquality.py chiama semplicemente l'API AirVisual utilizzando la tua chiave API e recupera le informazioni correnti sull'inquinamento atmosferico. Trasmette anche quei dati al tuo account di stato iniziale, che ti consentirà di creare un dashboard per la qualità dell'aria.

Puoi accedere allo script tramite il repository Github che abbiamo clonato in precedenza. La prima cosa che dobbiamo fare è assicurarci di essere nella directory AirVisual:

$ cd airvisual

Da qui, sarai in grado di accedere al file python che eseguiremo per creare la nostra dashboard per la qualità dell'aria. Dobbiamo apportare alcune modifiche al file prima di eseguirlo. Per aprire il file python, usa il comando nano per aprire l'editor di testo:

$ nano airquality.py

Una volta aperto l'editor di testo, vedrai quanto segue nella parte superiore dello script:

# --------- Impostazioni utente ---------

LATITUDE = "LAT" LONGITUDE = "LONG" AIRVISUAL_API_KEY = "CHIAVE API AIR VISUAL" BUCKET_NAME = "Qualità dell'aria locale" BUCKET_KEY = "aq1" ACCESS_KEY = "CHIAVE DI ACCESSO ALLO STATO INIZIALE" MINUTES_BETWEEN_READS = 5 # ------ -----------

È necessario inserire la latitudine, la longitudine, la chiave API AirVisual e la chiave di accesso allo stato iniziale. Il parametro MINUTES_BETWEEN_READS imposterà la frequenza con cui lo script eseguirà il polling dell'API AirVisual per le informazioni sulla qualità dell'aria. 5 minuti sufficienti per non superare il limite di 10.000 chiamate API al mese. Per motivi di test a breve termine, è possibile impostarlo su 0,5 minuti. Una volta inseriti i parametri, salva ed esci dal testo digitando Ctrl+X. Ora sei pronto per eseguire il tuo script:

$ python airquality.py

Se vuoi lasciare questo script in esecuzione ininterrotta per un lungo periodo, puoi usare il comando nohup (nessun riaggancio) come segue:

$ nohup python airquality.py &

Una volta che questo è in esecuzione, vai a Stato iniziale per visualizzare i tuoi dati. La tua dashboard dovrebbe assomigliare all'immagine qui sotto. Hai la tua posizione GPS, il valore dell'indice di qualità dell'aria e il tuo principale inquinante.

La mia raccomandazione sarebbe di cambiare il tuo valore AQI in una tessera di misura. Inoltre, sposta le tessere e ridimensionale secondo necessità. Se lo stai utilizzando per una dashboard incorporata, puoi spostarli per adattarli secondo necessità.

Se decidi di rendere il tuo valore AQI un indicatore, puoi impostare la soglia del colore in modo che sia simile al grafico dell'indice di qualità dell'aria. Questo ti dà un aggiornamento istantaneo su dove cade il valore AQI sul grafico quando controlli la tua dashboard. Puoi aggiungere un'immagine di sfondo alla tua dashboard per darle più contesto.

Quindi hai tutto il necessario per creare un dashboard per la qualità dell'aria. Ma cosa succede se vuoi aggiungere altro o aggiungerlo a una dashboard meteo che hai già creato? Se è così, continua a leggere!

Passaggio 5: crea un dashboard meteo totale

Crea una dashboard meteo totale
Crea una dashboard meteo totale

I dati sulla qualità dell'aria non sono sufficienti per te? Bene, ci sono molte opzioni per aggiungere altro alla tua dashboard o trasmettere questi dati in una dashboard meteo che hai già!

Trasmetti in streaming meteo e qualità dell'aria in un'unica dashboard

Se hai già implementato la nostra API DarkSky o il progetto Hyper-Local Weather Dashboard, puoi aggiungere questi dati sulla qualità dell'aria alla tua dashboard esistente. È piuttosto semplice, tutto ciò che devi fare è modificare i parametri nello script della qualità dell'aria in modo che abbiano lo stesso nome del secchio, chiave del secchio e chiave di accesso di quelli che hai usato per la dashboard del tempo. Ciò consentirà l'invio dei dati nella stessa dashboard. Ora avrai una dashboard meteo totale!

Fai in modo che il tuo file Python del tempo faccia una chiamata per eseguire il file Python della qualità dell'aria

Un'altra opzione se non vuoi eseguire due programmi separati è mettere il file python della qualità dell'aria nella directory del progetto meteo. Chiedi al file python del progetto meteo di effettuare una chiamata al file della qualità dell'aria in modo che venga eseguito quando il file meteo è in esecuzione. Ancora una volta, assicurati di inserire lo stesso nome del bucket, la chiave del bucket e la chiave di accesso in modo che vengano eseguiti sullo stesso dashboard.

Crea un singolo file con sia il tempo che la qualità dell'aria

E se ti senti davvero audace, puoi inserire parte del codice della qualità dell'aria nel tuo script python meteo e avere solo un singolo script da eseguire. Richiederà un po' più di sforzo di codifica rispetto alle altre due opzioni, ma rende il programma semplificato.

Streaming di informazioni aggiuntive dall'API AirVisual

Come hai visto quando abbiamo chiamato l'API AirVisual, contiene più informazioni oltre alla semplice qualità dell'aria. Fornisce anche temperatura, umidità, velocità del vento, direzione del vento e pressione atmosferica. Possiamo inviare tali informazioni allo stato iniziale nello stesso modo in cui abbiamo inviato il valore dell'indice di qualità dell'aria e il principale inquinante. Richiede solo di scrivere alcune istruzioni if in più.

Consigliato: