Satura rādītājs:

AirVisual Air Quality API informācijas panelis: 5 soļi
AirVisual Air Quality API informācijas panelis: 5 soļi

Video: AirVisual Air Quality API informācijas panelis: 5 soļi

Video: AirVisual Air Quality API informācijas panelis: 5 soļi
Video: Stream Air Quality with Air Visual API | GIT TECH'D 2024, Jūlijs
Anonim
Image
Image

AirVisual (https://www.airvisual.com) ir vietne, kas sniedz datus par gaisa kvalitāti visā pasaulē. Viņiem ir API, ko mēs izmantosim, lai iegūtu gaisa kvalitātes datus, ko nosūtīt informācijas panelim. Mēs mijiedarbosimies ar šo API līdzīgi kā laika apstākļu informācijas panelī.

Šis ir vienkāršs projekts, kas māca lietot API. Sāksim!

1. darbība. Darba sākšana

AirVisual API
AirVisual API

Mēs jau esam apkopojuši lielāko daļu koda, taču jums būs jāveic dažas izmaiņas. Ir arī daudz iespēju paplašināt paveikto.

Lai izgūtu visu, ko mēs jums esam sagatavojuši, jums būs nepieciešams klonēt krātuvi no GitHub. GitHub ir lielisks pakalpojums, kas ļauj mums saglabāt, pārskatīt un pārvaldīt šādus projektus. Šo skriptu vēlaties palaist speciālā ierīcē. Jūs varat izmantot klēpjdatoru, Raspberry Pi vai citu vienas plates datoru. Lai klonētu krātuvi, viss, kas mums jādara, ir jāiet mūsu datora vai Pi terminālī un ierakstiet šo komandu:

$ git klons

Nospiediet taustiņu Enter un redzēsit šo informāciju:

$ git klons https://github.com/InitialState/airvisual.git Klonēšana “airvisual”… tālvadība: objektu uzskaitīšana: 13, darīts. tālvadība: objektu skaitīšana: 100% (13/13), darīts. tālvadība: objektu saspiešana: 100% (12/12), darīts. tālvadības pults: kopā 13 (delta 2), atkārtoti izmantots 0 (delta 0), iepakojumā atkārtoti izmantots 0 Objektu izsaiņošana: 100% (13/13), darīts.

Kad esat to redzējis, apsveicam, jūs esat veiksmīgi klonējis GitHub Repo un jums ir visi nepieciešamie faili, lai izveidotu šo projektu. Pāriesim uz jauno direktoriju. Lai mainītu direktoriju, viss, kas jums jādara, ir ierakstīt “cd” un pēc tam ierakstīt tā direktorija nosaukumu, uz kuru vēlaties doties. Šajā gadījumā mēs ierakstīsim:

$ cd airvisual

Tiklīdz mēs nospiedīsim taustiņu Enter, jūs redzēsit, ka mēs tagad atrodamies aviācijas katalogā. Ievadīsim “ls”, lai redzētu, kādus failus esam instalējuši. Jums vajadzētu izskatīties apmēram šādi:

LICENCI README.md airquality.py

Mums ir vajadzīgi daži citi vienumi, pirms varam rediģēt kodu, tāpēc turpmāk apskatīsim gaisa kvalitātes API.

2. darbība. AirVisual API

AirVisual API
AirVisual API
AirVisual API
AirVisual API

AirVisual ir gaisa kvalitātes (AQI) un piesārņojuma API, kas ļauj bez maksas veikt līdz 10 000 API zvanu mēnesī. Jūs varat reģistrēties kopienas līmenim. Kad esat reģistrējies, varat atvērt sadaļu Mans gaiss un cilne API. Tieši šeit jūs atradīsit savas API atslēgas un dokumentāciju.

Noklikšķiniet uz pogas +Jauna atslēga, lai izveidotu mūsu pirmo API piekļuves atslēgu. Lai atlasītu plānu, izmantojiet nolaižamo izvēlni, lai atlasītu Kopiena, un noklikšķiniet uz Izveidot. Ja viss izdosies, jūs redzēsit paziņojumu par veiksmi un varēsit atgriezties savā API informācijas panelī, lai atrastu jauno pamatinformāciju. Galvenā vērtība (cipari un rakstzīmes) ir tas, kas jums būs nepieciešams šim projektam. Izpētot API dokumentāciju, redzēsit, ka varat veikt vairāku veidu API zvanus. Šim projektam mēs vēlamies iegūt tuvākos pilsētas datus, pamatojoties uz GPS koordinātām. Šim zvanam jums būs nepieciešama jūsu garuma, platuma un API atslēga. Ievadiet šos parametrus zemāk esošajā zvanā, ievietojiet to pārlūkprogrammas adreses joslā un nospiediet taustiņu Enter.

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

Tiks parādīti tuvākās pilsētas dati, pamatojoties uz GPS koordinātām. Tas izskatīsies apmēram šādi:

Lai labāk apskatītu datus, iesaku izmantot JSON formatētāju. Ja to izmantosit, tā vietā tas izskatīsies nedaudz šādi:

"statuss": "panākumi", "dati": {"pilsēta": "Nešvila", "štats": "Tenesī", "valsts": "ASV", "atrašanās vieta": {"tips": "Punkts", "koordinātas": [-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}, "piesārņojums": {"ts": "2019-04-08T18: 00: 00.000Z", "aqius": 10, "mainus": "p2", "aqicn": 3, "maincn": "p2"}

Tagad mēs varam viegli redzēt, ka mums ir informācija par atrašanās vietu, laika apstākļiem un piesārņojumu. Divas vērtības, uz kurām mēs koncentrējamies šajā projektā, ir ASV gaisa kvalitātes indekss (aquis) un galvenais piesārņotājs (mainus). Gaisa kvalitātes indeksa vērtība norāda, kāda ir vietējā gaisa kvalitātes vērtība un kā tā attiecas uz jūsu veselību. Zemāk ir krāsu kodēta diagramma. Galvenais piesārņotājs norāda, kāds ir jūsu apkārtnē esošais galvenais piesārņotājs gaisā (daļiņas, slāpekļa oksīds, ozons, oglekļa monoksīds, sēra oksīds). Šie piesārņotāji parasti ir dūmu skursteņu vai transportlīdzekļu emisiju blakusprodukti.

Tagad, kad mēs zinām, kā izmantot Air Visual API, nākamā lieta, kas mums būs nepieciešama, ir informācijas paneļa platforma datu parādīšanai.

3. darbība: sākotnējais stāvoklis

Sākotnējais stāvoklis
Sākotnējais stāvoklis
Sākotnējais stāvoklis
Sākotnējais stāvoklis

Mēs vēlamies straumēt visus mūsu laika apstākļu datus uz mākoņa pakalpojumu, un šis pakalpojums pārvērš mūsu datus par jauku informācijas paneli. Mūsu datiem ir nepieciešams galamērķis, tāpēc kā galamērķi mēs izmantosim sākotnējo valsti.

Reģistrējieties sākotnējam valsts kontam

Dodieties uz vietni https://iot.app.initialstate.com un izveidojiet jaunu kontu.

Instalējiet ISStreamer

Instalējiet sākotnējā stāvokļa Python moduli savā klēpjdatorā vai Raspberry Pi. Komandu uzvednē palaidiet šādu komandu:

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

Uztaisi automagic

Pēc komandas curl palaišanas ekrānā redzēsit kaut ko līdzīgu šim izvadam:

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

Parole: Sākot ISStreamer Python vienkāršu instalēšanu! Tas var aizņemt pāris minūtes, lai to instalētu, paņemiet kafiju:) Bet neaizmirstiet atgriezties, man būs jautājumi vēlāk! Atrasts easy_install: setuptools 1.1.6 Atrasts pip: pip 1.5.6 no /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip galvenā versija: 1 pip minor versija: 5 ISStreamer atrasts, tiek atjaunināts … Prasība jau ir atjaunināta: ISStreamer /Library/Python/2.7/site-packages Notīra … Vai vēlaties automātiski iegūt skripta paraugu? [y/N] Kur vēlaties saglabāt piemēru? [noklusējums:./is_example.py] Lūdzu, izvēlieties, kuru sākotnējā stāvokļa lietotni izmantojat: 1. app.initialstate.com 2. [NEW!] iot.app.initialstate.com Ievadiet 1. vai 2. izvēli: Ievadiet iot.app.initialstate.com lietotājvārds: ievadiet iot.app.initialstate.com paroli:

Kad tiek prasīts automātiski iegūt skripta piemēru, ierakstiet y. Tādējādi tiks izveidots testa skripts, kuru mēs varam palaist, lai nodrošinātu datu straumēšanu sākotnējā stāvoklī. Nākamajā uzvednē tiks jautāts, kur vēlaties saglabāt parauga failu. Jūs varat ierakstīt pielāgotu vietējo ceļu vai nospiest taustiņu Enter, lai pieņemtu noklusējuma atrašanās vietu. Visbeidzot, jums tiks jautāts, kuru sākotnējā stāvokļa lietotni izmantojat. Ja nesen esat izveidojis kontu, atlasiet 2. opciju, pēc tam ievadiet lietotājvārdu un paroli. Pēc tam instalēšana būs pabeigta.

Piekļuves atslēgas

Apskatīsim izveidotā skripta piemēru. $ nano is_example.py 15. rindā redzēsit rindu, kas sākas ar streamer = Streamer (bucket_…. Šīs rindas izveido jaunu datu kopu ar nosaukumu “Python Stream Example” un ir saistīta ar jūsu kontu. Šī saistība notiek, jo access_key =”…” parametrs tajā pašā rindā. Šī garā burtu un ciparu sērija ir jūsu sākotnējās valsts konta piekļuves atslēga. Ja tīmekļa pārlūkprogrammā dodaties uz savu sākotnējās valsts kontu, augšējā labajā stūrī noklikšķiniet uz sava lietotājvārda un pēc tam dodieties uz sadaļā “Mani iestatījumi” jūs atradīsit to pašu piekļuves atslēgu lapas apakšā sadaļā “Straumēšanas piekļuves atslēgas”. Katru reizi, kad izveidojat datu straumi, šī piekļuves atslēga novirzīs šo datu straumi uz jūsu kontu (tāpēc kopīgojiet savu atslēgu ar ikvienu).

Palaidiet piemēruRun testa skriptu, lai pārliecinātos, ka varam izveidot datu straumi jūsu sākotnējā stāvokļa kontā. Komandu uzvednē izpildiet tālāk norādīto.

$ python is_example.py

Datu piemērs

Tīmekļa pārlūkprogrammā atgriezieties sākotnējā valsts kontā. Kausa plaukta kreisajā pusē vajadzētu parādīties jaunai datu kopai ar nosaukumu “Python Stream Example” (iespējams, lapa būs jāatsvaidzina). Noklikšķiniet uz šīs grupas, lai skatītu datus.

Tagad esat gatavs sākt reālu datu straumēšanu no AirVisual API.

4. darbība. Gaisa kvalitātes informācijas panelis

Gaisa kvalitātes informācijas panelis
Gaisa kvalitātes informācijas panelis
Gaisa kvalitātes informācijas panelis
Gaisa kvalitātes informācijas panelis
Gaisa kvalitātes informācijas panelis
Gaisa kvalitātes informācijas panelis
Gaisa kvalitātes informācijas panelis
Gaisa kvalitātes informācijas panelis

Tagad par jautro daļu. Mēs esam gatavi sākt izmantot AirVisual API, lai izveidotu gaisa kvalitātes informācijas paneli un fiksētu gaisa piesārņojuma datus jebkurā vietā. Šis skripts airquality.py vienkārši izsauc AirVisual API, izmantojot jūsu API atslēgu, un izgūst pašreizējo gaisa piesārņojuma informāciju. Tas arī straumē šos datus uz jūsu sākotnējās valsts kontu, kas ļaus jums izveidot gaisa kvalitātes informācijas paneli.

Jūs varat piekļūt skriptam, izmantojot iepriekš klonēto Github krātuvi. Pirmā lieta, kas mums jādara, ir pārliecināties, vai esam AirVisual direktorijā:

$ cd airvisual

No šejienes jūs varēsit piekļūt pitona failam, kuru mēs izmantosim, lai izveidotu gaisa kvalitātes informācijas paneli. Pirms faila palaišanas mums ir jāveic dažas izmaiņas. Lai atvērtu python failu, izmantojiet nano komandu, lai atvērtu teksta redaktoru:

$ nano airquality.py

Kad teksta redaktors ir atvērts, skripta augšdaļā redzēsit šādu informāciju:

# --------- Lietotāja iestatījumi ---------

LATITUDE = "LAT" LONGITUDE = "LONG" AIRVISUAL_API_KEY = "AIR VISUAL API KEY" BUCKET_NAME = "Vietējā gaisa kvalitāte" BUCKET_KEY = "aq1" ACCESS_KEY = "SĀKUMA VALSTS PIEEJAS KEY" MINUTES_BETWE-MINUTES_BETWE -------------------------

Jums jāievada platums, garums, AirVisual API atslēga un sākotnējā stāvokļa piekļuves atslēga. Parametrs MINUTES_BETWEEN_READS noteiks, cik bieži jūsu skripts aptaujās AirVisual API, lai iegūtu informāciju par gaisa kvalitāti. Pietiek ar 5 minūtēm, lai nepārsniegtu 10 000 API zvanu ierobežojumu mēnesī. Īstermiņa testēšanas labad varat iestatīt to uz 0,5 minūtēm. Kad esat ievadījis parametrus, saglabājiet un izejiet no ievadītā teksta, ierakstot Control+X. Tagad jūs esat gatavs palaist savu skriptu:

$ python airquality.py

Ja vēlaties, lai šis skripts ilgstoši netiktu pārtraukts, varat izmantot komandu nohup (bez pārtraukuma) šādi:

$ nohup python airquality.py &

Kad tas darbojas, dodieties uz sākotnējo stāvokli, lai skatītu savus datus. Informācijas panelim vajadzētu izskatīties līdzīgi zemāk redzamajam attēlam. Jums ir GPS atrašanās vieta, gaisa kvalitātes indeksa vērtība un galvenais piesārņotājs.

Mans ieteikums būtu mainīt jūsu AQI vērtību uz mērinstrumenta flīzi. Turklāt pārvietojiet flīzes un mainiet to izmēru pēc vajadzības. Ja izmantojat to iegultam informācijas panelim, varat tos pārvietot, lai tie pēc vajadzības būtu piemēroti.

Ja jūs nolemjat padarīt AQI vērtību par mērinstrumentu, varat iestatīt krāsu slieksni līdzīgu gaisa kvalitātes indeksa diagrammai. Tas sniedz tūlītēju atjauninājumu par to, kur AQI vērtība ietilpst diagrammā, kad pārbaudāt informācijas paneli. Informācijas panelim varat pievienot fona attēlu, lai tas iegūtu vairāk konteksta.

Tātad jums ir viss nepieciešamais, lai izveidotu gaisa kvalitātes informācijas paneli. Bet ko darīt, ja vēlaties pievienot vairāk vai pievienot to jau izveidotam laika apstākļu informācijas panelim? Ja tas tā ir, turpiniet lasīt!

5. darbība. Izveidojiet laika apstākļu informācijas paneli

Izveidojiet laika apstākļu informācijas paneli
Izveidojiet laika apstākļu informācijas paneli

Vai ar gaisa kvalitātes datiem jums nepietiek? Ir daudz iespēju, kā pievienot vairāk informācijas panelim vai straumēt šos datus laika apstākļu informācijas panelī, kas jums jau ir!

Straumējiet laika apstākļus un gaisa kvalitāti vienā informācijas panelī

Ja jūs jau esat ieviesis mūsu DarkSky API vai Hyper-Local Weather Dashboard projektu, varat pievienot šos gaisa kvalitātes datus esošajam informācijas panelim. Tas ir diezgan vienkārši, viss, kas jums jādara, ir mainīt gaisa kvalitātes skripta parametrus, lai tiem būtu tāds pats kausa nosaukums, kausa atslēga un piekļuves atslēga kā laika apstākļu informācijas panelim. Tas ļaus datus nosūtīt tajā pašā informācijas panelī. Tagad jums būs pilns laika apstākļu informācijas panelis!

Lūdziet laika apstākļu Python failu piezvanīt, lai palaistu gaisa kvalitātes Python failu

Vēl viena iespēja, ja nevēlaties palaist divas atsevišķas programmas, ir ievietot gaisa kvalitātes python failu laika apstākļu projektu direktorijā. Lieciet laika apstākļu projekta python failam piezvanīt uz gaisa kvalitātes failu, lai tas tiktu palaists laikā, kad tiek palaists laika apstākļu fails. Vēlreiz noteikti ievietojiet vienu un to pašu kausa nosaukumu, kopas atslēgu un piekļuves atslēgu, lai tie darbotos vienā un tajā pašā informācijas panelī.

Izveidojiet vienu failu gan ar laika apstākļiem, gan gaisa kvalitāti

Un, ja jūtaties patiesi drosmīgs, varat ievietot gaisa kvalitātes kodu savā laika apstākļu python skriptā un vienkārši palaist vienu skriptu. Tas prasīs nedaudz vairāk kodēšanas pūļu nekā pārējās divas iespējas, taču tas nodrošina vienkāršotu programmu.

Straumējiet papildu informāciju no AirVisual API

Kā redzējāt, zvanot uz AirVisual API, tajā ir vairāk informācijas nekā tikai gaisa kvalitāte. Tas arī nodrošina temperatūru, mitrumu, vēja ātrumu, vēja virzienu un atmosfēras spiedienu. Mēs varam nosūtīt šo informāciju sākotnējai valstij tāpat kā gaisa kvalitātes indeksa vērtību un galveno piesārņotāju. Tas prasa tikai uzrakstīt vēl dažus paziņojumus.

Ieteicams: