Sisällysluettelo:
- Vaihe 1: Aloittaminen
- Vaihe 2: AirVisual -sovellusliittymä
- Vaihe 3: Alkutila
- Vaihe 4: Ilmanlaadun kojelauta
- Vaihe 5: Tee Total Weather -hallintapaneeli
Video: AirVisual Air Quality API -koontinäyttö: 5 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
AirVisual (https://www.airvisual.com) on verkkosivusto, joka tarjoaa tietoja ilmanlaadusta ympäri maailmaa. Heillä on sovellusliittymä, jota käytämme ilmanlaadun tietojen saamiseksi kojelautaan. Toimimme tämän sovellusliittymän kanssa samalla tavalla kuin säähallintapaneelin kanssa.
Tämä on yksinkertainen projekti, joka opettaa sinulle sovellusliittymän käytön. Aloitetaan!
Vaihe 1: Aloittaminen
Olemme jo koonneet suurimman osan koodista yhteen, mutta sinun on tehtävä muutamia muutoksia matkan varrella. Meillä on myös paljon mahdollisuuksia laajentaa tekemäämme työtä.
Jotta voit hakea kaikki sinulle valmistamamme asiat, sinun on kloonattava arkisto GitHubista. GitHub on mahtava palvelu, jonka avulla voimme tallentaa, tarkistaa ja hallita tällaisia projekteja. Haluat suorittaa tämän komentosarjan erillisellä laitteella. Voit käyttää kannettavaa tietokonetta, Raspberry Pi -laitetta tai muuta yhden kortin tietokonetta. Jos haluat kloonata arkiston, meidän tarvitsee vain mennä tietokoneemme tai Pi: n päätelaitteeseen ja kirjoittaa tämä komento:
$ git klooni
Paina Enter ja näet nämä tiedot:
$ git -klooni https://github.com/InitialState/airvisual.git Kloonaus "airvisual"… kauko -ohjain: Objektien luetteleminen: 13, valmis. kauko: Objektien laskeminen: 100% (13/13), valmis. kaukosäädin: Objektien pakkaaminen: 100% (12/12), valmis. kauko: Yhteensä 13 (delta 2), uudelleenkäytetty 0 (delta 0), pakkaus uudelleenkäytetty 0 Objektien purkaminen pakkauksesta: 100% (13/13), valmis.
Kun näet tämän, onnittelut, olet kloonannut onnistuneesti GitHub Repon ja sinulla on kaikki tarvittavat tiedostot tämän projektin rakentamiseksi. Siirrytään uuteen hakemistoon. Jos haluat vaihtaa hakemiston, sinun tarvitsee vain kirjoittaa "cd" ja sitten sen hakemiston nimi, johon haluat mennä. Tässä tapauksessa kirjoitamme:
$ cd airvisual
Kun painamme Enter -näppäintä, näet, että olemme nyt ilmailutiedostossa. Kirjoita "ls" nähdäksesi, mitkä tiedostot olemme asentaneet. Sinun pitäisi näyttää jotain tältä:
LISENSSI README.md airquality.py
Tarvitsemme muita kohteita, ennen kuin voimme muokata koodia, joten katsotaan seuraavaksi Air Quality API.
Vaihe 2: AirVisual -sovellusliittymä
AirVisualilla on ilmanlaatu (AQI) ja saastumisrajapinta, joka mahdollistaa jopa 10 000 sovellusliittymäpuhelua kuukaudessa ilmaiseksi. Voit rekisteröityä yhteisön tasolle. Kun olet rekisteröitynyt, voit siirtyä My Airiin ja sovellusliittymävälilehdelle. Täältä löydät sovellusliittymän avaimet ja asiakirjat.
Luo ensimmäinen sovellusliittymän käyttöavain napsauttamalla +Uusi avain -painiketta. Valitse Valitse suunnitelma -kohdassa avattavasta valikosta Yhteisö ja napsauta Luo. Jos kaikki menee hyvin, näet onnistumisviestin ja voit palata sovellusliittymän hallintapaneeliin etsimään uudet avaintietosi. Avainarvo (numerot ja merkit) on mitä tarvitset tähän projektiin. Jos tutustut API -dokumentaatioon, näet, että voit soittaa monenlaisia API -puheluita. Tätä projektia varten haluamme saada lähimmät kaupunkitiedot GPS -koordinaattien perusteella. Tätä puhelua varten tarvitset pituus-, leveys- ja sovellusliittymäavaimesi. Kirjoita nämä parametrit alla olevaan puheluun, laita se selaimesi osoiteriville ja paina enter.
api.airvisual.com/v2/nearest_city?lat={{LATITUDE}}&lon={{LONGITUDE}}&key={{YOUR_API_KEY}}
Tämä palauttaa lähimmän kaupungin tiedot GPS -koordinaattien perusteella. Se näyttää tältä:
Suosittelen käyttämään JSON -muotoilua, jotta saat paremman kuvan tiedoista. Jos käytät sitä, se näyttää hieman tältä:
"status": "menestys", "data": {"kaupunki": "Nashville", "osavaltio": "Tennessee", "maa": "USA", "sijainti": {"type": "Piste", "koordinaatit": [-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}, "saastuminen": {"ts": "2019-04-08T18: 00: 00.000Z", "aqius": 10, "mainus": "p2", "aqicn": 3, "maincn": "p2"}
Voimme helposti nähdä nyt, että meillä on tietoa sijainnista, säästä ja saastumisesta. Kaksi arvoa, joihin keskitymme tässä hankkeessa, ovat Yhdysvaltojen ilmanlaatuindeksi (aquis) ja pääsaaste (mainus). Ilmanlaatuindeksin arvo kertoo meille, mikä on paikallinen ilmanlaatuarvo ja miten se liittyy terveyteesi. Värikoodattu kaavio on alla. Tärkein epäpuhtaus kertoo meille, mikä on tärkein ilmansaaste alueellesi (hiukkaset, typpioksidi, otsoni, hiilimonoksidi, rikkioksidi). Nämä epäpuhtaudet ovat tyypillisesti savupinojen tai ajoneuvojen päästöjen sivutuotteita.
Nyt kun osaamme käyttää Air Visual -sovellusliittymää, seuraavaksi tarvitsemme kojelaudan alustan tietojen näyttämiseksi.
Vaihe 3: Alkutila
Haluamme suoratoistaa kaikki säätiedot pilvipalveluun ja saada tämän palvelun muuttamaan tietomme mukavaksi kojelautaksi. Datamme tarvitsevat määränpään, joten käytämme alkuperäistä tilaa kohteena.
Rekisteröi alkuperäisen valtion tili
Siirry osoitteeseen https://iot.app.initialstate.com ja luo uusi tili.
Asenna ISStreamer
Asenna Initial State Python -moduuli kannettavaan tietokoneeseen tai Raspberry Pi -laitteeseen. Suorita seuraava komento komentokehotteessa:
$ / curl -sSL https://iot.app.initialstate.com -o -| sudo bash
Tee Automagic
Kun olet suorittanut curl -komennon, näet jotain seuraavan kaltaista tulosta näytölle:
$ / curl -sSL https://iot.app.initialstate.com -o -| sudo bash
Salasana: ISStreamer Python Helppo asennus! Asentaminen voi kestää muutaman minuutin, nappaa kahvia:) Mutta älä unohda palata, minulla on kysymyksiä myöhemmin! Löytyi easy_install: setuptools 1.1.6 Löytyi pip: pip 1.5.6 /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip pääversio: 1 pip vähäinen versio: 5 ISStreamer löytyi, päivitetään… Vaatimus on jo ajan tasalla: ISStreamer /Library/Python/2.7/site-packages Siivotaan… Haluatko automaattisesti saada esimerkkikomentosarjan? [y/N] Minne haluat tallentaa esimerkin? [oletus:./is_example.py] Valitse alkuperäinen tila, jota käytät: 1. app.initialstate.com 2. [UUSI!] iot.app.initialstate.com Anna vaihtoehto 1 tai 2: Kirjoita iot.app.initialstate.com -käyttäjänimi: Anna iot.app.initialstate.com -salasana:
Kun sinua kehotetaan hakemaan automaattisesti esimerkkikomentosarja, kirjoita y. Tämä luo testikomentosarjan, jonka voimme suorittaa varmistaaksemme, että voimme suoratoistaa tietoja alkuperäiseen tilaan. Seuraava kehote kysyy minne haluat tallentaa esimerkkitiedoston. Voit joko kirjoittaa mukautetun paikallisen polun tai painaa Enter hyväksyäksesi oletussijainnin. Lopuksi sinulta kysytään, mitä alkuperäisen valtion sovellusta käytät. Jos olet äskettäin luonut tilin, valitse vaihtoehto 2 ja anna sitten käyttäjänimi ja salasana. Tämän jälkeen asennus on valmis.
Pääsyavaimet
Katsotaanpa esimerkkiä, joka luotiin. $ nano is_example.py Rivillä 15 näet rivin, joka alkaa streamer = Streamer (bucket_…. Tämä rivi luo uuden tietoryhmän nimeltä Python Stream Example ja liittyy tiliisi. Tämä yhteys johtuu access_key =”…” -parametri samalla rivillä. Tämä pitkä kirjainten ja numeroiden sarja on alkuperäisen valtion tilin käyttöavain. Jos siirryt alkuperäisen valtion tilillesi verkkoselaimessasi, napsauta oikeassa yläkulmassa olevaa käyttäjänimeäsi ja siirry "omat asetukset" -kohtaan, löydät saman käyttöavaimen sivun alareunasta "Streaming Access Keys" -kohdasta. Joka kerta, kun luot tietovirran, kyseinen avain ohjaa datavirran tilillesi (joten älä jaa avaimesi kenenkään kanssa).
Suorita esimerkki Suorita testikomentosarja varmistaaksesi, että voimme luoda tietovirran alkuperäiseen tilillesi. Suorita seuraava komentokehotteessa:
$ python on_esimerkki.py
Esimerkkitiedot
Palaa alkuperäisen valtion tilillesi verkkoselaimellasi. Python Stream -esimerkiksi kutsutun uuden tietoryhmän olisi pitänyt näkyä hyllysi vasemmalla puolella (sinun on ehkä päivitettävä sivu). Voit tarkastella tietoja napsauttamalla tätä ryhmää.
Olet nyt valmis aloittamaan todellisten tietojen suoratoiston AirVisual -sovellusliittymästä.
Vaihe 4: Ilmanlaadun kojelauta
Nyt hauska osa. Olemme valmiita käyttämään AirVisual -sovellusliittymää luomaan ilmanlaadun kojelauta ja keräämään ilmansaasteiden tiedot missä tahansa. Tämä airquality.py -skripti yksinkertaisesti kutsuu AirVisual -sovellusliittymän API -avaimesi avulla ja hakee nykyiset ilmansaasteiden tiedot. Se myös välittää nämä tiedot alkuperäisen valtion tilillesi, jolloin voit luoda ilmanlaadun hallintapaneelin.
Voit käyttää komentosarjaa aiemmin kloonaamamme Github -arkiston kautta. Ensimmäinen asia, joka meidän on tehtävä, on varmistaa, että olemme AirVisual -hakemistossa:
$ cd airvisual
Täältä voit käyttää python -tiedostoa, jonka suoritamme ilmanlaadun hallintapaneelin luomiseksi. Meidän on tehtävä joitain muutoksia tiedostoon ennen sen suorittamista. Voit avata python -tiedoston avaamalla tekstieditorin nano -komennolla:
$ nano airquality.py
Kun tekstieditori on auki, näet seuraavan skriptisi yläosassa:
# --------- Käyttäjäasetukset ---------
LATITUDE = "LAT" LONGITUDE = "LONG" AIRVISUAL_API_KEY = "AIR VISUAL API KEY" BUCKET_NAME = "Paikallinen ilmanlaatu" BUCKET_KEY = "aq1" ACCESS_KEY = "ALKUPERÄISEN TILANNEEN AVAIN" MINUTES_BETWE -------------------------
Sinun on annettava leveys-, pituusaste, AirVisual -sovellusliittymäavain ja alkutilan käyttöavain. MINUTES_BETWEEN_READS -parametri määrittää, kuinka usein skriptisi kyselee AirVisual -sovellusliittymästä ilmanlaatutietoja. 5 minuuttia tarpeeksi aikaa, jotta et ylitä 10 000 sovellusliittymän puhelurajoitusta kuukaudessa. Lyhytaikaisen testauksen vuoksi voit asettaa tämän 0,5 minuutiksi. Kun olet syöttänyt parametrit, tallenna ja poistu kirjoittamasta tekstistä kirjoittamalla Control+X. Nyt olet valmis suorittamaan komentosarjasi:
$ python airquality.py
Jos haluat jättää tämän komentosarjan keskeytymättömäksi pitkäksi aikaa, voit käyttää nohup-komentoa (ei katkaisua) seuraavasti:
$ nohup python airquality.py &
Kun tämä on käynnissä, siirry alkuperäiseen tilaan nähdäksesi tietosi. Kojelaudan pitäisi näyttää seuraavan kuvan kaltaiselta. Sinulla on GPS -sijaintisi, ilmanlaatuindeksiarvo ja pääsaaste.
Suositukseni olisi muuttaa AQI -arvo mittarilevyksi. Siirrä myös laattoja ympäri ja muuta niiden kokoa tarpeen mukaan. Jos käytät tätä sulautetussa kojelaudassa, voit siirtää niitä tarpeen mukaan.
Jos päätät tehdä AQI -arvosta mittarin, voit asettaa värikynnyksen vastaamaan ilmanlaatua. Tämä antaa sinulle välittömän päivityksen siitä, missä AQI -arvo laskee kaavioon, kun tarkistat kojelaudasi. Voit lisätä taustakuvan koontinäyttöön, jolloin se antaa enemmän kontekstia.
Joten sinulla on kaikki mitä tarvitset ilmanlaadun kojelaudan luomiseen. Mutta entä jos haluat lisätä tai lisätä tämän jo luomaasi säähallintapaneeliin? Jos näin on, jatka lukemista!
Vaihe 5: Tee Total Weather -hallintapaneeli
Eikö ilmanlaatutiedot riitä sinulle? On siis paljon vaihtoehtoja lisätä lisää kojelautaan tai suoratoistaa nämä tiedot jo olemassa olevaan säähallintapaneeliin!
Stream Sää ja ilmanlaatu yhdelle kojelaudalle
Jos olet jo ottanut käyttöön DarkSky-sovellusliittymän tai Hyper-Local Weather Dashboard -projektimme, voit lisätä nämä ilmanlaatutiedot olemassa olevaan kojelautaan. Se on melko yksinkertaista, sinun tarvitsee vain muuttaa parametreja ilmanlaatukomentosarjassa niin, että niillä on sama kauhan nimi, kauhan avain ja käyttöavain kuin mitä käytit säähallintapaneelissasi. Tämä mahdollistaa tietojen lähettämisen samaan kojelautaan. Nyt sinulla on täydellinen säähallintapaneeli!
Pyydä Weather Python -tiedostoa soittamaan ilmanlaadun Python -tiedosto
Toinen vaihtoehto, jos et halua käyttää kahta erillistä ohjelmaa, on sijoittaa ilmanlaadun python -tiedosto sääprojektihakemistoon. Pyydä sääprojektin python -tiedostoa soittamaan ilmanlaatutiedostoon, jotta se toimii, kun säätiedosto on käynnissä. Varmista myös, että laitat saman kauhan nimen, ämpäriavaimen ja käyttöavaimen niin, että ne kulkevat samaan kojelautaan.
Luo yksi tiedosto sekä säällä että ilmanlaadulla
Ja jos sinusta tuntuu todella rohkealta, voit laittaa osan ilmanlaatukoodista sääpython -skriptiisi ja käyttää vain yhtä komentosarjaa. Se vaatii hieman enemmän koodausta kuin kaksi muuta vaihtoehtoa, mutta se tekee yksinkertaistetusta ohjelmasta.
Striimaa lisätietoja AirVisual -sovellusliittymästä
Kuten huomasit, kun soitimme AirVisual -sovellusliittymään, siinä on enemmän tietoa kuin pelkkä ilmanlaatu. Se tarjoaa myös lämpötilan, kosteuden, tuulen nopeuden, tuulen suunnan ja ilmanpaineen. Voimme lähettää nämä tiedot alkuperäiseen valtioon samalla tavalla kuin lähetimme ilmanlaatuindeksin arvon ja tärkeimmät epäpuhtaudet. Sinun tarvitsee vain kirjoittaa muutama lisää lausuntoja.
Suositeltava:
Air - True Mobile Air Guitar (prototyyppi): 7 vaihetta (kuvilla)
Air - True Mobile Air Guitar (prototyyppi): Okei, tämä on todella lyhyt opettavainen osa ensimmäisestä osasta vihdoin päästä lähemmäksi lapsuuden unelmaani. Kun olin nuori poika, katsoin aina suosikkitaiteilijoitani ja bändejäni soittavan kitaraa moitteettomasti. Kasvaessani olin
PurpleAir Air Quality Status LED -näyttö: 4 vaihetta
PurpleAir Air Quality Status LED -näyttö: Kalifornian viimeaikaisten metsäpalojen myötä San Franciscon ilmanlaatu on heikentynyt suuresti. Löysimme itsemme tarkistavan PurpleAir -karttaa yhä uudelleen puhelimistamme tai kannettavista tietokoneistamme yrittäen nähdä, milloin ilma oli riittävän turvallinen voiton avaamiseksi
Airduino: Mobile Air Quality Monitor: 5 vaihetta
Airduino: Mobile Air Quality Monitor: Tervetuloa projektiini, Airduino. Nimeni on Robbe Breens. Opiskelen multimedia- ja viestintätekniikkaa Howestissa Kortrijkissa, Belgiassa. Toisen lukukauden lopussa meidän on tehtävä IoT -laite, joka on loistava tapa tuoda kaikki
Puheentunnistus Google Speech API: n ja Pythonin avulla: 4 vaihetta
Puheentunnistus Google Speech -sovellusliittymän ja Pythonin avulla: Puheentunnistus Puheentunnistus on osa luonnollista kielenkäsittelyä, joka on tekoälyn osa -alue. Yksinkertaisesti sanottuna puheentunnistus on tietokoneohjelmiston kyky tunnistaa sanat ja lauseet puhutulla kielellä
HRV (Home Air Exchanger) Arduino -ohjain ja Air Economizer: 7 vaihetta (kuvilla)
HRV (Home Air Exchanger) Arduino -ohjain ja Air Economizer: HRV Arduino -ohjain Air Economizerilla Joten historiani tämän projektin kanssa on, että asun Minnesotassa ja piirilevyni paistetaan LifeBreath 155Max HRV -laitteellani. En halunnut maksaa 200 dollaria uudesta, halusin aina jotain ilmataloudellisen synnin kanssa