Taula de continguts:

Creeu un tauler de temps amb l'API Dark Sky: 5 passos (amb imatges)
Creeu un tauler de temps amb l'API Dark Sky: 5 passos (amb imatges)

Vídeo: Creeu un tauler de temps amb l'API Dark Sky: 5 passos (amb imatges)

Vídeo: Creeu un tauler de temps amb l'API Dark Sky: 5 passos (amb imatges)
Vídeo: Джулиан Трежер: Как говорить так, чтобы другим хотелось слушать 2024, De novembre
Anonim
Image
Image

Dark Sky està especialitzat en predicció i visualització del temps. L’aspecte més fresc de Dark Sky és la seva API meteorològica que podem utilitzar per recuperar les dades meteorològiques de gairebé qualsevol lloc del món. No només el temps és plujós o assolellat, sinó la temperatura, el punt de rosada, les ratxes de vent, la humitat, les precipitacions, la pressió, l’índex UV i molt més.

Aprenem a utilitzar l'API súper senzilla de Dark Sky. Si no utilitzeu l'API, us prometo que serà molt fàcil. I si abans heu utilitzat API, espero que us puguem ensenyar alguna cosa nova amb el codi que hem utilitzat.

Què necessitareu per a aquest projecte:

  • Compte de l'API Dark Sky
  • Compte estatal inicial
  • Raspberry Pi o portàtil

Pas 1: Introducció

Ja us hem dedicat molta feina a la confecció del codi i a l’organització de la informació. Només necessitarem que feu alguns ajustos al llarg del camí. Si voleu un desafiament, feu alguns canvis al nostre codi i quines dades meteorològiques s’envien, hi ha possibilitats il·limitades.

Per recuperar totes les coses que us hem preparat, haureu de clonar el dipòsit de GitHub. GitHub és un servei que ens permet emmagatzemar, revisar i gestionar projectes com aquest. Voldreu executar aquest script en un dispositiu dedicat. Un Raspberry Pi és una opció perfecta per executar aplicacions com aquest tutorial.

Per clonar el dipòsit, tot el que hem de fer és entrar al terminal del nostre Pi o al terminal del vostre ordinador SSH al vostre pi i escriure aquesta ordre:

$ git clone

Feu clic a Intro i veureu aquesta informació:

Clonació en 'darksky' …

remot: Comptant objectes: 2, fet. remot: Total 2 (delta 0), reutilització 0 (delta 0), reutilització del paquet 2 Desembalatge d'objectes: 100% (2/2), fet. S'està comprovant la connectivitat … fet.

Un cop ho veieu, enhorabona, heu clonat correctament el repositori de GitHub i teniu tots els fitxers necessaris per crear aquest projecte. Abans de passar al següent pas, dediquem una estona a explorar aquest directori i aprenem algunes ordres bàsiques de la línia d’ordres.

Escriviu l'ordre següent al vostre terminal:

$ ls

Aquesta ordre enumera tot el que hi ha disponible al directori on esteu actualment. Aquesta llista mostra que el nostre repositori de GitHub s'ha clonat amb èxit al nostre directori amb el nom de "darksky". Fem una ullada al contingut d’aquest directori. Per passar a un directori, només cal que escriviu “cd” i, a continuació, escriviu el nom del directori al qual voleu anar.

En aquest cas, escriurem:

$ cd darksky

Quan premem Intro, veureu que ara som al directori darksky. Tornem a escriure "ls" per veure quins fitxers hem instal·lat al nostre pi.

README.md darksky.py …

Aquí veiem el document Llegiu-me i els fitxers python. Fem una ullada a darksky.py mitjançant l'ordre "nano". L'ordre nano ens permet obrir l'editor de text nano on tenim tot el nostre codi python per a cada segment d'aquest projecte. Endavant i escriviu:

$ nano darksky.py

Aquí podeu veure tot el codi que us hem preparat per a aquest projecte. Encara no farem cap canvi en aquest document, però no dubteu a desplaçar-vos per veure què farem més endavant en aquest tutorial.

Pas 2: utilitzar l'API Dark Sky

Estat inicial
Estat inicial

Per utilitzar l'API Dark Sky, primer necessiteu la vostra pròpia clau d'API. No us preocupeu, obtenir una clau API és ràpida i gratuïta. Tot el que heu de fer és anar al lloc web i fer clic a "Prova gratuïtament" per crear un compte.

  • Rebeu 1.000 trucades API de franc cada dia. Totes les sol·licituds de l'API que superin el límit diari gratuït costen 0,0001 USD.
  • Aquest límit es restableix automàticament cada dia a mitjanit UTC.
  • La sol·licitud de previsió retorna la previsió meteorològica actual per a la propera setmana.
  • La sol·licitud de màquina del temps retorna les condicions meteorològiques observades o previstes per a una data passada o futura.

La clau secreta de l'API Dark Sky tindrà un aspecte semblant a aquest: 0123456789abcdef9876543210fedcba.

Podeu fer una trucada API a Dark Sky escrivint una URL al navegador en el format següent:

api.darksky.net/forecast/[key]/[latitude], [longitud]

Substitueix "clau" per la clau de l'API Dark Sky i la longitud / latitud pel que vulguis. Podeu trobar la vostra longitud i latitud si aneu a Google Maps i cerqueu la vostra ubicació. Aquests valors es mostraran a l'URL. Copieu i enganxeu l'URL del cel fosc anterior amb la clau d'accés i els valors afegits a la barra d'adreces.

Un cop ho feu, veureu alguna cosa així:

dia "," DistànciaTempestaDeTemps ": 57," TempestaDireccióPropera ": 15," Intensitat de precipitació ": 0," Probabilitat de precipitació ": 0," temperatura ": 53,9," Temperatura aparent ": 53,9," Punt de rosada ": 29,59," humitat ": 0,39, "pressió": 1022,45, "windSpeed": 3,87, "windGust": 9,25, "windBearing": 259, "cloudCover": 0,01, "uvIndex": 3, "visibilitat": 7,8, "ozó": 309,71}, "minutely": {"summary": "Clar per hora.", "icon": "dia clar", "data": [{"time": 1550615280, "precipIntensity": 0, "precipProbability": 0 }, …

Pot ser una mica aclaparador i difícil de llegir, així que el que recomano fer és utilitzar un formatador JSON per ajudar a fer que les dades siguin més llegibles. Quan feu això, es veurà així:

objecte {9}

latitud: 37.8267 longitud: -122.4233 zona horària: America / Los_Angeles actualment {19} hora: 1550615286 resum: icona clara: dia clar més properTempestaDistància: 57 més pròximaTempesta Tenint: 15 precipIntensitat: 0 precipProbabilitat: 0 temperatura: 53,9 Temperatura aparent: 53,9 punt de rosada: 29,59 humitat: 0,39 pressió: 1022,45 vent Velocitat: 3,87 vent Bo: 9,25 vent Tenint: 259 núvol Coberta: 0,01 uv Índex: 3 visibilitat: 7,8 ozó: 309,71

Acabeu de fer una trucada a l'API. Veieu el fàcil que era? Ni tan sols calia escriure cap línia de codi. Ara que heu dominat les API, podem passar a la part de transmissió de dades.

Pas 3: estat inicial

Volem transmetre totes les nostres dades meteorològiques a un servei al núvol i que aquest servei converteixi les nostres dades en un bonic tauler al qual puguem accedir des del nostre ordinador portàtil o dispositiu mòbil. Les nostres dades necessiten una destinació. Utilitzarem l’Estat inicial com a destinació.

Pas 1: registreu-vos al compte estatal inicial

Aneu a https://iot.app.initialstate.com i creeu un compte nou. Obteniu una prova gratuïta de 14 dies i tothom que tingui una adreça de correu electrònic edu es pot inscriure a un pla d'estudiant gratuït.

Pas 2: instal·leu ISStreamer

Instal·leu el mòdul Initial State Python al vostre Raspberry Pi. A l'indicador d'ordres, executeu l'ordre següent:

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

Pas 3: Feu una mica d’Automagic Després del pas 2, veureu una cosa similar a la següent sortida a la pantalla:

pi @ raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o - | sudo bashPassword: Començant la instal·lació fàcil d'ISStreamer Python! Això pot trigar uns quants minuts a instal·lar-se, prendre un cafè:) Però no oblideu tornar, ja que tindré preguntes més endavant. Trobat easy_install: setuptools 1.1.6 Trobat pip: pip 1.5.6 de /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) versió major pip: 1 versió pip menor: 5 ISStreamer trobat, actualitzant-se … Requisit ja actualitzat: ISStreamer a /Library/Python/2.7/site-packages Neteja … Voleu obtenir automàticament un exemple de script? [Sí / N] On voleu desar l'exemple? [predeterminat:./is_example.py] Seleccioneu l'aplicació Estat inicial que utilitzeu: 1. app.initialstate.com 2. [NOU!] iot.app.initialstate.com Introduïu l'opció 1 o 2: Introduïu iot.app Nom d'usuari de.initialstate.com: Introduïu la contrasenya iot.app.initialstate.com:

Quan se us demani si voleu obtenir automàticament un exemple de script, poseu "y" per sí i premeu Retorn per desar el script a la ubicació predeterminada. Per a la pregunta sobre quina aplicació utilitzeu, seleccioneu 2 (tret que us hàgiu registrat abans de novembre de 2018) i introduïu el vostre nom d'usuari i contrasenya.

Pas 4: executeu el script d’exemple

Executeu l'script de prova per assegurar-vos que podem crear un flux de dades al vostre compte d'estat inicial. Escriviu l'ordre següent:

$ python és_exemple.py

Pas 6: Dades d'exemple

Torneu al vostre compte d’estat inicial al navegador web. A la part esquerra del prestatge de registre s’hauria d’haver aparegut un nou dipòsit de dades anomenat “Exemple de corrent de Python” (és possible que hagueu d’actualitzar la pàgina). Feu clic en aquest dipòsit per veure les vostres dades.

Pas 4: Tauler meteorològic Dark Sky

Tauler meteorològic Dark Sky
Tauler meteorològic Dark Sky

Ara per la part divertida. Estem preparats per començar a utilitzar l'API Dark Sky per crear un tauler meteorològic i capturar l'historial meteorològic de la ubicació que triem. Per fer-ho, utilitzarem l’escriptura Python: https://github.com/initialstate/darksky/blob/master/darksky.py. Aquest script simplement crida a l'API Dark Sky mitjançant la vostra clau API i recupera la informació meteorològica en un interval de temps especificat. També transmet aquestes dades al vostre compte d’estat inicial, cosa que us permetrà crear un tauler meteorològic Dark Sky.

Podeu copiar aquest script al vostre Pi o accedir-hi a través del dipòsit de GitHub que vam clonar anteriorment. Podeu fer-ho canviant al vostre directori darksky escrivint:

$ cd darksky

A partir d’aquí podreu accedir al fitxer python que executarem per crear el nostre tauler meteorològic. Abans d’executar-lo, heu d’establir els paràmetres desitjats i inserir les claus. Nano al fitxer darksky.py escrivint:

$ nano darksky.py

A continuació, editeu la secció a prop de la part superior de l'script:

# --------- Configuració de l'usuari ---------

CITY = "Nashville" GPS_COORDS = "36.1628414, -86.780199" DARKSKY_API_KEY = "COL·LOCA LA CLAU DE L'API DE CEL FOSC AQUÍ" BUCKET_NAME = ": partial_sunny:" + CITY + "Weather" BUCKET_KEY = "ds1" ACCESS_KEY IN "PLACE CLAU AQUÍ "MINUTES_BETWEEN_READS = 15 # ---------------------------------

Heu d’establir les coordenades GPS i el nom de la ciutat desitjats. També heu d’inserir la vostra clau d’API Dark Sky i la vostra clau d’accés al compte d’estat inicial o les vostres dades no aniran enlloc. El paràmetre MINUTES_BETWEEN_READS establirà la freqüència amb què el vostre script sondejarà l'API Dark Sky per obtenir informació meteorològica. 15 minuts proporciona un bon interval a llarg termini. Per fer proves a curt termini, podeu establir-lo en 0,5 minuts. Feu els canvis i introduïu control + X per sortir i desar.

Un cop hàgiu definit els paràmetres, ja podreu executar el vostre script:

$ python darksky.py

Si esteu explorant el vostre Pi i voleu deixar aquest script en execució ininterromput durant molt de temps, podeu utilitzar l'ordre nohup (sense penjar) de la següent manera:

$ nohup python darksky.py &

Aquest script farà una mica més que llegir les dades meteorològiques i enviar-les a l'estat inicial. Aquest script aprofitarà el suport d’emoji incorporat a les eines d’Inicial State per fer el tauler una mica més fresc. Podeu veure la lògica que s’utilitza per prendre l’estat meteorològic a la icona actual -> i convertir-lo en un testimoni d’emoji a la funció weather_icon. Passa alguna cosa similar per a la fase de la lluna en la funció moon_icon i la direcció del vent en la funció wind_dir_icon.

Pas 5: Conclusió

Conclusió
Conclusió
Conclusió
Conclusió

Aneu al vostre compte d’estat inicial i mireu les vostres dades. He canviat tots els meus valors percentuals a indicadors d'arc, la precipitació a un indicador de líquid i la temperatura a un indicador de temperatura. Podeu canviar a qualsevol tipus de tipus de mosaic i triar els colors per als indicadors i els gràfics de línies. Podeu fer que el vostre tauler sigui fosc o clar i incrustar el producte final en un lloc web mitjançant un iFrame d’incorporació.

Si voleu utilitzar el disseny del tauler de control compartit públic com a tauler, podeu importar un disseny al dipòsit de dades seguint les instruccions aquí. Podeu afegir una imatge de fons al tauler per donar-li més context.

L'URL de compartició pública del nostre tauler és

Ara ja domineu l’API Dark Sky, les possibilitats són infinites. Hi ha una quantitat il·limitada d'API gratuïta en línia per explorar, així que comenceu.

Recomanat: