Rakenna säähallintapaneeli Dark Sky -sovellusliittymän avulla: 5 vaihetta (kuvilla)
Rakenna säähallintapaneeli Dark Sky -sovellusliittymän avulla: 5 vaihetta (kuvilla)
Anonim
Image
Image

Dark Sky on erikoistunut sääennusteisiin ja visualisointiin. Dark Skyn hienoin osa on niiden sääsovellusliittymä, jonka avulla voimme hakea säätiedot lähes mistä tahansa maailmasta. Sää ei ole vain sateinen tai aurinkoinen, vaan lämpötila, kastepiste, tuulenpuuska, kosteus, sateet, paine, UV -indeksi ja paljon muuta - kaikki helposti saatavilla missä ja milloin tahansa.

Opetellaan käyttämään Dark Skyn erittäin yksinkertaista sovellusliittymää. Jos olet uusi käyttämään sovellusliittymiä, lupaan sinulle, että tämä tulee olemaan todella helppoa! Ja jos olet käyttänyt sovellusliittymiä ennen, toivon, että voimme opettaa sinulle jotain uutta käyttämämme koodin avulla.

Mitä tarvitset tähän projektiin:

  • Dark Sky -sovellusliittymän tili
  • Valtion alkuperäinen tili
  • Raspberry Pi tai kannettava

Vaihe 1: Aloittaminen

Olemme jo tehneet paljon työtä, jotta voit koota koodin ja järjestää tiedot. Tarvitsemme vain muutamia muutoksia matkan varrella. Jos haluat hieman haastetta, tee joitain muutoksia koodiin ja mitä säätietoja lähetetään, mahdollisuuksia on rajattomasti!

Jotta voit hakea kaikki sinulle valmistamamme asiat, sinun on kloonattava arkisto GitHubista. GitHub on palvelu, jonka avulla voimme tallentaa, tarkistaa ja hallita tällaisia projekteja. Haluat suorittaa tämän komentosarjan erillisellä laitteella. Raspberry Pi on täydellinen vaihtoehto tämän opetusohjelman kaltaisten sovellusten suorittamiseen.

Jos haluat kloonata arkiston, meidän tarvitsee vain mennä Pi: n päätelaitteeseen tai tietokoneesi päätelaitteeseen, joka on SSH: n piiriin, ja kirjoittaa tämä komento:

$ git klooni

Paina Enter ja näet nämä tiedot:

Kloonaus "tummaksi"…

kauko: Objektien laskeminen: 2, valmis. kaukosäädin: Yhteensä 2 (delta 0), uudelleenkäytetty 0 (delta 0), pakkaus uudelleenkäytetty 2 Pakkauksen purkaminen pakkauksesta: 100% (2/2), valmis. Yhteyden tarkistaminen… valmis.

Kun näet tämän, onnittelut, olet kloonannut onnistuneesti GitHub Repon ja sinulla on kaikki tarvittavat tiedostot tämän projektin rakentamiseksi. Ennen kuin siirrymme seuraavaan vaiheeseen, käytämme jonkin aikaa tutkia tätä hakemistoa ja oppia muutamia komentorivikomentoja.

Kirjoita alla oleva komento päätelaitteeseesi:

$ ls

Tämä komento luettelee kaiken, mitä käytettävissä olevassa hakemistossa on. Tämä luettelo osoittaa, että GitHub Repo on kloonattu onnistuneesti hakemistoomme nimellä "darksky". Katsotaanpa mitä hakemistossa on. Jos haluat siirtyä hakemistoon, sinun tarvitsee vain kirjoittaa "cd" ja kirjoittaa sen hakemiston nimi, johon haluat siirtyä.

Tässä tapauksessa kirjoitamme:

$ cd tumma

Kun painamme Enter -näppäintä, näet, että olemme nyt tummanhakemistossa. Kirjoita "ls" uudelleen nähdäksesi, mitä tiedostoja olemme asentaneet pi -laitteeseemme.

README.md darksky.py…

Täällä näemme, että meillä on readme -asiakirja ja python -tiedostot. Katsotaanpa darksky.py käyttämällä "nano" -komentoa. Nano -komennon avulla voimme avata nano -tekstieditorin, jossa meillä on kaikki python -koodimme kullekin tämän projektin segmentille. Mene eteenpäin ja kirjoita:

$ nano darksky.py

Täältä näet kaikki koodit, jotka olemme valmistaneet sinulle tätä projektia varten. Emme aio tehdä vielä muutoksia tähän asiakirjaan, mutta voit selata ympärillesi ja katsoa, mitä aiomme tehdä myöhemmin tässä opetusohjelmassa.

Vaihe 2: Dark Sky -sovellusliittymän käyttö

Alkuperäinen tila
Alkuperäinen tila

Jotta voit käyttää Dark Sky -sovellusliittymää, tarvitset ensin oman sovellusliittymäavaimesi. Älä huoli, sovellusliittymäavaimen hankkiminen on nopeaa ja ilmaista. Sinun tarvitsee vain siirtyä verkkosivustolle ja luoda "Luo tili" napsauttamalla "Kokeile ilmaiseksi".

  • Saat 1 000 API -puhelua ilmaiseksi joka päivä. Jokainen sovellusrajapinta, joka ylittää ilmaisen päivittäisen rajan, maksaa 0,0001 dollaria.
  • Tämä raja nollautuu automaattisesti joka päivä keskiyöllä UTC.
  • Ennustepyyntö palauttaa seuraavan viikon sääennusteen.
  • Aikakonepyyntö palauttaa havaitut tai ennustetut sääolot menneelle tai tulevalle päivämäärälle.

Salainen Dark Sky -sovellusliittymäavaimesi näyttää tältä: 0123456789abcdef9876543210fedcba.

Voit soittaa sovellusliittymäpuhelun Dark Skylle kirjoittamalla URL -osoitteen selaimeesi seuraavassa muodossa:

api.darksky.net/forecast/[key]/[latitude], [longitude]

Korvaa "avain" Dark Sky -sovellusliittymäavaimellasi ja pituusaste/leveysaste millä tahansa. Löydät pituus- ja leveysasteesi siirtymällä Google Mapsiin ja etsimällä sijaintisi. Nämä arvot näkyvät URL -osoitteessa. Kopioi ja liitä yllä oleva tumman taivaan URL -osoite, jossa on käyttöavain ja arvot lisätty osoitepalkkiin.

Kun teet sen, näet jotain tällaista:

päivä "," LähinStormDistance ": 57," LähinStormBearing ": 15," Sateen intensiteetti ": 0," Sateen Todennäköisyys ": 0," Lämpötila ": 53,9," näennäinen Lämpötila ": 53,9," Kastepiste ": 29,59," Kosteus ": 0,39, "paine": 1022,45, "windSpeed": 3,87, "windGust": 9,25, "windBearing": 259, "cloudCover": 0,01, "uvIndex": 3, "näkyvyys": 7,8, "otsoni": 309,71}, "minutely": {"summary": "Clear for the hour.", "icon": "clear-day", "data": [{"time": 1550615280, "rainIntensity": 0, "precipProbability": 0 },…

Se voi olla hieman ylivoimainen ja vaikea lukea, joten suosittelen käyttämään JSON -muotoilua tietojen luettavuuden parantamiseksi. Kun teet tämän, se näyttää tältä:

kohde {9}

leveysaste: 37.8267 pituusaste: -122.4233 aikavyöhyke: Amerikka/Los_Angeles tällä hetkellä {19} aika: 1550615286 yhteenveto: Tyhjennä kuvake: lähin päivä lähinStormDistance: 57 lähinnäMyrskylaakeri: 15 sadetta Intensiteetti: 0 sademäärä Todennäköisyys: 0 lämpötila: 53,9 näennäinen Lämpötila: 53,9 kastepiste: 29,59 kosteus 0.39 paine: 1022,45 tuuli Nopeus: 3,87 tuuliPuuska: 9,25 tuuli Laakeri: 259 pilviKansi: 0,01 uv Indeksi: 3 näkyvyys: 7,8 otsoni: 309,71

Soitit juuri sovellusliittymän puhelun! Näetkö kuinka helppoa se oli? Sinun ei tarvitse edes kirjoittaa yhtä koodiriviä. Nyt kun olet oppinut sovellusliittymät, voimme siirtyä tiedon suoratoisto -osaan.

Vaihe 3: Alkutila

Haluamme suoratoistaa kaikki säätiedot pilvipalveluun ja saada tämän palvelun muuttamaan tietomme mukavaksi kojelautaksi, jota voimme käyttää kannettavalla tietokoneella tai mobiililaitteella. Datamme tarvitsevat määränpään. Käytämme alkuperäistä valtiota kohteena.

Vaihe 1: Rekisteröi alkuperäisen valtion tili

Siirry osoitteeseen https://iot.app.initialstate.com ja luo uusi tili. Saat 14 päivän ilmaisen kokeilujakson, ja kaikki, joilla on edu -sähköpostiosoite, voivat rekisteröityä ilmaiseen opiskelijasuunnitelmaan.

Vaihe 2: Asenna ISStreamer

Asenna Initial State Python -moduuli Raspberry Pi -laitteeseesi. Suorita komentokehotteessa seuraava komento:

$ cd/home/pi/$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash

Vaihe 3: Tee automaattinen Automaattinen Vaiheen 2 jälkeen näet jotain seuraavan kaltaista lähtöä näytölle:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashSalasana: 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 sinulta kysytään, haluatko saada automaattisesti esimerkkikomentosarjan, kirjoita "y" Kyllä -asentoon ja tallenna skriptisi oletussijaintiin painamalla Enter -näppäintä. Jos haluat tietää, mitä sovellusta käytät, valitse 2 (ellet ole rekisteröitynyt ennen marraskuuta 2018) ja anna käyttäjätunnuksesi ja salasanasi.

Vaihe 4: Suorita esimerkkikomentosarja

Suorita testikomentosarja varmistaaksesi, että voimme luoda tietovirran alkuperäisen valtion tilillesi. Kirjoita seuraava komento:

$ python on_esimerkki.py

Vaihe 6: Esimerkkitiedot

Palaa alkuperäisen valtion tilillesi verkkoselaimellasi. Python Stream -esimerkiksi kutsutun uuden tietoryhmän olisi pitänyt näkyä lokihyllyn vasemmalla puolella (sivu on ehkä päivitettävä). Napsauta tätä ryhmää nähdäksesi tietosi.

Vaihe 4: Dark Sky Weather Dashboard

Dark Sky Weather Dashboard
Dark Sky Weather Dashboard

Nyt hauska osa. Olemme valmiita käyttämään Dark Sky -sovellusliittymää luomaan säähallintapaneelin ja tallentamaan valitsemasi sijainnin säähistorian. Tätä varten käytämme Python -komentosarjaa: https://github.com/initialstate/darksky/blob/master/darksky.py. Tämä skripti yksinkertaisesti kutsuu Dark Sky -sovellusliittymän sovellusliittymäavaimesi avulla ja hakee säätiedot määrätyllä aikavälillä. Se myös suoratoistaa nämä tiedot alkuperäisen valtion tilillesi, jolloin voit luoda Dark Sky -säähallintapaneelin.

Voit joko kopioida tämän komentosarjan Pi -laitteellesi tai käyttää sitä aiemmin kloonatun GitHub -arkiston kautta. Voit tehdä tämän siirtymällä darksky -hakemistoosi kirjoittamalla:

$ cd tumma

Täältä voit käyttää python -tiedostoa, jonka suoritamme luomaan säähallintapaneelimme. Ennen kuin suoritat sen, sinun on asetettava haluamasi parametrit ja asetettava avaimet. Nano darksky.py -tiedostoon kirjoittamalla:

$ nano darksky.py

Muokkaa sitten komentosarjan yläosan lähellä olevaa osaa:

# --------- Käyttäjäasetukset ---------

CITY = "Nashville" GPS_COORDS = "36.1628414, -86.780199" DARKSKY_API_KEY = "Sijoita DARK SKY API KEY TÄSTÄ" BUCKET_NAME = ": semi_sunny:" + CITY + "Weather" BUCKET_KEY = "ds1 ACCESS ACCE AVAIN TÄSTÄ "MINUTES_BETWEEN_READS = 15 # ---------------------------------

Sinun on asetettava halutut GPS -koordinaatit ja kaupungin nimi. Sinun on myös lisättävä Dark Sky -sovellusliittymäavaimesi ja alkuperäisen tilisi käyttöavain, tai tietosi eivät mene mihinkään. MINUTES_BETWEEN_READS -parametri määrittää, kuinka usein skriptisi kyselee Dark Sky -sovellusliittymästä säätietoja. 15 minuuttia tarjoaa pitkän aikavälin. Lyhytaikaisen testauksen vuoksi voit asettaa tämän 0,5 minuutiksi. Tee muutokset ja poistu ja tallenna painamalla näppäintä control+X.

Kun olet määrittänyt parametrit, olet valmis suorittamaan komentosarjasi:

$ python darksky.py

Jos olet ssh'ing Pi-laitteeseesi ja haluat jättää tämän komentosarjan toimimaan keskeytyksettä pitkään, voit käyttää nohup-komentoa (ei katkaisua) seuraavasti:

$ nohup python darksky.py &

Tämä käsikirjoitus tekee hieman enemmän kuin vain lukee säätiedot ja lähettää ne alkuperäiseen tilaan. Tämä käsikirjoitus aikoo hyödyntää Initial State -työkaluihin rakennettua emoji -tukea, jotta kojelauta muuttuisi hieman viileämmäksi. Näet logiikan, jolla säätiedot otetaan nykyisestä -> -kuvakkeesta ja muunnetaan emoji -tunnukseksi weather_icon -funktiossa. Jotain vastaavaa tapahtuu kuun vaiheelle moon_icon -toiminnossa ja tuulen suunnalle wind_dir_icon -funktiossa.

Vaihe 5: Johtopäätös

Johtopäätös
Johtopäätös
Johtopäätös
Johtopäätös

Siirry alkuperäisen valtion tilillesi ja katso tietosi. Muutin kaikki prosenttiarvot kaarimittariksi, saostuma nesteanturiksi ja lämpötilan lämpömittariksi. Voit vaihtaa mihin tahansa laatoitustyyppiin ja valita värit mittareille ja viivakaavioille. Voit tehdä kojelaudasta tumman tai vaalean ja upottaa lopullisen tuotteen verkkosivustoon upotus iFrame -kehyksen avulla.

Jos haluat käyttää koontinäytön asettelua julkisesta osuudesta koontinäytönä, voit tuoda asettelun tietokantaasi noudattamalla tässä olevia ohjeita. Voit lisätä taustakuvan koontinäyttöön, jolloin se antaa enemmän kontekstia.

Hallintapaneelimme julkisen jaon URL -osoite on

Nyt hallitset Dark Sky -sovellusliittymän, mahdollisuudet ovat rajattomat! Netissä on rajoittamaton määrä ilmaisia sovellusliittymiä tutkittavaksi, joten aloita.

Suositeltava: