Tartalomjegyzék:

AirVisual Air Quality API műszerfal: 5 lépés
AirVisual Air Quality API műszerfal: 5 lépés

Videó: AirVisual Air Quality API műszerfal: 5 lépés

Videó: AirVisual Air Quality API műszerfal: 5 lépés
Videó: Stream Air Quality with Air Visual API | GIT TECH'D 2024, Július
Anonim
Image
Image

Az AirVisual (https://www.airvisual.com) egy olyan webhely, amely világszerte adatokat szolgáltat a levegő minőségéről. Rendelkeznek API -val, amelyet a levegőminőségi adatoknak a műszerfalra küldésére használunk. Az API -val hasonlóan fogunk működni, mint az időjárás -irányítópulttal.

Ez egy egyszerű projekt, amely megtanítja az API használatát. Lássunk neki!

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

AirVisual API
AirVisual API

A kód nagy részét már összeállítottuk, de az út során néhány módosítást kell végrehajtania. Sok lehetőség van arra is, hogy kibővítsük azt, amit tettünk.

Ahhoz, hogy lekérje mindazt, amit előkészítettünk Önnek, klónoznia kell az adattárat a GitHubból. A GitHub egy fantasztikus szolgáltatás, amely lehetővé teszi számunkra az ilyen projektek tárolását, felülvizsgálatát és kezelését. Ezt a szkriptet egy dedikált eszközön szeretné futtatni. Használhat laptopot, Raspberry Pi -t vagy más egylapos számítógépet. A tároló klónozásához mindössze annyit kell tennünk, hogy belépünk számítógépünk vagy Pi termináljába, és beírjuk ezt a parancsot:

$ git klón

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

$ git klón https://github.com/InitialState/airvisual.git Klónozás "airvisual" -ba… távoli: Objektumok felsorolása: 13, kész. távoli: Objektumok számlálása: 100% (13/13), kész. távoli: Objektumok tömörítése: 100% (12/12), kész. távirányító: Összesen 13 (delta 2), újrafelhasznált 0 (delta 0), csomag újrahasznosított 0 Objektumok kicsomagolása: 100% (13/13), 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. Lépjünk az új könyvtárba. A könyvtárak megváltoztatásához mindössze 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 airvisual

Miután megnyomtuk az enter billentyűt, látni fogjuk, hogy most a légitársaságok könyvtárában vagyunk. Írjuk be az "ls" -t, hogy lássuk, milyen fájlokat telepítettünk. Valahogy így kell kinéznie:

LICENCE README.md airquality.py

Szükségünk van néhány más elemre, mielőtt szerkeszteni tudjuk a kódot, ezért nézzük meg a Air Quality API -t.

2. lépés: AirVisual API

AirVisual API
AirVisual API
AirVisual API
AirVisual API

Az AirVisual rendelkezik egy levegőminőségi (AQI) és szennyező API -val, amely havi akár 10 000 API -hívást tesz lehetővé ingyenesen. Regisztrálhat a közösségi szintre. Miután feliratkozott, lépjen a My Air és az API fülre. Itt találja meg API kulcsait és dokumentációját az API -n.

Kattintson az +Új kulcs gombra az első API hozzáférési kulcsunk létrehozásához. A Terv kiválasztása legördülő menüből válassza ki a Közösség lehetőséget, majd kattintson a Létrehozás gombra. Ha minden jól megy, megjelenik egy sikeres üzenet, és visszatérhet az API irányítópultjához, ahol megtalálhatja az új kulcsfontosságú információkat. A kulcsérték (számok és karakterek) az, amire szüksége lesz ehhez a projekthez. Ha átnézi az API dokumentációját, látni fogja, hogy többféle API hívást kezdeményezhet. Ehhez a projekthez a legközelebbi városi adatokat szeretnénk beszerezni a GPS koordináták alapján. Ehhez a híváshoz szüksége lesz a hosszúsági, szélességi és API -kulcsra. Írja be ezeket a paramétereket az alábbi hívásba, írja be a böngésző címsorába, és nyomja meg az Enter billentyűt.

api.airvisual.com/v2/nearest_city?lat={{LATITUDE}}&lon={{LONGITUDE}}&key={{YOUR_API_KEY}}

Ez a GPS koordináták alapján adja vissza a legközelebbi város adatait. Ez valahogy így fog kinézni:

Javaslom, hogy használjon JSON formázót, hogy jobban lássa az adatokat. Ha ezt használja, akkor egy kicsit így fog kinézni:

"állapot": "siker", "data": {"city": "Nashville", "state": "Tennessee", "country": "USA", "location": {"type": "Point", "koordinates": [-86.7386, 36.1767]}, "current": {"weather": {"ts": "2019-04-08T19: 00: 00.000Z", "_v": 0, "createdAt": "2019-04-08T19: 04: 18.662Z "," hu ": 88," ic ":" 04d "," pr ": 1012," tp ": 18," updatedAt ":" 2019-04-08T19: 46: 53.140Z "," wd ": 90, "ws": 3.1}, "szennyezés": {"ts": "2019-04-08T18: 00: 00.000Z", "aqius": 10, "mainus": "p2", "aqicn": 3, "maincn": "p2"}

Könnyen láthatjuk, hogy már rendelkezünk információkkal a helyről, az időjárásról és a szennyezésről. A két érték, amelyre ebben a projektben összpontosítunk, az USA levegőminőségi indexe (aquis) és a fő szennyezőanyag (mainus). A levegőminőség -index értéke megmutatja, hogy mi a helyi levegőminőségi érték, és hogyan érinti ez az Ön egészségét. A színkódos táblázat az alábbiakban található. A fő szennyezőanyag megmondja, hogy az Ön területén melyik a levegőben lévő fő szennyezőanyag (részecskék, nitrogén -oxid, ózon, szén -monoxid, kén -oxid). Ezek a szennyező anyagok jellemzően a füstkötegek vagy a járművek kibocsátásának melléktermékei.

Most, hogy tudjuk, hogyan kell használni az Air Visual API -t, a következő dolog, amire szükségünk lesz, az irányítópult platformja az adatok megjelenítéséhez.

3. lépés: Kezdeti állapot

Kezdeti állapot
Kezdeti állapot
Kezdeti állapot
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. Adatainknak célállomásra van szükségük, így a kezdeti állapotot fogjuk használni.

Regisztráljon a kezdeti államfiókhoz

Lépjen a https://iot.app.initialstate.com oldalra, és hozzon létre egy új fiókot.

Telepítse az ISStreamert

Telepítse a Initial State Python modult a laptopjára vagy a Raspberry Pi -re. Parancssorban futtassa a következő parancsot:

$ / curl -sSL https://iot.app.initialstate.com -o -| sudo bash

Készíts egy automata

A curl parancs futtatása után a következő kimenethez hasonlót lát a képernyőn:

$ / curl -sSL https://iot.app.initialstate.com -o -| sudo bash

Jelszó: Kezdetben 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 rendszer kéri, hogy automatikusan szerezzen be egy példafájlt, írja be az y parancsot. Ez létrehoz egy teszt szkriptet, amelyet futtathatunk annak érdekében, hogy biztosítsuk az adatok streamelését a kezdeti állapotba. A következő parancssor megkérdezi, hová kívánja menteni a mintafájlt. Beírhat egyéni helyi elérési utat, vagy az Enter billentyűt lenyomva elfogadhatja az alapértelmezett helyet. Végül megkérdezi, hogy melyik kezdeti állapotú alkalmazást használja. Ha nemrég hozott létre fiókot, válassza a 2 -es lehetőséget, majd adja meg a felhasználónevet és a jelszót. Ezt követően a telepítés befejeződik.

Hozzáférési kulcsok

Vessünk egy pillantást a létrehozott példa szkriptre. $ nano is_example.py A 15. sorban egy sort láthat, amely a következővel kezdődik: streamer = Streamer (bucket_…. Ez a sor létrehoz egy új adatcsoportot „Python Stream Example” néven, és társítva van a fiókjához. Ez a társítás a access_key =”…” paraméter ugyanazon a soron. Ez a hosszú betű- és számsorozat az Ön kezdeti állapotú fiókjának hozzáférési kulcsa. Ha böngészőjében megnyitja a Kezdeti állapot fiókját, kattintson a jobb felső sarokban található felhasználónevére, majd a „Saját beállítások” menüpontban ugyanazt a hozzáférési kulcsot találja az oldal alján a „Streaming hozzáférési kulcsok” alatt. Minden alkalommal, amikor adatfolyamot hoz létre, az a hozzáférési kulcs az adatfolyamot a fiókjába irányítja (ezért ne ossza meg kulcsát bárkivel).

Futtassa a ExampleRun futtassa a teszt szkriptet, hogy megbizonyosodjon arról, hogy adatfolyamot tudunk létrehozni a kezdeti állapotú fiókjához. Futtassa a következőt a parancssorban:

$ python is_example.py

Példa adatok

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

Most már készen áll a valós adatok streamelésére az AirVisual API -ból.

4. lépés: Levegőminőség -műszerfal

Levegőminőség -műszerfal
Levegőminőség -műszerfal
Levegőminőség -műszerfal
Levegőminőség -műszerfal
Levegőminőség -műszerfal
Levegőminőség -műszerfal
Levegőminőség -műszerfal
Levegőminőség -műszerfal

Most a szórakoztató részhez. Készen állunk arra, hogy elkezdjük használni az AirVisual API -t, hogy légminőségi műszerfalat hozzunk létre, és rögzítsük a légszennyezéssel kapcsolatos adatokat, bárhol is döntünk. Ez az airquality.py szkript egyszerűen meghívja az AirVisual API -t az Ön API kulcsa segítségével, és lekéri az aktuális légszennyezési információkat. Ezeket az adatokat továbbítja a kezdeti állapotú fiókjába is, amely lehetővé teszi a levegőminőség -irányítópult létrehozását.

A szkripthez a korábban klónozott Github tárolón keresztül férhet hozzá. Először is meg kell győződnünk arról, hogy az AirVisual könyvtárban vagyunk:

$ cd airvisual

Innen hozzáférhet a python fájlhoz, amelyet a levegőminőség -irányítópult létrehozásához futtatunk. A fájl futtatása előtt néhány változtatást kell végrehajtanunk. A python fájl megnyitásához használja a nano parancsot a szövegszerkesztő megnyitásához:

$ nano airquality.py

Miután megnyitotta a szövegszerkesztőt, a következőt fogja látni a szkript tetején:

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

LATITUDE = "LAT" LONGITUDE = "LONG" AIRVISUAL_API_KEY = "AIR VISUAL API KEY" BUCKET_NAME = "Local Air Quality" BUCKET_KEY = "aq1" ACCESS_KEY = "INITIAL STATE ACCES KEY" MINUTES_BETWE-MINUTES_BETWE -------------------------

meg kell adnia a szélességi, hosszúsági, AirVisual API -kulcsát és a Kezdeti állapot hozzáférési kulcsot. A MINUTES_BETWEEN_READS paraméter beállítja, hogy a szkript milyen gyakran kérdezze le az AirVisual API -t a levegőminőségről. 5 perc elegendő idő ahhoz, hogy ne lépje túl a havi 10 000 API hívást. A rövid távú tesztelés érdekében ezt 0,5 percre állíthatja be. Miután megadta a paramétereket, mentse el és lépjen ki a bevitt szövegből a Control+X billentyűkombinációval. Most már készen áll a szkript futtatására:

$ python airquality.py

Ha ezt a szkriptet hosszú ideig megszakítás nélkül szeretné futtatni, akkor használja a nohup parancsot (letiltás nélkül) az alábbiak szerint:

$ nohup python airquality.py &

Ha ez fut, menjen a Kezdeti állapotba az adatok megtekintéséhez. A műszerfalnak valahogy úgy kell kinéznie, mint az alábbi képen. Megvan a GPS -hely, a levegőminőségi index értéke és a fő szennyezőanyag.

Azt javaslom, hogy módosítsa az AQI értékét egy mérőlapra. Továbbá mozgassa a lapokat, és szükség szerint méretezze át. Ha ezt beágyazott műszerfalra használja, akkor szükség szerint mozgathatja őket.

Ha úgy dönt, hogy az AQI értékét mérőeszközré teszi, akkor beállíthatja a színküszöböt, hogy az hasonló legyen a levegőminőségi index táblázatához. Ez azonnali frissítést ad arról, hogy az AQI érték hol esik a diagramra, amikor ellenőrzi a műszerfalat. Hozzáadhat egy háttérképet az irányítópulthoz, hogy több kontextust adjon neki.

Tehát minden megvan, ami a levegőminőségű műszerfal létrehozásához szükséges. De mi van akkor, ha többet szeretne hozzáadni vagy hozzáadni a már létrehozott időjárás -irányítópulthoz? Ha ez a helyzet, akkor olvass tovább!

5. lépés: Készítsen teljes időjárási irányítópultot

Készítsen teljes időjárási irányítópultot
Készítsen teljes időjárási irányítópultot

Csak a levegőminőségi adatok nem elegendőek Önnek? Nos, rengeteg lehetőség van arra, hogy többet adjon hozzá a műszerfalához, vagy streamelje ezeket az adatokat egy már meglévő időjárási műszerfalra!

Az időjárás és a levegő minősége egyetlen műszerfalon

Ha már megvalósította a DarkSky API vagy a Hyper-Local Weather Dashboard projektünket, hozzáadhatja ezeket a levegőminőségi adatokat a meglévő műszerfalhoz. Ez elég egyszerű, mindössze annyit kell tennie, hogy módosítja a levegőminőségi parancsfájl paramétereit, hogy ugyanaz a vödör neve, vödör kulcsa és hozzáférési kulcsa legyen, mint amit az időjárási műszerfalhoz használt. Ez lehetővé teszi az adatok elküldését ugyanabba az irányítópultba. Most lesz egy teljes időjárás műszerfal!

Kérje meg időjárási Python -fájlját a levegőminőségű Python -fájl futtatásához

Egy másik lehetőség, ha nem akar két külön programot futtatni, ha a levegőminőségű python fájlt az időjárási projektek könyvtárába helyezi. Kérje meg az időjárási projekt python fájlját, hogy hívja fel a levegőminőségi fájlt, hogy az futhasson, amikor az időjárási fájl fut. Ismét ügyeljen arra, hogy ugyanazt a vödörnevet, vödörkulcsot és hozzáférési kulcsot helyezze el, hogy azok ugyanahhoz az irányítópulthoz fussanak.

Hozzon létre egyetlen fájlt az időjárás és a levegő minőségével

És ha igazán merésznek érzi magát, akkor a levegőminőségi kódok egy részét beillesztheti az időjárási python szkriptjébe, és csak egyetlen szkriptet kell futtatnia. Ez egy kicsit több kódolási erőfeszítést igényel, mint a másik két lehetőség, de egyszerűsített programot eredményez.

További információk közvetítése az AirVisual API -ból

Amint látta, amikor felhívtuk az AirVisual API -t, az több információt tartalmaz, mint a levegő minősége. Ezenkívül hőmérsékletet, páratartalmat, szélsebességet, szélirányt és légköri nyomást is biztosít. Ezt az információt ugyanúgy elküldhetjük a kezdeti államnak, mint a levegőminőségi index értékét és a fő szennyező anyagot. Csak néhány további nyilatkozatot kell írnia.

Ajánlott: