Sommario:

Crea una dashboard meteo utilizzando l'API Dark Sky: 5 passaggi (con immagini)
Crea una dashboard meteo utilizzando l'API Dark Sky: 5 passaggi (con immagini)

Video: Crea una dashboard meteo utilizzando l'API Dark Sky: 5 passaggi (con immagini)

Video: Crea una dashboard meteo utilizzando l'API Dark Sky: 5 passaggi (con immagini)
Video: Se Vedi Questo In Mare, Esci Subito! 😱 2024, Novembre
Anonim
Image
Image

Dark Sky è specializzato in previsioni e visualizzazioni del tempo. L'aspetto più interessante di Dark Sky è la loro API meteo che possiamo utilizzare per recuperare i dati meteorologici da quasi qualsiasi parte del mondo. Non solo il tempo è piovoso o soleggiato, ma la temperatura, il punto di rugiada, le raffiche di vento, l'umidità, le precipitazioni, la pressione, l'indice UV e altro ancora, tutto facilmente disponibile per dove vuoi, quando vuoi.

Impariamo come utilizzare l'API super-semplice di Dark Sky. Se sei nuovo nell'uso delle API, ti prometto che sarà davvero facile! E se hai usato le API prima di allora, spero che possiamo insegnarti qualcosa di nuovo con il codice che abbiamo usato.

Cosa ti servirà per questo progetto:

  • Account API Dark Sky
  • Conto di stato iniziale
  • Raspberry Pi o laptop

Passaggio 1: iniziare

Abbiamo già lavorato molto per te mettendo insieme il codice e organizzando le informazioni. Avremo solo bisogno che tu apporti alcune modifiche lungo il percorso. Se vuoi un po' di sfida, apporta alcune modifiche al nostro codice e ai dati meteorologici inviati, ci sono possibilità illimitate!

Per recuperare tutte le cose che abbiamo preparato per te, dovrai clonare il repository da GitHub. GitHub è un servizio che ci consente di archiviare, rivedere e gestire progetti come questo. Ti consigliamo di eseguire questo script su un dispositivo dedicato. Un Raspberry Pi è un'opzione perfetta per eseguire applicazioni come questo tutorial.

Per clonare il repository tutto ciò che dobbiamo fare è entrare nel terminale del nostro Pi, o nel terminale del tuo computer che è stato inserito in SSH nel tuo pi e digitare questo comando:

$ git clone

Premi invio e vedrai queste informazioni:

Clonazione in "darksky"…

remoto: Conteggio oggetti: 2, fatto. remoto: Totale 2 (delta 0), riutilizzato 0 (delta 0), pacchetto-riutilizzato 2 Disimballaggio degli oggetti: 100% (2/2), fatto. Controllo della connettività… fatto.

Quando lo vedi, congratulazioni, hai clonato con successo GitHub Repo e hai tutti i file necessari per creare questo progetto. Prima di passare al passaggio successivo, prendiamoci del tempo per esplorare questa directory e apprendere alcuni comandi di base della riga di comando.

Digita il comando seguente nel tuo terminale:

$ ls

Questo comando elenca tutto ciò che è disponibile nella directory in cui ti trovi attualmente. Questo elenco mostra che il nostro repository GitHub è stato clonato con successo nella nostra directory con il nome "darksky". Diamo un'occhiata a cosa c'è in quella directory. Per spostarti in una directory, tutto ciò che devi fare è digitare "cd" e quindi digitare il nome della directory in cui desideri andare.

In questo caso, digiteremo:

$ cd darksky

Una volta che premiamo invio, vedrai che ora siamo nella directory darksky. Digitiamo nuovamente "ls" per vedere quali file abbiamo installato sul nostro pi.

LEGGIMI.md darksky.py …

Qui vediamo che abbiamo il nostro documento readme e i file python. Diamo un'occhiata a darksky.py usando il comando "nano". Il comando nano ci permette di aprire l'editor di testo nano dove abbiamo tutto il nostro codice Python per ogni segmento di questo progetto. Vai avanti e digita:

$ nano darksky.py

Qui puoi vedere tutto il codice che abbiamo preparato per te per questo progetto. Non apporteremo ancora alcuna modifica a questo documento, ma sentiti libero di scorrere e vedere cosa faremo più avanti in questo tutorial.

Passaggio 2: utilizzo dell'API Dark Sky

Stato iniziale
Stato iniziale

Per utilizzare l'API Dark Sky, devi prima avere la tua chiave API. Non preoccuparti, ottenere una chiave API è rapido e gratuito. Tutto quello che devi fare è andare sul sito web e fare clic su "Prova gratis" per creare un account.

  • Ricevi 1.000 chiamate API gratuite ogni giorno. Ogni richiesta API oltre il limite giornaliero gratuito costa $ 0,0001.
  • Questo limite si reimposta automaticamente ogni giorno a mezzanotte UTC.
  • La richiesta di previsione restituisce le previsioni del tempo correnti per la settimana successiva.
  • La richiesta Time Machine restituisce le condizioni meteorologiche osservate o previste per una data nel passato o nel futuro.

La tua chiave API Dark Sky segreta sarà simile a questa: 0123456789abcdef9876543210fedcba.

Puoi effettuare una chiamata API a Dark Sky digitando un URL nel tuo browser nel seguente formato:

api.darksky.net/forecast/[chiave]/[latitudine], [longitudine]

Sostituisci "chiave" con la tua chiave API Dark Sky e longitudine/latitudine con quello che vuoi. Puoi trovare la tua longitudine e latitudine andando su Google Maps e cercando la tua posizione. Questi valori saranno nell'URL. Copia e incolla l'URL del cielo scuro sopra con la tua chiave di accesso e i valori aggiunti in una barra degli indirizzi.

Una volta fatto, vedrai qualcosa del genere:

day", "nearestStormDistance":57, "nearestStormBearing":15, "precipIntensity":0, "precipProbability":0, "temperature":53.9, "apparentTemperature":53.9, "dewPoint":29.59, "humidity":0.39, "pressione":1022.45, "windSpeed":3.87, "windGust":9.25, "windBearing":259, "cloudCover":0.01, "uvIndex":3, "visibility":7.8, "ozone":309.71}, "minutely":{"summary":"Libero per l'ora.", "icon":"clear-day", "data":[{"time":1550615280, "precipIntensity":0, "precipProbability":0 }, …

Può essere un po' travolgente e difficile da leggere, quindi quello che consiglio di fare è usare un formattatore JSON per rendere i dati più leggibili. Quando lo fai sarà simile a questo:

oggetto {9}

latitudine: 37.8267 longitudine: -122.4233 fuso orario: America/Los_Angeles attualmente {19} ora: 1550615286 sommario: Clear icona: clear-day più vicinoStormDistance: 57 più vicinoStormBearing: 15 precipIntensity: 0 precipProbabilità: 0 temperatura: 53.9 apparenteTemperatura: 53.9 dewPoint: 29.59 umidità 0,39 pressione: 1022,45 vento Velocità: 3,87 vento Raffica: 9,25 vento Portata: 259 nubiCopertura: 0,01 uvIndex: 3 visibilità: 7,8 ozono: 309,71

Hai appena effettuato una chiamata API! Vedi quanto è stato facile? Non dovevi nemmeno scrivere una sola riga di codice. Ora che hai imparato le API, possiamo passare alla parte di streaming dei dati.

Passaggio 3: stato iniziale

Vogliamo trasmettere tutti i nostri dati meteorologici a un servizio cloud e fare in modo che quel servizio trasformi i nostri dati in una bella dashboard a cui possiamo accedere dal nostro laptop o dispositivo mobile. I nostri dati hanno bisogno di una destinazione. Useremo lo stato iniziale come destinazione.

Passaggio 1: registrarsi per l'account di stato iniziale

Vai su https://iot.app.initialstate.com e crea un nuovo account. Ottieni una prova gratuita di 14 giorni e chiunque disponga di un indirizzo e-mail edu può registrarsi per un piano studenti gratuito.

Passaggio 2: installa ISStreamer

Installa il modulo Python stato iniziale sul tuo Raspberry Pi. Nel prompt dei comandi, esegui il seguente comando:

$ cd /home/pi/$ \curl -sSL https://get.initialstate.com/python -o - | sudo bash

Passaggio 3: fai un po' di AutomagicDopo il passaggio 2 vedrai qualcosa di simile al seguente output sullo schermo:

pi@raspberrypi ~ $ \curl -sSL https://get.initialstate.com/python -o - | sudo bashPassword: inizio dell'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 ti viene chiesto se vuoi ottenere automaticamente uno script di esempio, metti "y" per sì e premi invio per salvare lo script nella posizione predefinita. Per la domanda su quale app stai utilizzando, seleziona 2 (a meno che non ti sia registrato prima di novembre 2018) e inserisci nome utente e password.

Passaggio 4: eseguire lo script di esempio

Esegui lo script di prova per assicurarci di poter creare un flusso di dati sul tuo account Stato iniziale. Scrivi il seguente comando:

$ python è_esempio.py

Passaggio 6: 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 nel tuo scaffale di registro (potrebbe essere necessario aggiornare la pagina). Fai clic su questo bucket per visualizzare i tuoi dati.

Passaggio 4: cruscotto del tempo del cielo scuro

Cruscotto meteo cielo scuro
Cruscotto meteo cielo scuro

Adesso per la parte divertente. Siamo pronti per iniziare a utilizzare l'API Dark Sky per creare una dashboard meteo e acquisire la cronologia meteo per la posizione che scegliamo. Per fare ciò, utilizzeremo lo script Python: https://github.com/initialstate/darksky/blob/master/darksky.py. Questo script chiama semplicemente l'API Dark Sky usando la tua chiave API e recupera le informazioni meteo in un intervallo di tempo specificato. Trasmette anche quei dati al tuo account Stato iniziale, che ti consentirà di creare una dashboard meteo Dark Sky.

Puoi copiare questo script sul tuo Pi o accedervi tramite il repository GitHub che abbiamo clonato in precedenza. Puoi farlo cambiando nella tua directory darksky digitando:

$ cd darksky

Da qui, sarai in grado di accedere al file python che eseguiremo per creare la nostra dashboard meteo. Prima di eseguirlo, è necessario impostare i parametri desiderati e inserire le chiavi. Nano nel file darksky.py digitando:

$ nano darksky.py

Quindi modifica la sezione vicino alla parte superiore dello script:

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

CITY = "Nashville" GPS_COORDS = "36.1628414, -86.780199" DARKSKY_API_KEY = "METTI QUI LA TUA CHIAVE API DARK SKY" BUCKET_NAME = ":partly_sunny: " + CITY + " Weather" BUCKET_KEY = "ds1" ACCESS_KEY = "PORRE IL TUO ACCESSO INIZIALE CHIAVE QUI" MINUTI_BETWEEN_READS = 15 # ----------------------------------

È necessario impostare le coordinate GPS desiderate e il nome della città. Devi anche inserire la tua chiave API Dark Sky e la tua chiave di accesso all'account Stato iniziale o i tuoi dati non andranno da nessuna parte. Il parametro MINUTES_BETWEEN_READS imposterà la frequenza con cui lo script eseguirà il polling dell'API Dark Sky per le informazioni meteorologiche. 15 minuti forniscono un piacevole intervallo a lungo termine. Per motivi di test a breve termine, è possibile impostarlo su 0,5 minuti. Apporta le modifiche, quindi inserisci Ctrl+X per uscire e salvare.

Una volta impostati i parametri, sei pronto per eseguire lo script:

$ python darksky.py

Se stai entrando nel tuo Pi e vuoi lasciare questo script in esecuzione ininterrotta per molto tempo, puoi usare il comando nohup (nessun riaggancio) come segue:

$ nohup python darksky.py &

Questo script farà un po' di più che leggere i dati meteorologici e inviarli allo stato iniziale. Questo script trarrà vantaggio dal supporto emoji integrato negli strumenti di Stato iniziale per rendere la dashboard un po' più interessante. Puoi vedere la logica utilizzata per prendere lo stato del tempo dall'icona attualmente -> e convertirlo in un token emoji nella funzione weather_icon. Qualcosa di simile accade per la fase lunare nella funzione moon_icon e la direzione del vento nella funzione wind_dir_icon.

Passaggio 5: conclusione

Conclusione
Conclusione
Conclusione
Conclusione

Vai al tuo account Stato iniziale e guarda i tuoi dati. Ho cambiato tutti i miei valori percentuali in indicatori ad arco, le precipitazioni in un indicatore di liquido e la temperatura in un indicatore di temperatura. Puoi passare a qualsiasi tipo di tipo di riquadro e scegliere i colori per gli indicatori e i grafici a linee. Puoi rendere la tua dashboard scura o chiara e incorporare il prodotto finale in un sito Web utilizzando un iFrame incorporato.

Se desideri utilizzare il layout del dashboard da una condivisione pubblica come dashboard, puoi importare un layout nel bucket di dati seguendo le istruzioni qui. Puoi aggiungere un'immagine di sfondo alla tua dashboard per darle più contesto.

L'URL di condivisione pubblica per la nostra dashboard è

Ora che hai padroneggiato l'API Dark Sky, le possibilità sono infinite! C'è una quantità illimitata di API gratuite online da esplorare, quindi inizia.

Consigliato: