Kazalo:

Ustvarite vremensko nadzorno ploščo z uporabo API -ja Dark Sky: 5 korakov (s slikami)
Ustvarite vremensko nadzorno ploščo z uporabo API -ja Dark Sky: 5 korakov (s slikami)

Video: Ustvarite vremensko nadzorno ploščo z uporabo API -ja Dark Sky: 5 korakov (s slikami)

Video: Ustvarite vremensko nadzorno ploščo z uporabo API -ja Dark Sky: 5 korakov (s slikami)
Video: ДЕМОНСТРАЦИЯ СЦЕНАРИЯ - Часть 2/5: Создание проекта и настройки 2024, November
Anonim
Image
Image

Dark Sky je specializirano za napovedovanje in vizualizacijo vremena. Najbolj kul vidik programa Dark Sky je njihov vremenski API, ki ga lahko uporabimo za pridobivanje vremenskih podatkov iz skoraj kjer koli na svetu. Ne gre le za deževno ali sončno vreme, ampak tudi za temperaturo, rosišče, sunke vetra, vlažnost, padavine, tlak, indeks UV in še več, vse je na voljo povsod, kjer koli želite, kadar koli želite.

Naučimo se uporabljati super preprost API Dark Sky. Če ste novi pri uporabi API -jev, vam obljubim, da bo to zelo enostavno! In če ste že uporabljali API -je, upam, da vas bomo s kodo, ki smo jo uporabili, naučili nekaj novega.

Kaj boste potrebovali za ta projekt:

  • Račun API -ja Dark Sky
  • Začetni državni račun
  • Raspberry Pi ali prenosni računalnik

1. korak: Začnite

Veliko dela smo že vložili v to, da ste sestavili kodo in organizirali podatke. Potrebovali boste le nekaj prilagoditev. Če želite izziv, naredite nekaj sprememb v naši kodi in kakšni vremenski podatki so poslani, obstaja neomejeno število možnosti!

Če želite pridobiti vse stvari, ki smo jih pripravili za vas, morate klonirati skladišče iz GitHub -a. GitHub je storitev, ki nam omogoča shranjevanje, revizijo in upravljanje takih projektov. Ta skript boste želeli zagnati na namenski napravi. Raspberry Pi je odlična možnost za zagon aplikacij, kot je ta vadnica.

Če želite klonirati repozitorij, morate le vstopiti v terminal Pi ali v računalnik, ki je SSH'd v vaš pi, in vnesite ta ukaz:

klon $ git

Pritisnite enter in videli boste te podatke:

Kloniranje v 'temnega' …

daljinsko: Štetje predmetov: 2, končano. daljinsko: Skupaj 2 (delta 0), ponovno uporabljena 0 (delta 0), ponovno pakiranje 2 Razpakiranje predmetov: 100% (2/2), narejeno. Preverjanje povezljivosti… končano.

Ko to vidite, potem čestitam, uspešno ste klonirali GitHub Repo in imate vse potrebne datoteke za izdelavo tega projekta. Preden preidemo na naslednji korak, si vzemimo nekaj časa za raziskovanje tega imenika in se naučimo nekaj osnovnih ukazov ukazne vrstice.

V terminal vnesite spodnji ukaz:

$ ls

Ta ukaz navaja vse, kar je na voljo v imeniku, v katerem ste trenutno. Ta seznam kaže, da je bil naš GitHub Repo uspešno kloniran v naš imenik pod imenom »darksky«. Poglejmo, kaj je v tem imeniku. Če se želite premakniti v imenik, morate samo vnesti »cd« in nato vnesti ime imenika, v katerega želite iti.

V tem primeru bomo vnesli:

$ cd temno

Ko pritisnemo enter, bomo videli, da smo zdaj v temnem imeniku. Spet vtipkamo "ls", da vidimo, katere datoteke smo namestili na pi.

README.md darksky.py…

Tu vidimo, da imamo dokument readme in datoteke python. Oglejmo si darksky.py z ukazom "nano". Ukaz nano nam omogoča, da odpremo urejevalnik besedila nano, kjer imamo vso svojo kodo python za vsak segment tega projekta. Pojdi naprej in vpiši:

$ nano darksky.py

Tukaj si lahko ogledate vso kodo, ki smo jo za vas pripravili za ta projekt. V tem dokumentu še ne bomo spreminjali, vendar se pomaknite in poglejte, kaj bomo počeli kasneje v tej vadnici.

2. korak: Uporaba API -ja Dark Sky

Začetno stanje
Začetno stanje

Če želite uporabljati Dark Sky API, najprej potrebujete svoj ključ API. Brez skrbi, pridobivanje ključa API je hitro in brezplačno. Vse, kar morate storiti, je, da obiščete spletno mesto in kliknete »Poskusi brezplačno«, da ustvarite račun.

  • Vsak dan prejmete brezplačno 1000 klicev API. Vsaka zahteva API nad brezplačno dnevno omejitvijo stane 0,0001 USD.
  • Ta omejitev se samodejno ponastavi vsak dan ob polnoči UTC.
  • Zahteva za napoved vrne trenutno vremensko napoved za naslednji teden.
  • Zahteva za časovni stroj vrne opazovane ali napovedane vremenske razmere za datum v preteklosti ali prihodnosti.

Vaš skrivni ključ API -ja Dark Sky bo videti nekako tako: 0123456789abcdef9876543210fedcba.

Dark Sky lahko pokličete z vnosom URL -ja v brskalnik v naslednji obliki:

api.darksky.net/forecast/[key]/[litude], [longitude]

Zamenjajte "ključ" s ključem API -ja Dark Sky in dolžino/zemljepisno širino s čimer želite. Svoje zemljepisne dolžine in zemljepisne širine lahko najdete tako, da odprete Google Zemljevide in poiščete svojo lokacijo. Te vrednosti bodo v URL -ju. Kopirajte in prilepite zgornji URL temnega neba z vnosom ključa za dostop in vrednosti v naslovno vrstico.

Ko to storite, boste videli nekaj takega:

dan "," Najbližja razdalja med viharji ": 57," Najbližja razdalja med viharji ": 15," precipIntensity ": 0," precipProbability ": 0," temperatura ": 53,9," navidezna temperatura ": 53,9," točka rosišča ": 29,59," vlažnost ": 0,39, "tlak": 1022,45, "windSpeed": 3,87, "windGust": 9,25, "windBearing": 259, "cloudCover": 0,01, "uvIndex": 3, "visibility": 7,8, "ozon": 309,71}, "minutely": {"summary": "Clear for the hour.", "icon": "clear-day", "data": [{"time": 1550615280, "precipIntensity": 0, "precipProbability": 0 },…

To je lahko nekoliko premočno in težko berljivo, zato priporočam uporabo JSON Formatterja za lažjo berljivost podatkov. Ko to storite, bo videti nekako takole:

predmet {9}

zemljepisna širina: 37.8267 dolžina: -122.4233 časovni pas: Amerika/Los_Angeles trenutno {19} čas: 1550615286 povzetek: Ikona jasna: najbližji dan na nevihti Oddaljenost: 57 najbližji Štorm Ležaj: 15 oborina Intenzivnost: 0 oborina Verjetnost: 0 temperatura: 53,9 navidezno Temperatura: 53,9 rosa točka: 29,5 0,39 tlak: 1022,45 veter Hitrost: 3,87 veter Duh: 9,25 veter Ležaj: 259 oblak Pokrov: 0,01 uv Indeks: 3 vidljivost: 7,8 ozon: 309,71

Pravkar ste poklicali API! Vidite, kako enostavno je bilo to? Sploh vam ni bilo treba napisati niti ene vrstice kode. Zdaj, ko ste obvladali API -je, lahko preidemo na del pretakanja podatkov.

3. korak: Začetno stanje

Vse naše vremenske podatke želimo pretočiti v storitev v oblaku in ta storitev naj naše podatke spremeni v lepo nadzorno ploščo, do katere lahko dostopamo iz prenosnega računalnika ali mobilne naprave. Naši podatki potrebujejo destinacijo. Kot cilj bomo uporabili začetno stanje.

1. korak: Registrirajte se za začetni državni račun

Pojdite na https://iot.app.initialstate.com in ustvarite nov račun. Dobite 14 -dnevno brezplačno preskusno različico in vsak, ki ima e -poštni naslov edu, se lahko registrira za brezplačen študentski paket.

2. korak: Namestite ISStreamer

Namestite začetni modul Python State na svoj Raspberry Pi. V ukaznem pozivu zaženite naslednji ukaz:

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

3. korak: Naredite nekaj samodejnega Po 2. koraku boste na zaslonu videli nekaj podobnega naslednjemu izhodu:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashGeslo: Začetek enostavne namestitve ISStreamer Python! To lahko traja nekaj minut za namestitev, popijte kavo:) Ampak ne pozabite se vrniti, pozneje bom imel vprašanja! Najdeno easy_install: setuptools 1.1.6 Najdeno pip: pip 1.5.6 iz /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) glavna različica pipa: 1 pip manjša različica: 5 ISStreamer je bil najden, se posodablja … Zahteva je že posodobljena: ISStreamer v /Library/Python/2.7/site-packages Cleaning… Ali želite samodejno dobiti primer skripta? [y/N] Kam želite shraniti primer? [privzeto:./is_example.py] Izberite aplikacijo začetnega stanja, ki jo uporabljate: 1. app.initialstate.com 2. [NOVO!] iot.app.initialstate.com Vnesite izbiro 1 ali 2: Vnesite iot.app Uporabniško ime.initialstate.com: Vnesite geslo iot.app.initialstate.com:

Ko vas vprašajo, ali želite samodejno dobiti primer skripta, postavite "y" za da in pritisnite enter, da shranite skript na privzeto mesto. Za vprašanje, katero aplikacijo uporabljate, izberite 2 (razen če ste se prijavili pred novembrom 2018) in vnesite svoje uporabniško ime in geslo.

4. korak: Zaženite primer skripta

Zaženite preskusni skript in se prepričajte, da lahko ustvarimo podatkovni tok v vašem računu začetnega stanja. Napišite naslednji ukaz:

$ python is_example.py

6. korak: Primer podatkov

V spletnem brskalniku se vrnite na račun začetnega stanja. Novo vedro podatkov, imenovano »Primer Python Stream«, bi se moralo prikazati na levi strani v dnevniku (morda boste morali osvežiti stran). Če si želite ogledati svoje podatke, kliknite to vedro.

4. korak: Vremenska nadzorna plošča Dark Sky

Nadzorna plošča Dark Sky Weather
Nadzorna plošča Dark Sky Weather

Zdaj pa zabavni del. Pripravljeni smo začeti uporabljati Dark Sky API za ustvarjanje vremenske nadzorne plošče in zajem zgodovine vremena za izbrano lokacijo. V ta namen bomo uporabili skript Python: https://github.com/initialstate/darksky/blob/master/darksky.py. Ta skript preprosto pokliče API Dark Sky z vašim ključem API in pridobi vremenske podatke v določenem časovnem intervalu. Prav tako te podatke pretaka v vaš račun Initial State, kar vam bo omogočilo ustvarjanje vremenske nadzorne plošče Dark Sky.

Ta skript lahko kopirate v svoj Pi ali do njega dostopate prek skladišča GitHub, ki smo ga klonirali prej. To lahko storite tako, da v svoj temni imenik vnesete:

$ cd temno

Od tu boste lahko dostopali do datoteke python, ki jo bomo zagnali za ustvarjanje naše vremenske nadzorne plošče. Preden ga zaženete, morate nastaviti želene parametre in vstaviti ključe. Nano v datoteko darksky.py z vnosom:

$ nano darksky.py

Nato uredite razdelek na vrhu skripta:

# --------- Uporabniške nastavitve ---------

CITY = "Nashville" GPS_COORDS = "36.1628414, -86.780199" DARKSKY_API_KEY = "TUKAJ KLJUČITE SVOJ TEMENSKI API" BUCKET_NAME = ": delno_sunčno:" + CITY + "Vreme" BUCKET_KEY = "ds1 DOSTOP TUKAJ KLJUČITE "MINUTES_BETWEEN_READS = 15 # ---------------------------------

Nastaviti morate želene koordinate GPS in ime mesta. Vnesti morate tudi ključ API -ja Dark Sky in ključ za dostop do računa za začetno stanje, sicer vaši podatki ne bodo nikamor odšli. Parameter MINUTES_BETWEEN_READS bo nastavil, kako pogosto bo vaš skript anketiral Dark Sky API za vremenske informacije. 15 minut zagotavlja lep interval na dolgi rok. Zaradi kratkotrajnega testiranja lahko to nastavite na 0,5 minute. Naredite spremembe, nato za izhod in shranjevanje vnesite control+X.

Ko nastavite parametre, ste pripravljeni zagnati skript:

$ python darksky.py

Če se vpisujete v svoj Pi in želite, da ta skript ostane neprekinjeno dolgotrajen, lahko uporabite ukaz nohup (brez prekinitve) na naslednji način:

$ nohup python darksky.py &

Ta skript bo naredil nekaj več kot le branje vremenskih podatkov in njihovo pošiljanje v začetno stanje. Ta skript bo izkoristil podporo za emoji, vgrajeno v orodja začetnega stanja, da bo armaturna plošča nekoliko bolj kul. Logiko, ki se uporablja za vzemanje vremenskega stanja, si lahko ogledate iz ikone trenutno -> in jo pretvorite v žeton emoji v funkciji weather_icon. Nekaj podobnega se zgodi za fazo lune v funkciji moon_icon in smer vetra v funkciji wind_dir_icon.

5. korak: Zaključek

Zaključek
Zaključek
Zaključek
Zaključek

Pojdite na svoj račun State State in si oglejte svoje podatke. Vse svoje odstotne vrednosti sem spremenil v merilnike loka, količino padavin v merilnik tekočine in temperaturo v merilnik temperature. Lahko se spremenite v katero koli vrsto ploščic in izberete barve za merilnike in črtne karte. Armaturno ploščo lahko naredite temno ali svetlo in z vdelanim iFrameom vdelate končni izdelek na spletno mesto.

Če želite kot nadzorno ploščo uporabiti postavitev nadzorne plošče iz javne skupne rabe, lahko uvozite postavitev v podatkovno zbirko, tako da sledite navodilom tukaj. Na nadzorno ploščo lahko dodate sliko ozadja, ki ji daje več konteksta.

Javni URL skupne rabe za našo nadzorno ploščo je

Zdaj ste obvladali API Dark Sky, možnosti so neskončne! Na spletu je neomejeno število brezplačnih API -jev, zato začnite.

Priporočena: