Sommario:
- Passaggio 1: iniziare
- Passaggio 2: utilizzo dell'API Dark Sky
- Passaggio 3: stato iniziale
- Passaggio 4: cruscotto del tempo del cielo scuro
- Passaggio 5: conclusione
Video: Crea una dashboard meteo utilizzando l'API Dark Sky: 5 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
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
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
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
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:
(Progetto IOT) Ottieni dati meteo utilizzando ESP8266 e API Openweather: 5 passaggi
(Progetto IOT) Ottieni dati meteorologici utilizzando ESP8266 e API Openweather: in questo istruibile creeremo un semplice progetto IOT in cui recuperare i dati meteorologici della nostra città da openweather.com/api e visualizzarli utilizzando il software di elaborazione
Dark Sky API PyPortal e dashboard meteo: 6 passaggi
Dark Sky API PyPortal & Weather Dashboard: questo progetto è una versione di uno che abbiamo già fatto, la Dark Sky API Weather Dashboard. Questa volta invece di un Raspberry Pi, utilizzeremo un Adafruit PyPortal per visualizzare i dati meteo e inviare tali dati allo stato iniziale. Due dashboard per il lavoro di uno
Crea una torcia a LED o una luce notturna Joule Thief riciclando una fotocamera usa e getta Kodak.: 11 passaggi (con immagini)
Crea una torcia LED o una luce notturna Joule Thief riciclando una fotocamera usa e getta Kodak.: Dopo aver visto le informazioni sui driver LED Joule Thief su Internet, ho deciso di provare a realizzarli. Dopo aver ottenuto alcune unità funzionanti, ho iniziato a sperimentare (come faccio di solito) con diverse fonti di parti da oggetti che posso riciclare. Ho scoperto che t
Tessuto conduttivo: crea circuiti flessibili utilizzando una stampante a getto d'inchiostro.: 4 passaggi (con immagini)
Tessuto conduttivo: crea circuiti flessibili utilizzando una stampante a getto d'inchiostro: i circuiti estremamente flessibili e quasi trasparenti possono essere realizzati utilizzando tessuti conduttivi. Ecco alcuni degli esperimenti che ho fatto con i tessuti conduttivi. Possono essere verniciati o disegnati con resist e quindi incisi come un circuito stampato standard. C
Crea una ciotola artistica da una bottiglia di animali domestici: 5 passaggi (con immagini)
Crea una ciotola artistica da una bottiglia per animali domestici: il PET è polietilene tereftalato, che è un polimero termoplastico. Può essere riformato mediante riscaldamento. Dopo il processo di riscaldamento, diventa più rigido, rigido, resistente e vetroso. Diventa ancora più forte e cristallizzato quando viene perforato. Questo si è riformato