Tartalomjegyzék:

Építsen időjárási irányítópultot a Dark Sky API használatával: 5 lépés (képekkel)
Építsen időjárási irányítópultot a Dark Sky API használatával: 5 lépés (képekkel)

Videó: Építsen időjárási irányítópultot a Dark Sky API használatával: 5 lépés (képekkel)

Videó: Építsen időjárási irányítópultot a Dark Sky API használatával: 5 lépés (képekkel)
Videó: 9 Библейских Событий, Которые Произошли на Самом Деле — Подтверждено Наукой 2024, November
Anonim
Image
Image

A Dark Sky az időjárás -előrejelzésre és a vizualizációra specializálódott. A Dark Sky legmenőbb aspektusa az időjárási API, amellyel szinte mindenhol a világon lekérhetjük az időjárási adatokat. Nemcsak az esős vagy napos időjárás, hanem a hőmérséklet, harmatpont, széllökés, páratartalom, csapadék, nyomás, UV -index és egyebek könnyen elérhetők, ahol csak akarja, amikor csak akarja.

Tanuljuk meg a Dark Sky szuper-egyszerű API-jának használatát. Ha még nem ismeri az API -kat, ígérem, hogy ez nagyon egyszerű lesz! És ha korábban már használt API -kat, akkor remélem, valami újat tudunk tanítani az általunk használt kóddal.

Amire szüksége lesz ehhez a projekthez:

  • Dark Sky API -fiók
  • Kezdeti állami számla
  • Raspberry Pi vagy laptop

1. lépés: Első lépések

Már sok munkát végeztünk azért, hogy összeállítsa a kódot és rendszerezze az információkat. Csak néhány változtatásra lesz szükségünk az út során. Ha szeretne egy kis kihívást, módosítsa a kódunkat és az időjárási adatokat, akkor korlátlan lehetőségek állnak rendelkezésre!

Ahhoz, hogy lekérje mindazt, amit előkészítettünk Önnek, klónoznia kell az adattárat a GitHubból. A GitHub egy olyan szolgáltatás, amely lehetővé teszi számunkra az ehhez hasonló projektek tárolását, felülvizsgálatát és kezelését. Ezt a szkriptet egy dedikált eszközön szeretné futtatni. A Raspberry Pi tökéletes megoldás az olyan alkalmazások futtatásához, mint ez az oktatóanyag.

A tároló klónozásához mindössze annyit kell tennünk, hogy belépünk a Pi termináljába, vagy a számítógép termináljába, amely SSH -s a pi -be, és írja be ezt a parancsot:

$ git klón

Nyomja meg az Enter billentyűt, és látni fogja ezeket az információkat:

A „sötét” klónozása…

távoli: Objektumok számlálása: 2, kész. távirányító: Összesen 2 (delta 0), újrafelhasznált 0 (delta 0), csomagolásban újrafelhasznált 2 Kicsomagolás tárgyak: 100% (2/2), kész. Csatlakozás ellenőrzése… kész.

Ha ezt látja, akkor gratulálunk, sikeresen klónozta a GitHub Repo -t, és megvan minden szükséges fájl a projekt létrehozásához. Mielőtt továbblépnénk a következő lépéshez, szánjunk egy kis időt ennek a könyvtárnak a felfedezésére, és tanuljunk meg néhány alapvető parancssori parancsot.

Írja be az alábbi parancsot a terminálba:

$ ls

Ez a parancs felsorolja mindazt, ami elérhető a jelenleg használt könyvtárban. Ez a lista azt mutatja, hogy a GitHub Repo -t sikeresen klónoztuk a könyvtárunkba „darksky” néven. Nézzük meg, mi van abban a könyvtárban. Egy könyvtárba való áthelyezéshez csak annyit kell tennie, hogy beírja a „cd” -t, majd beírja annak a könyvtárnak a nevét, ahová szeretne menni.

Ebben az esetben beírjuk:

$ cd sötét

Miután megnyomtuk az enter billentyűt, látni fogjuk, hogy most a sötét könyvtárban vagyunk. Írjuk be újra az "ls" -t, hogy lássuk, milyen fájlokat telepítettünk a pi -re.

README.md darksky.py…

Itt láthatjuk, hogy megvan a readme dokumentumunk és a python fájljaink. Nézzük a darksky.py -t a "nano" paranccsal. A nano parancs lehetővé teszi számunkra, hogy nyissuk meg a nano szövegszerkesztőt, ahol megvan a python kódunk a projekt minden szegmenséhez. Menj, és írd be:

$ nano darksky.py

Itt láthatja az összes kódot, amelyet erre a projektre készítettünk Önnek. Egyelőre nem fogunk változtatni ezen a dokumentumon, de bátran lapozzon és nézze meg, mit fogunk csinálni később ebben az oktatóanyagban.

2. lépés: A Dark Sky API használata

Kezdeti állapot
Kezdeti állapot

A Dark Sky API használatához először saját API -kulcsra van szüksége. Ne aggódjon, az API -kulcs beszerzése gyors és ingyenes. Csak annyit kell tennie, hogy felkeresi a webhelyet, és a "Próbálja ki ingyen" gombra kattintva hozzon létre egy fiókot.

  • Naponta 1000 API hívást kap ingyen. Minden ingyenes API -t meghaladó API -kérés 0,0001 dollárba kerül.
  • Ez a korlát minden nap automatikusan visszaáll éjfélkor (UTC).
  • Az előrejelzési kérelem a következő hét aktuális időjárási előrejelzését adja vissza.
  • A Time Machine Request visszaadja a megfigyelt vagy előre jelzett időjárási körülményeket egy múltbeli vagy jövőbeli dátumra.

A titkos Dark Sky API kulcsa valahogy így fog kinézni: 0123456789abcdef9876543210fedcba.

API -hívást kezdeményezhet a Dark Sky felé, ha begépel egy URL -t a böngészőjébe a következő formátumban:

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

Cserélje le a "kulcsot" a Dark Sky API kulccsal és a hosszúsági/szélességi fokot bármivel. A hosszúsági és szélességi fokokat a Google Térképen keresheti meg, és megkeresheti a tartózkodási helyét. Ezek az értékek szerepelnek az URL -ben. Másolja és illessze be a fenti sötét égbolt URL -címét a hozzáférési kulccsal és az értékekkel a címsorba.

Ha ezt megteszi, valami ilyesmit fog látni:

nap "," legközelebbiStormDistance ": 57," legközelebbiStormBearing ": 15," rainIntensity ": 0," csapadék valószínűsége ": 0," hőmérséklet ": 53,9," látszóhőmérséklet ": 53,9," harmatpont ": 29,59," páratartalom ": 0,39, "nyomás": 1022,45, "windSpeed": 3,87, "windGust": 9,25, "windBearing": 259, "cloudCover": 0,01, "uvIndex": 3, "láthatóság": 7,8, "ózon": 309,71}, "minute": {"summary": "Clear for the hour.", "icon": "clear-day", "data": [{"time": 1550615280, "rainIntensity": 0, "precipProbability": 0 },…

Kicsit lehengerlő és nehezen olvasható lehet, ezért azt javaslom, hogy használjon JSON Formatter -t az adatok olvashatóbbá tételéhez. Ha ezt megteszi, valahogy így fog kinézni:

objektum {9}

szélesség: 37.8267 hosszúság: -122.4233 időzóna: Amerika/Los_Angeles jelenleg {19} idő: 1550615286 összefoglaló: Törlés ikon: derült nap legközelebbiStormDistance: 57 legközelebbiStormBearing: 15 csapadék Intenzitás: 0 csapadék Valószínűség: 0 hőmérséklet: 53,9 látható Hőmérséklet: 53,9 harmatpont: 29,59 páratartalom 0.39 nyomás: 1022,45 szél Sebesség: 3,87 szél Szél: 9,25 szél Csapágy: 259 felhő Fedés: 0,01 uv Index: 3 látótáv: 7,8 ózon: 309,71

Most hívott egy API -t! Látod, milyen könnyű volt? Még csak egy sor kódot sem kellett írnia. Most, hogy elsajátította az API -kat, áttérhetünk az adatfolyam -részre.

3. lépés: Kezdeti állapot

Szeretnénk az időjárási adatainkat felhőszolgáltatásba továbbítani, és ez a szolgáltatás az adatainkat egy szép irányítópulttá alakítani, amelyet laptopunkról vagy mobileszközünkről érhetünk el. Adatainknak úti célra van szükségük. A kezdeti állapotot fogjuk használni célként.

1. lépés: Regisztráljon a kezdeti államfiókhoz

Lépjen a https://iot.app.initialstate.com oldalra, és hozzon létre egy új fiókot. 14 napos ingyenes próbaidőszakot kap, és bárki, aki rendelkezik e -mail címmel, regisztrálhat egy ingyenes tanulói előfizetésre.

2. lépés: Telepítse az ISStreamert

Telepítse a Kezdeti állapot Python modult a Raspberry Pi -re. A parancssorban futtassa a következő parancsot:

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

A 2. lépés után a következő kimenethez hasonlót lát a képernyőn:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bash Jelszó: Az ISStreamer Python egyszerű telepítése! Ennek telepítése eltarthat pár percig, igyon egy kávét:) De ne felejtse el visszajönni, később kérdéseim lesznek! Talált easy_install: setuptools 1.1.6 Talált pip: pip 1.5.6 a /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip fő verzióból: 1 pip minor verzió: 5 Az ISStreamer megtalálható, frissítés… A követelmény már naprakész: ISStreamer a /Library/Python/2.7/site-packages fájlban Tisztítás … Szeretné automatikusan megkapni a példa szkriptet? [y/N] Hova szeretné menteni a példát? [alap::.initialstate.com felhasználónév: Írja be az iot.app.initialstate.com jelszót:

Amikor a program megkérdezi, hogy szeretne -e automatikusan példaszkriptet kapni, írja be az "y" -t igenre, és nyomja le az enter billentyűt, hogy elmentse a szkriptet az alapértelmezett helyre. Ha azt a kérdést szeretné feltenni, hogy melyik alkalmazást használja, válassza a 2 lehetőséget (hacsak nem regisztrált 2018 novembere előtt), és adja meg felhasználónevét és jelszavát.

4. lépés: Futtassa a példa szkriptet

Futtassa a teszt szkriptet, hogy megbizonyosodjon arról, hogy adatfolyamot tudunk létrehozni a kezdeti állapotú fiókjához. Írja be a következő parancsot:

$ python is_example.py

6. lépés: Példaadatok

Térjen vissza a kezdeti állapotú fiókjához a böngészőben. A „Python Stream Example” nevű új adatcsoportnak meg kellett jelennie a napló polcának bal oldalán (előfordulhat, hogy frissítenie kell az oldalt). Kattintson erre a csoportra az adatok megtekintéséhez.

4. lépés: Sötét égbolt időjárási irányítópult

Sötét ég időjárás műszerfal
Sötét ég időjárás műszerfal

Most a szórakoztató részhez. Készen állunk arra, hogy elkezdjük használni a Dark Sky API -t időjárás -irányítópult létrehozásához, és rögzítsük az időjárási előzményeket az általunk választott helyre. Ehhez a Python szkriptet fogjuk használni: https://github.com/initialstate/darksky/blob/master/darksky.py. Ez a szkript egyszerűen meghívja a Dark Sky API -t az API kulcsa segítségével, és lekéri az időjárási információkat egy meghatározott időközönként. Ezeket az adatokat továbbítja a kezdeti állapot fiókjába is, amely lehetővé teszi a Dark Sky időjárási irányítópultjának létrehozását.

Ezt a szkriptet másolhatja Pi -jére, vagy elérheti azt a korábban klónozott GitHub -táron keresztül. Ezt úgy teheti meg, hogy átvált a darksky könyvtárba, és beírja:

$ cd sötét

Innen hozzáférhet a python fájlhoz, amelyet futtatunk az időjárási irányítópult létrehozásához. Mielőtt futtatná, be kell állítania a kívánt paramétereket, és be kell helyeznie a kulcsokat. Nano a darksky.py fájlba a következő beírásával:

$ nano darksky.py

Ezután szerkessze a szkript tetején található részt:

# --------- Felhasználói beállítások ---------

CITY = "Nashville" GPS_COORDS = "36.1628414, -86.780199" DARKSKY_API_KEY = "HOZZA A DARK SKY API KEY ITT" BUCKET_NAME = ": részben_napos:" + CITY + "Időjárás" BUCKET_KEY = "ds1 ACCESS ACCESS KULCS ITT "MINUTES_BETWEEN_READS = 15 # ---------------------------------

Be kell állítania a kívánt GPS -koordinátákat és a város nevét. Be kell helyeznie a Dark Sky API -kulcsát és a kezdeti állapotú fiók hozzáférési kulcsát is, különben az adatok nem mennek sehova. A MINUTES_BETWEEN_READS paraméter beállítja, hogy a szkript milyen gyakran kérdezze le a Dark Sky API -t az időjárási információkért. A 15 perc hosszú intervallumot biztosít. A rövid távú tesztelés érdekében ezt 0,5 percre állíthatja be. Végezze el a módosításokat, majd írja be a Control+X billentyűt a kilépéshez és a mentéshez.

Miután beállította a paramétereket, készen áll a szkript futtatására:

$ python darksky.py

Ha bekapcsolja a Pi-t, és szeretné, hogy ez a szkript hosszú ideig megszakítás nélkül futjon, akkor használja a nohup parancsot (nincs leállás) az alábbiak szerint:

$ nohup python darksky.py &

Ez a szkript valamivel többet fog tenni, mint az időjárási adatok olvasása és elküldése a kezdeti állapotba. Ez a szkript ki fogja használni az Initial State eszközeibe épített emoji támogatást, hogy egy kicsit hűvösebb legyen az irányítópult. Láthatja azt a logikát, amelyet az időjárás állapotának lekérésére használ az aktuálisan -> ikonról, és emoji jelzővé alakítását az weather_icon függvényben. Valami hasonló történik a holdfázisnál a moon_icon függvényben és a szélirányban a wind_dir_icon függvényben.

5. lépés: Következtetés

Következtetés
Következtetés
Következtetés
Következtetés

Lépjen a kezdeti állam fiókjába, és nézze meg adatait. Minden százalékos értékemet ívmérőre, a csapadékot folyadékmérőre, a hőmérsékletet hőmérőre változtattam. Bármilyen típusú cserépre válthat, és kiválaszthatja a színeket a mérőműszerekhez és a vonaldiagramokhoz. Az irányítópultot sötétre vagy világosra teheti, és a végterméket beágyazhatja egy webhelyre egy beágyazott iFrame segítségével.

Ha az irányítópult -elrendezést nyilvános megosztásból szeretné használni irányítópultként, akkor az itt található utasításokat követve importálhat elrendezést az adatgyűjtőjébe. Hozzáadhat egy háttérképet az irányítópulthoz, hogy több kontextust adjon neki.

Irányítópultunk nyilvános megosztási URL -címe:

Most már elsajátította a Dark Sky API -t, a lehetőségek végtelenek! Korlátlan mennyiségű ingyenes API -t talál online, így kezdje el.

Ajánlott: