Sadržaj:

Nadzorna ploča API -ja za kvalitetu zraka AirVisual: 5 koraka
Nadzorna ploča API -ja za kvalitetu zraka AirVisual: 5 koraka

Video: Nadzorna ploča API -ja za kvalitetu zraka AirVisual: 5 koraka

Video: Nadzorna ploča API -ja za kvalitetu zraka AirVisual: 5 koraka
Video: Рейс люкс первого класса из Токио в Сингапур | Сингапурские авиалинии A380 2024, Juli
Anonim
Image
Image

AirVisual (https://www.airvisual.com) je web stranica koja pruža podatke o kvaliteti zraka u cijelom svijetu. Imaju API koji ćemo koristiti za dobivanje podataka o kvaliteti zraka za slanje na nadzornu ploču. Mi ćemo komunicirati s ovim API -jem slično kao što smo radili s vremenskom tablom.

Ovo je jednostavan projekt koji vas uči kako koristiti API. Hajde da počnemo!

Korak 1: Početak

AirVisual API
AirVisual API

Već smo sastavili većinu koda, ali usput ćete morati napraviti neke prilagodbe. Postoji i mnogo mogućnosti za proširenje onoga što smo učinili.

Da biste dohvatili sve stvari koje smo pripremili za vas, morat ćete klonirati spremište s GitHub -a. GitHub je sjajna usluga koja nam omogućuje pohranu, reviziju i upravljanje ovakvim projektima. Ovu skriptu ćete htjeti pokrenuti na namjenskom uređaju. Možete koristiti laptop, Raspberry Pi ili drugi single board računar. Za kloniranje spremišta sve što trebamo učiniti je otići u terminal našeg računala ili Pi i upisati ovu naredbu:

$ git klon

Pritisnite enter i vidjet ćete ove podatke:

$ git clone https://github.com/InitialState/airvisual.git Kloniranje u 'airvisual' … daljinski: Nabrajanje objekata: 13, gotovo. daljinski: Brojanje objekata: 100% (13/13), gotovo. daljinski: Komprimiranje objekata: 100% (12/12), gotovo. daljinski: Ukupno 13 (delta 2), ponovno korišteno 0 (delta 0), ponovno pakiranje 0 Raspakiranje objekata: 100% (13/13), gotovo.

Nakon što ovo vidite, čestitamo, uspješno ste klonirali GitHub Repo i imate sve potrebne datoteke za izradu ovog projekta. Idemo u novi direktorij. Da biste promijenili direktorije, sve što trebate učiniti je upisati "cd", a zatim upisati ime direktorija u koji želite otići. U ovom slučaju otkucaćemo:

$ cd airvisual

Nakon što pritisnemo enter, vidjet ćete da smo sada u imeniku airvisuala. Upišite "ls" da vidite koje smo datoteke instalirali. Trebalo bi da izgledate ovako:

LICENCA README.md airquality.py

Potrebne su nam neke druge stavke prije nego što možemo urediti kôd, pa pogledajmo API za kvalitetu zraka.

Korak 2: AirVisual API

AirVisual API
AirVisual API
AirVisual API
AirVisual API

AirVisual ima API kvalitete zraka (AQI) i zagađenje koji omogućava do 10 000 API poziva mjesečno besplatno. Možete se prijaviti za nivo zajednice. Nakon što se prijavite, možete otići na My Air i karticu API. Ovdje ćete pronaći svoje API ključeve i dokumentaciju o API -u.

Pritisnite dugme +Novi ključ za kreiranje našeg prvog pristupnog ključa za API. Za odabir plana, pomoću padajućeg izbornika odaberite Zajednica i kliknite Stvori. Ako sve prođe u redu, vidjet ćete poruku o uspjehu i možete se vratiti na svoju nadzornu ploču API -ja kako biste pronašli svoje nove ključne informacije. Vrijednost ključa (brojevi i znakovi) je ono što će vam trebati za ovaj projekt. Ako pročitate API dokumentaciju, vidjet ćete da postoji više vrsta API poziva koje možete uputiti. Za ovaj projekt želimo dobiti podatke o najbližem gradu na temelju GPS koordinata. Za ovaj poziv trebat će vam vaša dužina, širina i API ključ. Unesite te parametre u donji poziv, unesite ih u adresnu traku u svom pregledniku i pritisnite enter.

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

Ovo će vratiti podatke o najbližem gradu na osnovu GPS koordinata. To će izgledati otprilike ovako:

Preporučujem korištenje JSON formatora za bolji pregled podataka. Ako ga koristite, to će izgledati otprilike ovako:

"status": "uspjeh", "podaci": {"grad": "Nashville", "država": "Tennessee", "država": "SAD", "lokacija": {"type": "Tačka", "koordinate": [-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}, "zagađenje": {"ts": "2019-04-08T18: 00: 00.000Z", "aqius": 10, "mainus": "p2", "aqicn": 3, "maincn": "p2"}

Sada možemo lako vidjeti da imamo informacije o lokaciji, vremenu i zagađenju. Dvije vrijednosti na koje se fokusiramo za ovaj projekt su Indeks kvalitete zraka US (aquis) i Glavni zagađivač (mainus). Vrijednost Indeksa kvalitete zraka govori nam koja je lokalna vrijednost kvalitete zraka i kako se to odnosi na vaše zdravlje. Tabela označena bojama nalazi se ispod. Glavni zagađivač nam govori koji je glavni zagađivač u zraku za vaše područje (čestice, dušikov oksid, ozon, ugljični monoksid, sumpor -oksid). Ovi zagađivači su obično nusprodukti naslaga dima ili emisija iz vozila.

Sada kada znamo kako koristiti Air Visual API, sljedeće što će nam trebati je platforma nadzorne ploče za prikaz podataka.

Korak 3: Početno stanje

Početna država
Početna država
Početna država
Početna država

Želimo prenijeti sve naše vremenske podatke na uslugu u oblaku i učiniti da ta usluga pretvori naše podatke u lijepu nadzornu ploču. Naši podaci trebaju odredište pa ćemo kao odredište koristiti početno stanje.

Registrujte se za početni državni račun

Idite na https://iot.app.initialstate.com i kreirajte novi račun.

Instalirajte ISStreamer

Instalirajte početni državni Python modul na svoj laptop ili Raspberry Pi. Na komandnoj liniji pokrenite sledeću komandu:

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

Napravite Automagic

Nakon što pokrenete naredbu curl, na ekranu ćete vidjeti nešto slično sljedećem izlazu:

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

Lozinka: Počinje ISStreamer Python Laka instalacija! Ovo može potrajati nekoliko minuta da se instalira, popijete kafu:) Ali ne zaboravite da se vratite, ja ću imati pitanja kasnije! Pronađeno easy_install: setuptools 1.1.6 Pronađeno pip: pip 1.5.6 iz /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) glavna verzija pipa: 1 pip minor verzija: 5 ISStreamer je pronađen, ažurira se … Zahtev je već ažuriran: ISStreamer u /Library/Python/2.7/site-packages Cleaning… Želite li automatski da dobijete primer skripte? [y/N] Gdje želite spremiti primjer? [zadano:./is_example.py] Molimo odaberite aplikaciju početnog stanja koju koristite: 1. app.initialstate.com 2. [NOVO!] iot.app.initialstate.com Unesite izbor 1 ili 2: Unesite iot.app.initialstate.com korisničko ime: Unesite lozinku iot.app.initialstate.com:

Kada se od vas zatraži da automatski nabavite primjer skripte, upišite y. Ovo će stvoriti testnu skriptu koju možemo pokrenuti kako bismo osigurali da možemo prenositi podatke u početno stanje. Sljedeći upit će vas upitati gdje želite spremiti datoteku primjera. Možete unijeti prilagođenu lokalnu putanju ili pritisnuti enter da biste prihvatili zadanu lokaciju. Na kraju će vas pitati koju aplikaciju Initial State koristite. Ako ste nedavno kreirali račun, odaberite opciju 2, a zatim unesite korisničko ime i lozinku. Nakon toga instalacija će biti završena.

Pristupni ključevi

Pogledajmo primjer skripte koja je stvorena. $ nano is_example.py Na 15. retku vidjet ćete redak koji počinje sa streamer = Streamer (bucket_…. Ove linije stvaraju novu podatkovnu gomilu pod nazivom „Primjer Python Stream -a“i povezane su s vašim računom. Ova asocijacija se događa zbog access_key =”…” parametar u istoj liniji. Taj dugi niz slova i brojeva vaš je pristupni ključ računa početnog stanja. Ako u svom web pregledniku otvorite svoj račun početnog stanja, kliknite na svoje korisničko ime u gornjem desnom kutu, a zatim idite u "moje postavke", isti pristupni ključ ćete pronaći pri dnu stranice pod "Pristupni ključevi za prijenos". Svaki put kada kreirate tok podataka, taj pristupni ključ će usmjeriti taj tok podataka na vaš račun (zato nemojte podijelite svoj ključ s bilo kim).

Pokrenite ExampleRun testnu skriptu kako biste bili sigurni da možemo stvoriti tok podataka na vašem računu početnog stanja. Pokrenite sljedeće u naredbenom retku:

$ python is_example.py

Primjer podataka

Vratite se na svoj račun početnog stanja u svom web pregledniku. Nova korpa podataka pod nazivom „Primjer Python Stream -a“trebala se pojaviti s lijeve strane na vašoj korpi (možda ćete morati osvježiti stranicu). Kliknite na ovu korpu za pregled podataka.

Sada ste spremni za početak prijenosa stvarnih podataka iz AirVisual API -ja.

Korak 4: Nadzorna ploča za kvalitetu zraka

Nadzorna ploča kvalitete zraka
Nadzorna ploča kvalitete zraka
Nadzorna ploča kvalitete zraka
Nadzorna ploča kvalitete zraka
Nadzorna ploča kvalitete zraka
Nadzorna ploča kvalitete zraka
Nadzorna ploča kvalitete zraka
Nadzorna ploča kvalitete zraka

A sada zabavni dio. Spremni smo za početak korištenja AirVisual API -ja za izradu nadzorne ploče za kvalitetu zraka i hvatanje podataka o zagađenju zraka gdje god odaberemo. Ova skripta airquality.py jednostavno poziva AirVisual API pomoću vašeg API ključa i dohvaća trenutne informacije o zagađenju zraka. Također prenosi te podatke na vaš račun početnog stanja, što će vam omogućiti da kreirate nadzornu ploču za kvalitetu zraka.

Skripti možete pristupiti putem Github spremišta koje smo ranije klonirali. Prvo što moramo učiniti je provjeriti da li smo u direktoriju AirVisual:

$ cd airvisual

Odavde ćete moći pristupiti python datoteci koju ćemo pokrenuti za kreiranje naše nadzorne ploče za kvalitetu zraka. Moramo unijeti neke promjene u datoteku prije nego što je pokrenemo. Da biste otvorili python datoteku, pomoću naredbe nano otvorite uređivač teksta:

$ nano airquality.py

Kada se uređivač teksta otvori, pri vrhu skripte vidjet ćete sljedeće:

# --------- Korisničke postavke ---------

LATITUDE = "LAT" LONGITUDE = "LONG" AIRVISUAL_API_KEY = "AIR VISUAL API KEY" BUCKET_NAME = "Kvalitet lokalnog vazduha" BUCKET_KEY = "aq1" ACCESS_KEY = "POČETNI DRŽAVNI PRISTUP KLJUČ" MINUTES_BETWE -------------------------

Morate unijeti svoju geografsku širinu, dužinu, AirVisual API ključ i pristupni ključ početnog stanja. Parametar MINUTES_BETWEEN_READS će postaviti koliko često će vaša skripta anketirati AirVisual API za informacije o kvaliteti zraka. 5 minuta dovoljno vremena da ne pređete ograničenje od 10 000 API poziva mjesečno. Radi kratkotrajnog testiranja, ovo možete postaviti na 0,5 minuta. Nakon što unesete parametre, spremite i izađite iz unosa teksta upisivanjem Control+X. Sada ste spremni za pokretanje skripte:

$ python airquality.py

Ako želite ostaviti ovu skriptu da radi neprekidno duže vrijeme, možete koristiti naredbu nohup (bez prekidanja veze) na sljedeći način:

$ nohup python airquality.py &

Kada se ovo pokrene, idite na Početno stanje da vidite svoje podatke. Kontrolna ploča bi trebala izgledati poput slike ispod. Imate svoju GPS lokaciju, vrijednost indeksa kvalitete zraka i svog glavnog zagađivača.

Moja preporuka bi bila da promijenite svoju AQI vrijednost u pločicu mjerača. Također, pomičite pločice i mijenjajte veličinu prema potrebi. Ako ovo koristite za ugrađenu nadzornu ploču, možete ih pomicati prema potrebi.

Ako odlučite da vrijednost AQI bude mjerač, tada možete postaviti prag boje sličan grafikonu indeksa kvalitete zraka. Ovo vam daje trenutno ažuriranje o tome gdje AQI vrijednost pada na grafikonu kada provjerite svoju nadzornu ploču. Možete dodati pozadinsku sliku na nadzornu ploču kako biste joj dali više konteksta.

Dakle, imate sve što vam je potrebno za izradu nadzorne ploče za kvalitetu zraka. Ali šta ako želite dodati još toga ili ga dodati na vremensku tablu koju ste već stvorili? Ako je to slučaj, nastavite čitati!

Korak 5: Napravite nadzornu ploču za ukupno vrijeme

Napravite total Weather Dashboard
Napravite total Weather Dashboard

Zar vam podaci o kvaliteti zraka jednostavno nisu dovoljni? Pa, postoji mnogo mogućnosti za dodavanje više na vašu nadzornu ploču ili strujanje ovih podataka na vremensku ploču koju već imate!

Prenesite vrijeme i kvalitetu zraka na jednu nadzornu ploču

Ako ste već implementirali naš DarkSky API ili projekt Hyper-Local Weather Dashboard, možete dodati ove podatke o kvaliteti zraka na svoju postojeću nadzornu ploču. Prilično je jednostavno, sve što trebate učiniti je promijeniti parametre u skripti kvalitete zraka tako da imaju isti naziv kante, ključ kante i pristupni ključ kao ono što ste koristili za svoju vremensku ploču. Ovo će omogućiti slanje podataka na istu nadzornu ploču. Sada ćete imati potpunu nadzornu ploču za vrijeme!

Neka vaša vremenska Python datoteka pozove da pokrenete Python datoteku kvalitete zraka

Druga mogućnost ako ne želite pokrenuti dva odvojena programa je da stavite python datoteku kvalitete zraka u direktorij vremenskih projekata. Neka python datoteka weather project pozove datoteku o kvaliteti zraka kako bi se pokrenula kada je vaša vremenska datoteka pokrenuta. Opet, obavezno stavite isti naziv kante, ključ kante i pristupni ključ tako da se pokreću na istu nadzornu ploču.

Napravite jednu datoteku s kvalitetom vremena i zraka

A ako se osjećate jako hrabro, možete staviti dio koda kvalitete zraka u svoju vremensku python skriptu i imati samo jednu skriptu za pokretanje. To će zahtijevati malo više kodiranja nego druge dvije opcije, ali čini pojednostavljen program.

Prenesite dodatne informacije iz AirVisual API -ja

Kao što ste vidjeli kada smo pozvali AirVisual API, on ima više informacija od kvaliteta zraka. Također osigurava temperaturu, vlažnost, brzinu vjetra, smjer vjetra i atmosferski tlak. Te podatke možemo poslati početnom stanju na isti način na koji smo poslali vrijednost indeksa kvalitete zraka i glavnog zagađivača. Potrebno je samo da napišete još nekoliko if izjava.

Preporučuje se: