Satura rādītājs:
- 1. darbība. Darba sākšana
- 2. darbība. AirVisual API
- 3. darbība: sākotnējais stāvoklis
- 4. darbība. Gaisa kvalitātes informācijas panelis
- 5. darbība. Izveidojiet laika apstākļu informācijas paneli
Video: AirVisual Air Quality API informācijas panelis: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
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
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 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
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
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
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:
Tasmota Admin - IIoT informācijas panelis: 6 soļi
Tasmota administrators - IIoT informācijas panelis: TasmoAdmin ir administratīva vietne ierīcēm, kas ir aprīkotas ar Tasmota. To varat atrast šeit: TasmoAdmin GitHub. Tā atbalsta darbību Windows, Linux un Docker konteineros. FunkcijasLogin aizsargāts Vairāku atjaunināšanas processIzvēlieties ierīces, lai atjauninātu Autom
COVID-19 PVO informācijas panelis: 8 soļi (ar attēliem)
COVID-19 PVO informācijas panelis: šīs instrukcijas parāda, kā izmantot ESP8266/ESP32 un LCD, lai izveidotu COVID-19 situāciju PVO informācijas panelis
COVID19 informācijas panelis pasaules kartē (izmantojot Python): 16 soļi
COVID19 informācijas panelis pasaules kartē (izmantojot Python): es zinu, ka gandrīz visi no mums zina lielāko daļu informācijas par COVID19. Un šis pamācības mērķis ir izveidot burbuļu karti, lai attēlotu reāllaika datus (gadījumus) pasaules kartē. , esmu pievienojis programmu Github krātuvei: https: //github.co
COVID-19 informācijas panelis (vienkāršs un vienkāršs): 4 soļi
COVID-19 informācijas panelis (vienkārši un viegli): visur ir milzīgs jaunā COVID-19 vīrusa uzliesmojums. Bija nepieciešams sekot līdzi pašreizējam Covid-19 scenārijam valstī. Tātad, būdams mājās, es domāju par šo projektu: " Informācijas informācijas panelis " - Da
Dark Sky API PyPortal & Weather informācijas panelis: 6 soļi
Dark Sky API PyPortal & Weather informācijas panelis: Šis projekts ir ieskats iepriekš paveiktajā - Dark Sky API Weather Dashboard. Šoreiz Raspberry Pi vietā mēs izmantosim Adafruit PyPortal, lai parādītu laika apstākļu datus un nosūtītu šos datus sākotnējai valstij. Divi informācijas paneļi viena darbam