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: 2022 Mercedes C-Class - INTERIOR & Exterior 2024, Srpanj
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 nadzornom pločom za vremenske prilike.

Ovo je jednostavan projekt koji vas uči kako koristiti API. Započnimo!

Korak 1: Početak

AirVisual API
AirVisual API

Već smo sastavili većinu koda, no usput ćete morati unijeti nekoliko prilagodbi. Postoji i mnogo mogućnosti za proširenje onoga što smo učinili.

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

klon $ git

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: Sažimanje objekata: 100% (12/12), učinjeno. daljinski: Ukupno 13 (delta 2), ponovno korišteno 0 (delta 0), ponovno pakiranje 0 Raspakiranje objekata: 100% (13/13), učinjeno.

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

$ cd airvisual

Nakon što pritisnemo enter, vidjet ćete da smo sada u zrakoplovnom imeniku. Upišite "ls" da vidite koje smo datoteke instalirali. Trebali biste izgledati ovako:

README LICENCE.md airquality.py

Prije uređivanja koda potrebne su nam neke druge stavke, pa pogledajmo API kvalitete zraka.

2. korak: AirVisual API

AirVisual API
AirVisual API
AirVisual API
AirVisual API

AirVisual ima API za kvalitetu zraka (AQI) i zagađenje koji omogućuje besplatno do 10 000 API poziva mjesečno. Možete se prijaviti na razinu 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 -ju.

Pritisnite gumb +Novi ključ za stvaranje našeg prvog pristupnog ključa za API. Za odabir plana upotrijebite padajući izbornik da biste odabrali zajednicu i kliknite Izradi. Ako sve prođe dobro, vidjet ćete poruku o uspjehu i možete se vratiti na nadzornu ploču API -ja kako biste pronašli svoje nove ključne podatke. Vrijednost ključa (brojevi i znakovi) ono će vam trebati za ovaj projekt. Ako pregledate dokumentaciju API -ja, 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 preglednika 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 temelju GPS koordinata. Izgledat će otprilike ovako:

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

"status": "uspjeh", "podaci": {"grad": "Nashville", "država": "Tennessee", "država": "SAD", "lokacija": {"type": "Toč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 usredotočujemo 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. Tablica označena bojama nalazi se ispod. Glavni zagađivač govori nam koji je glavni zagađivač u zraku za vaše područje (čestice, dušikov oksid, ozon, ugljikov monoksid, sumpor -oksid). Ti su zagađivači obično nusproizvodi dimnjaka ili emisija iz vozila.

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

Korak 3: Početno stanje

Početno stanje
Početno stanje
Početno stanje
Početno stanje

Ž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.

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

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

Instalirajte ISStreamer

Instalirajte početni državni Python modul na svoje prijenosno računalo ili Raspberry Pi. U naredbenom retku pokrenite sljedeću naredbu:

$ / 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 laka instalacija ISStreamer Pythona! Ovo može potrajati nekoliko minuta za instalaciju, uzmite kavu:) Ali ne zaboravite se vratiti, imat ću pitanja kasnije! Nađ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 mala verzija pipa: 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 dobiti primjer 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 bili sigurni da možemo strujati podatke u početno stanje. Sljedeći upit će vas upitati gdje želite spremiti datoteku primjera. Možete unijeti prilagođeni lokalni put ili pritisnuti enter da biste prihvatili zadanu lokaciju. Na kraju će vas pitati koju aplikaciju Initial State koristite. Ako ste nedavno stvorili račun, odaberite opciju 2, a zatim unesite korisničko ime i lozinku. Nakon toga instalacija će biti dovrš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_…. Ovi retci stvaraju novu podatkovnu gomilu pod nazivom „Primjer Python Stream -a“i povezani su s vašim računom. To se povezivanje događa zbog access_key =”…” parametar na istom retku. 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 svoje korisničko ime u gornjem desnom kutu, a zatim idite u "moje postavke", isti pristupni ključ pronaći ćete pri dnu stranice u odjeljku "Pristupni ključevi za strujanje". Svaki put kada stvorite podatkovni tok, taj će pristupni ključ usmjeriti taj tok podataka na vaš račun (stoga nemojte podijelite svoj ključ s bilo kim).

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

$ python je_example.py

Primjeri podataka

Vratite se na početno stanje računa u svom web pregledniku. Novi spremnik podataka pod nazivom „Primjer Python Stream -a“trebao se pojaviti s lijeve strane na vašoj polici (možda ćete morati osvježiti stranicu). Kliknite na ovu kantu za pregled podataka.

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

Korak 4: 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
Nadzorna ploča kvalitete zraka

A sada zabavni dio. Spremni smo početi koristiti AirVisual API za izradu nadzorne ploče kvalitete zraka i hvatanje podataka o onečišćenju zraka gdje god odaberemo. Ova skripta airquality.py jednostavno poziva AirVisual API pomoću vašeg API ključa i dohvaća trenutne podatke o onečišćenju zraka. Također prenosi te podatke na vaš račun početnog stanja, što će vam omogućiti stvaranje nadzorne ploče kvalitete zraka.

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

$ cd airvisual

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

$ nano airquality.py

Nakon što 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 = "Lokalna kvaliteta zraka" BUCKET_KEY = "aq1" ACCESS_KEY = "POČETNI DRŽAVNI PRISTUP KLJUČ" MINUTES_BETWE -------------------------

Morate unijeti svoju zemljopisnu š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 &

Nakon što se ovo pokrene, idite na Početno stanje da biste vidjeli svoje podatke. Vaša bi nadzorna ploča 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 pomaknuti kako bi odgovarali potrebama.

Ako odlučite svoju vrijednost AQI mjeriti, tada možete postaviti prag boje sličan grafikonu indeksa kvalitete zraka. To vam daje trenutačno ažuriranje o tome gdje vrijednost AQI 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 kvalitete zraka. Ali što ako želite dodati još toga ili ga dodati na vremensku ploču koju ste već stvorili? Ako je to slučaj, nastavite čitati!

Korak 5: Napravite nadzornu ploču za ukupno vrijeme

Napravite nadzornu ploču za ukupno vrijeme
Napravite nadzornu ploču za ukupno vrijeme

Nisu li vam samo podaci o kvaliteti zraka dovoljni? Pa, postoji mnogo mogućnosti za dodavanje više na 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, ove podatke o kvaliteti zraka možete dodati 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. To će omogućiti slanje podataka na istu nadzornu ploču. Sada ćete imati potpunu nadzornu ploču za vrijeme!

Neka vaša Python datoteka Weather 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 dok 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.

Izradite jednu datoteku s kvalitetom vremena i zraka

A ako se osjećate jako podebljano, 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 pojednostavljeni program.

Prijenos dodatnih informacija iz AirVisual API -ja

Kao što ste vidjeli kada smo pozvali AirVisual API, on ima više informacija od kvalitete 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čeni: