Sisukord:

AirVisual Air Quality API armatuurlaud: 5 sammu
AirVisual Air Quality API armatuurlaud: 5 sammu

Video: AirVisual Air Quality API armatuurlaud: 5 sammu

Video: AirVisual Air Quality API armatuurlaud: 5 sammu
Video: Stream Air Quality with Air Visual API | GIT TECH'D 2024, Juuli
Anonim
Image
Image

AirVisual (https://www.airvisual.com) on veebisait, mis pakub andmeid õhukvaliteedi kohta kogu maailmas. Neil on API, mida kasutame õhukvaliteedi andmete saamiseks armatuurlauale saatmiseks. Suhtleme selle API -ga sarnaselt ilmastiku juhtpaneeliga.

See on lihtne projekt, mis õpetab teile API -d kasutama. Alustame!

1. samm: alustamine

AirVisual API
AirVisual API

Oleme juba suurema osa koodist kokku pannud, kuid teil on vaja teha mõned muudatused. Samuti on palju võimalusi oma tegemiste laiendamiseks.

Kõigi teie jaoks ettevalmistatud asjade hankimiseks peate hoidla kloonima GitHubist. GitHub on suurepärane teenus, mis võimaldab meil selliseid projekte salvestada, muuta ja hallata. Seda skripti soovite käivitada spetsiaalses seadmes. Võite kasutada sülearvutit, Raspberry Pi või muud üheplaadilist arvutit. Hoidla kloonimiseks peame minema arvuti või Pi terminali ja sisestama selle käsu:

$ git kloon

Vajutage sisestusklahvi ja näete seda teavet:

$ git kloon https://github.com/InitialState/airvisual.git Kloonimine 'airvisual' … kaugjuhtimispult: objektide loendamine: 13, tehtud. pult: objektide loendamine: 100% (13/13), tehtud. pult: objektide tihendamine: 100% (12/12), valmis. kaugjuhtimispult: kokku 13 (delta 2), taaskasutatud 0 (delta 0), pakendis taaskasutatud 0 Objektide lahtipakkimine: 100% (13/13), valmis.

Kui olete seda näinud, õnnitleme, olete GitHub Repo edukalt klooninud ja teil on kõik selle projekti loomiseks vajalikud failid. Liigume uude kataloogi. Kataloogi muutmiseks peate lihtsalt sisestama "cd" ja seejärel selle kataloogi nime, kuhu soovite minna. Sel juhul kirjutame:

$ cd airvisual

Kui vajutame sisestusklahvi, näete, et oleme nüüd lennunduskataloogis. Trükime "ls", et näha, millised failid oleme installinud. Peaksite tunduma midagi sellist:

Litsents README.md airquality.py

Enne koodi muutmist vajame mõnda muud üksust, nii et vaatame järgmisena õhukvaliteedi API -d.

2. samm: AirVisual API

AirVisual API
AirVisual API
AirVisual API
AirVisual API

AirVisualil on õhukvaliteedi (AQI) ja reostuse API, mis võimaldab tasuta kuni 10 000 API kõnet kuus. Saate registreeruda kogukonna tasemele. Kui olete registreerunud, võite minna Minu õhku ja vahekaardile API. Siit leiate oma API võtmed ja API dokumentatsiooni.

Meie esimese API juurdepääsuvõtme loomiseks klõpsake nuppu +Uus võti. Valige plaani valimiseks rippmenüüst Ühendus ja klõpsake nuppu Loo. Kui kõik läheb hästi, näete edusõnumit ja saate naasta oma API juhtpaneelile, et leida oma uus põhiteave. Põhiväärtus (numbrid ja märgid) on see, mida selle projekti jaoks vajate. Kui uurite API dokumentatsiooni, näete, et saate teha mitut tüüpi API -kõnesid. Selle projekti jaoks soovime saada lähimaid linnaandmeid, mis põhinevad GPS -koordinaatidel. Selle kõne jaoks vajate oma pikkuskraadi, laiuskraadi ja API võtit. Sisestage need parameetrid allolevasse kõnesse, sisestage see oma brauseri aadressiribale ja vajutage sisestusklahvi.

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

See tagastab lähima linna andmed GPS -koordinaatide põhjal. See näeb välja umbes selline:

Soovitan andmetest parema ülevaate saamiseks kasutada JSON -vormindajat. Kui kasutate seda, näeb see välja natuke selline:

"olek": "edu", "data": {"city": "Nashville", "state": "Tennessee", "country": "USA", "location": {"type": "Point", "koordinaadid": [-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}, "saaste": {"ts": "2019-04-08T18: 00: 00.000Z", "aqius": 10, "mainus": "p2", "aqicn": 3, "maincn": "p2"}

Nüüd näeme hõlpsalt, et meil on teavet asukoha, ilmastiku ja reostuse kohta. Selle projekti puhul keskendume kahele väärtusele: USA õhukvaliteedi indeks (aquis) ja peamine saasteaine (mainus). Õhukvaliteedi indeksi väärtus näitab meile, milline on kohalik õhukvaliteedi väärtus ja kuidas see teie tervist puudutab. Värvikoodiga diagramm on allpool. Peamine saasteaine ütleb meile, milline on teie piirkonna peamine õhusaasteaine (tahked osakesed, lämmastikoksiid, osoon, vingugaas, vääveloksiid). Need saasteained on tavaliselt suitsupakkide või sõidukite heitmete kõrvalsaadused.

Nüüd, kui me teame, kuidas Air Visual API -d kasutada, on järgmiseks vaja andmete kuvamiseks armatuurlaua platvormi.

3. samm: esialgne olek

Esialgne riik
Esialgne riik
Esialgne riik
Esialgne riik

Soovime voogesitada kõiki oma ilmateateid pilveteenusesse ja lasta sellel teenusel muuta meie andmed toredaks armatuurlauaks. Meie andmed vajavad sihtkohta, nii et kasutame selle sihtkohana esialgset riiki.

Registreerige esmase riigi kontole

Minge aadressile https://iot.app.initialstate.com ja looge uus konto.

Installige ISStreamer

Installige algse oleku Pythoni moodul oma sülearvutisse või Raspberry Pi -sse. Käsurealt käivitage järgmine käsk:

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

Tehke automagic

Pärast käsk curl käivitamist näete ekraanile midagi sarnast järgmise väljundiga:

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

Parool: ISStreamer Python lihtne paigaldamine! Selle paigaldamiseks võib kuluda paar minutit, haarake kohvi:) Aga ärge unustage tagasi tulla, mul on hiljem küsimusi! Leiti easy_install: setuptools 1.1.6 Leiti pip: pip 1.5.6 /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip peamine versioon: 1 pip kõrvalversioon: 5 ISStreamer leiti, värskendatakse … Nõue on juba ajakohane: ISStreamer /Library/Python/2.7/site-packages Cleaning up … Kas soovite automaatse näidiskripti saada? [y/N] Kuhu soovite näite salvestada? [vaikimisi:./is_example.py] Palun valige, millist algse oleku rakendust kasutate: 1. app.initialstate.com 2. [UUS!] iot.app.initialstate.com Sisestage valik 1 või 2: Sisestage iot.app.initialstate.com kasutajanimi: sisestage iot.app.initialstate.com parool:

Kui teil palutakse näiteskripti automaatselt hankida, tippige y. See loob testskripti, mille saame käivitada, et tagada andmete voogesitus algolekusse. Järgmine viip küsib, kuhu soovite näidisfaili salvestada. Vaikimisi asukoha aktsepteerimiseks võite sisestada kohandatud kohaliku tee või vajutada sisestusklahvi. Lõpuks küsitakse teilt, millist algse riigi rakendust te kasutate. Kui olete hiljuti konto loonud, valige suvand 2, seejärel sisestage kasutajanimi ja parool. Pärast seda on installimine lõpule viidud.

Juurdepääsuklahvid

Vaatame loodud skripti näidist. $ nano is_example.py 15. real näete rida, mis algab sõnadega streamer = Streamer (bucket_…. Need read loovad uue andmekogumi nimega „Python Stream Example” ja on seotud teie kontoga. See seos juhtub access_key =”…” parameeter samal real. See pikk tähtede ja numbrite seeria on teie algse riigi konto juurdepääsuvõti. Kui lähete oma veebibrauseris oma algse riigi kontole, klõpsake paremas ülanurgas oma kasutajanime ja seejärel minge jaotisest „Minu seaded” leiate sama juurdepääsuklahvi lehe allservast jaotisest „Voogesituse juurdepääsuvõtmed”. Iga kord, kui loote andmevoo, suunab see juurdepääsuvõti selle andmevoo teie kontole (seega ärge jagage oma võtit kellegagi).

Käivitage näide. Käivitage testskript, et veenduda, kas suudame teie algse oleku kontole andmevoo luua. Käivitage oma käsureale järgmine käsk:

$ python is_example.py

Näidisandmed

Minge oma veebibrauseris tagasi algse riigi kontole. Uus andmekogum nimega “Pythoni voo näide” oleks pidanud ilmuma teie ämbririiuli vasakul küljel (peate võib -olla lehte värskendama). Andmete vaatamiseks klõpsake sellel ämbril.

Nüüd olete valmis alustama AirVisual API -st tõeliste andmete voogesitust.

4. samm: õhukvaliteedi juhtpaneel

Õhukvaliteedi armatuurlaud
Õhukvaliteedi armatuurlaud
Õhukvaliteedi armatuurlaud
Õhukvaliteedi armatuurlaud
Õhukvaliteedi armatuurlaud
Õhukvaliteedi armatuurlaud
Õhukvaliteedi armatuurlaud
Õhukvaliteedi armatuurlaud

Nüüd lõbusa osa juurde. Oleme valmis kasutama AirVisual API -d õhukvaliteedi armatuurlaua loomiseks ja õhusaaste andmete kogumiseks kõikjal, kus me valime. See skript airquality.py lihtsalt kutsub teie API võtit kasutades AirVisual API -d ja otsib praeguse õhusaaste teabe. See voogesitab need andmed ka teie esialgse riigi kontole, mis võimaldab teil luua õhukvaliteedi juhtpaneeli.

Skriptile pääsete juurde varem kloonitud Githubi hoidla kaudu. Esimene asi, mida peame tegema, on veenduda, et oleme AirVisuali kataloogis:

$ cd airvisual

Siit pääsete juurde püütoni failile, mida käivitame õhukvaliteedi juhtpaneeli loomiseks. Enne faili käivitamist peame selles muudatusi tegema. Pythoni faili avamiseks kasutage tekstiredaktori avamiseks käsku nano:

$ nano airquality.py

Kui tekstiredaktor on avatud, näete skripti ülaosas järgmist:

# --------- Kasutaja seaded ---------

LATITUDE = "LAT" LONGITUDE = "LONG" AIRVISUAL_API_KEY = "AIR VISUAL API KEY" BUCKET_NAME = "Kohalik õhukvaliteet" BUCKET_KEY = "aq1" ACCESS_KEY = "ALGRIIGI JUURDEVÕTMISE VÕTMED" MINUTES_BETWE -------------------------

peate sisestama oma laius-, pikkuskraadi, AirVisual API võtme ja algse oleku juurdepääsu võtme. Parameeter MINUTES_BETWEEN_READS määrab, kui sageli teie skript küsib AirVisual API õhukvaliteedi kohta teavet. 5 minutit piisavalt aega, et te ei ületaks oma 10 000 API kõne kuupiirangut. Lühiajalise testimise huvides saate määrata selle väärtuseks 0,5 minutit. Kui olete oma parameetrid sisestanud, salvestage ja väljuge sisestatud tekstist, sisestades klahvikombinatsiooni Control+X. Nüüd olete valmis oma skripti käivitama:

$ python airquality.py

Kui soovite selle skripti pikka aega katkestusteta jätta, võite kasutada käsku nohup (katkestamist) järgmiselt.

$ nohup python airquality.py &

Kui see töötab, minge oma andmete vaatamiseks lähteolekusse. Teie armatuurlaud peaks välja nägema nagu alloleval pildil. Teil on oma GPS -asukoht, õhukvaliteedi indeksi väärtus ja peamine saasteaine.

Minu soovitus oleks muuta teie AQI väärtus mõõturplaadiks. Samuti liigutage plaate ringi ja muutke nende suurust vastavalt vajadusele. Kui kasutate seda sisseehitatud armatuurlaua jaoks, saate neid vastavalt vajadusele teisaldada.

Kui otsustate muuta oma AQI väärtuse gabariidiks, saate värvikünnise seada õhukvaliteedi indeksi tabeli sarnaseks. See annab teile kohe värskenduse selle kohta, kus AQI väärtus tabelis langeb, kui kontrollite oma armatuurlauda. Saate juhtpaneelile lisada taustapildi, et anda sellele rohkem konteksti.

Nii et teil on kõik vajalik õhukvaliteedi armatuurlaua loomiseks. Aga mis siis, kui soovite lisada või lisada selle juba loodud ilmastiku juhtpaneelile? Kui see nii on, siis jätkake lugemist!

Samm: tehke ilmastiku juhtpaneel kokku

Tehke kogu ilma juhtpaneel
Tehke kogu ilma juhtpaneel

Kas õhukvaliteedi andmetest lihtsalt ei piisa? Noh, seal on palju võimalusi, kuidas oma armatuurlauale rohkem lisada või neid andmeid voogesitada ilmastiku juhtpaneelile, mis teil juba on!

Voogesitage ilm ja õhukvaliteet ühele armatuurlauale

Kui olete juba rakendanud meie DarkSky API või Hyper-Local Weather Dashboard projekti, saate need õhukvaliteedi andmed oma olemasolevale armatuurlauale lisada. See on üsna lihtne. Kõik, mida peate tegema, on muuta õhukvaliteedi skripti parameetreid, et neil oleks sama ämbri nimi, ämbrivõti ja juurdepääsuvõti, mida kasutasite ilmastiku juhtpaneelil. See võimaldab saata andmed samale armatuurlauale. Nüüd on teil ilmastiku juhtpaneel!

Laske oma ilmastiku Pythoni failil helistada õhukvaliteedi Pythoni faili käivitamiseks

Teine võimalus, kui te ei soovi kahte eraldi programmi käivitada, on panna õhukvaliteedi pythoni fail ilmateadete kataloogi. Laske ilmaprojekti python -failil helistada õhukvaliteedi failile, et see ilmateatefaili ajal töötaks. Jällegi veenduge, et panete sama ämbri nime, ämbrivõtme ja juurdepääsuvõtme, et need töötaksid samale armatuurlauale.

Looge üks ilmastiku- ja õhukvaliteediga fail

Ja kui tunnete end tõeliselt julgena, võite oma ilmastiku pythoni skripti panna osa õhukvaliteedi koodist ja käivitada ainult ühe skripti. See nõuab natuke rohkem kodeerimist kui teised kaks võimalust, kuid see teeb lihtsustatud programmi.

Voogesitage lisateavet AirVisual API -st

Nagu nägite, kui helistasime AirVisual API -le, sisaldab see rohkem teavet kui lihtsalt õhukvaliteet. See annab ka temperatuuri, niiskuse, tuule kiiruse, tuule suuna ja atmosfäärirõhu. Me võime selle teabe algsele riigile saata samamoodi nagu õhukvaliteedi indeksi väärtuse ja peamise saasteaine. See nõuab ainult avalduste kirjutamist.

Soovitan: