Sisukord:

Ehitage ilmastiku juhtpaneel Dark Sky API abil: 5 sammu (koos piltidega)
Ehitage ilmastiku juhtpaneel Dark Sky API abil: 5 sammu (koos piltidega)

Video: Ehitage ilmastiku juhtpaneel Dark Sky API abil: 5 sammu (koos piltidega)

Video: Ehitage ilmastiku juhtpaneel Dark Sky API abil: 5 sammu (koos piltidega)
Video: Почему тухнет газовый конвектор? 12 ПРИЧИН 2024, November
Anonim
Image
Image

Dark Sky on spetsialiseerunud ilmaennustamisele ja visualiseerimisele. Dark Sky kõige lahedam aspekt on nende ilmastiku API, mille abil saame ilmaandmeid hankida peaaegu kõikjalt maailmast. Ilm ei ole ainult vihmane või päikeseline, vaid temperatuur, kastepunkt, tuuleiil, niiskus, sademed, rõhk, UV -indeks ja palju muud - kõik on hõlpsasti kättesaadav kõikjal, kus soovite, millal soovite.

Õpime kasutama Dark Sky ülilihtsat API-d. Kui te pole API -de kasutamine uus, luban teile, et see saab olema tõesti lihtne! Ja kui olete varem API -sid kasutanud, siis loodan, et saame kasutatud koodi abil teile midagi uut õpetada.

Mida vajate selle projekti jaoks:

  • Dark Sky API konto
  • Riigi esialgne konto
  • Raspberry Pi või sülearvuti

1. samm: alustamine

Oleme juba palju tööd teinud, et saaksite koodi kokku panna ja teabe korrastada. Vajame lihtsalt, et teete sellel teel mõned kohandused. Kui soovite natuke väljakutset, tehke meie koodis muudatusi ja milliseid ilmateateid saadetakse, on võimalusi piiramatult!

Kõigi teie jaoks ettevalmistatud asjade hankimiseks peate hoidla kloonima GitHubist. GitHub on teenus, mis võimaldab meil selliseid projekte salvestada, muuta ja hallata. Seda skripti soovite käivitada spetsiaalses seadmes. Raspberry Pi on ideaalne võimalus selliste õpetuste jaoks nagu see õpetus.

Hoidla kloonimiseks peame vaid minema meie Pi terminali või teie arvutiterminali, mis on SSH -d teie pi -sse, ja tippige see käsk:

$ git kloon

Vajutage sisestusklahvi ja näete seda teavet:

Kloonimine tumedaks…

pult: objektide loendamine: 2, valmis. kaugjuhtimispult: kokku 2 (delta 0), taaskasutatud 0 (delta 0), pakendis taaskasutatud 2 Objektide lahtipakkimine: 100% (2/2), valmis. Ühenduvuse kontrollimine… valmis.

Kui olete seda näinud, õnnitleme, olete GitHub Repo edukalt klooninud ja teil on kõik selle projekti loomiseks vajalikud failid. Enne järgmise sammu juurde liikumist võtame veidi aega selle kataloogi uurimiseks ja mõned põhilised käsurea käsud.

Sisestage terminali all olev käsk:

$ ls

See käsk loetleb kõik, mis on praegu teie kataloogis saadaval. See loend näitab, et meie GitHub Repo on kloonitud edukalt meie kataloogi nimega „darksky”. Vaatame, mis selles kataloogis on. Kataloogi liikumiseks peate lihtsalt sisestama "cd" ja seejärel selle kataloogi nime, kuhu soovite minna.

Sel juhul kirjutame:

$ cd tumedad

Kui vajutame sisestusklahvi, näete, et oleme nüüd tumedas kataloogis. Kirjutame uuesti "ls", et näha, millised failid oleme oma pi -le installinud.

README.md darksky.py…

Siin näeme, et meil on lugemisdokument ja python -failid. Vaatame käsku darksky.py, kasutades käsku "nano". Nano -käsk võimaldab meil avada nano -tekstiredaktori, kus meil on selle projekti iga segmendi jaoks kogu meie püütoni kood. Minge edasi ja tippige:

$ nano darksky.py

Siin näete kogu koodi, mille oleme teile selle projekti jaoks ette valmistanud. Me ei tee selles dokumendis veel mingeid muudatusi, kuid kerige julgelt ringi ja vaadake, mida me selles õpetuses hiljem tegema hakkame.

2. toiming: Dark Sky API kasutamine

Esialgne riik
Esialgne riik

Dark Sky API kasutamiseks on teil esmalt vaja oma API võtit. Ärge muretsege, API võtme hankimine on kiire ja tasuta. Kõik, mida pead tegema, on minna veebisaidile ja konto loomiseks klõpsata nupul "Proovi tasuta".

  • Saate iga päev tasuta 1000 API kõnet. Iga tasuta päevase limiidi ületav API taotlus maksab 0,0001 dollarit.
  • See piirang lähtestatakse automaatselt iga päev keskööl UTC.
  • Prognoositaotlus tagastab järgmise nädala praeguse ilmaprognoosi.
  • Ajamasina taotlus tagastab vaadeldud või prognoositavad ilmastikutingimused mineviku või tuleviku kuupäeva jaoks.

Teie salajane Dark Sky API võti näeb välja umbes selline: 0123456789abcdef9876543210fedcba.

Saate teha API -kõne Dark Sky -le, sisestades oma brauserisse URL -i järgmises vormingus:

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

Asendage "võti" oma Dark Sky API võtmega ja pikkus/laiuskraad mis tahes sooviga. Oma pikkus- ja laiuskraadid leiate Google Mapsist ja oma asukohta otsides. Need väärtused on URL -is. Kopeerige ja kleepige ülaltoodud tumeda taeva URL koos juurdepääsuvõtme ja väärtustega aadressiribale.

Kui teete seda, näete midagi sellist:

päev "," lähimStormDistance ": 57," lähimStormBearing ": 15," sademete intensiivsus ": 0," sademete tõenäosus ": 0," temperatuur ": 53,9," näivTemperatuur ": 53,9," kastepunkt ": 29,59," niiskus ": 0,39, "rõhk": 1022,45, "windSpeed": 3,87, "windGust": 9,25, "windBearing": 259, "cloudCover": 0,01, "uvIndex": 3, "nähtavus": 7,8, "osoon": 309,71}, "minutiliselt": {"kokkuvõte": "Selge tund.", "icon": "selge päev", "andmed": [{"time": 1550615280, "rainIntensity": 0, "precipProbability": 0 },…

See võib olla pisut üle jõu käiv ja raskesti loetav, seega soovitan kasutada JSON -vormindajat, et muuta andmed loetavamaks. Kui teete seda, näeb see välja umbes selline:

objekt {9}

Laiuskraadid: 37,8267 Pikkuskraadid: -122,4233 ajavöönd: Ameerika/Los_Angeles praegu {19} aeg: 1550615286 kokkuvõte: Kustuta ikoon: lähima päeva lähimStormDistance: 57 lähimTormilaager: 15 sademete intensiivsus: 0 sademete Tõenäosus: 0 temperatuur: 53,9 nähtav Temperatuur: 53,9 kastepunkt: 29,59 niiskus 0,39 rõhk: 1022,45 tuul Kiirus: 3,87 tuul Tuul: 9,25 tuul Laager: 259 pilvKate: 0,01 uv Indeks: 3 nähtavus: 7,8 osoon: 309,71

Olete just teinud API kõne! Näete, kui lihtne see oli? Te ei pidanud isegi ühtegi koodirida kirjutama. Nüüd, kui olete API -d omandanud, võime liikuda edasi andmete voogesituse osa juurde.

3. samm: esialgne olek

Soovime voogesitada kõiki oma ilmateateid pilveteenusesse ja lasta sellel teenusel muuta meie andmed toredaks armatuurlauaks, millele pääseme juurde oma sülearvutist või mobiilseadmest. Meie andmed vajavad sihtkohta. Sihtkohana kasutame lähteolekut.

Samm: registreerige esmase riigi konto

Minge aadressile https://iot.app.initialstate.com ja looge uus konto. Saate 14 -päevase tasuta prooviperioodi ja igaüks, kellel on edu e -posti aadress, saab registreeruda tasuta õpilaspaketile.

Samm: installige ISStreamer

Installige algseisundi Pythoni moodul oma Raspberry Pi -le. Käsurealt käivitage järgmine käsk:

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

Pärast 2. sammu näete ekraanile midagi sarnast järgmise väljundiga:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashParool: 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 teilt küsitakse, kas soovite automaatselt skriptide näite saada, kirjutage jah ja vajutage sisestusklahvi, et skript vaikimisi asukohta salvestada. Küsimuse kohta, millist rakendust te kasutate, valige 2 (kui te pole registreerunud enne novembrit 2018) ja sisestage oma kasutajanimi ja parool.

Samm: käivitage näidiskript

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

$ python is_example.py

6. samm: näiteandmed

Minge oma veebibrauseris tagasi algse riigi kontole. Teie logiriiuli vasakul küljel oleks pidanud ilmuma uus andmekogum nimega „Python Streami näide” (peate võib -olla lehte värskendama). Oma andmete vaatamiseks klõpsake sellel ämbril.

4. samm: Dark Sky Weather armatuurlaud

Dark Sky Weather armatuurlaud
Dark Sky Weather armatuurlaud

Nüüd lõbusa osa juurde. Oleme valmis kasutama Dark Sky API -d, et luua ilmastiku juhtpaneel ja jäädvustada meie valitud asukoha ilmastiku ajalugu. Selleks kasutame Pythoni skripti: https://github.com/initialstate/darksky/blob/master/darksky.py. See skript lihtsalt kutsub teie API võtit kasutades Dark Sky API -t ja otsib ilmateabe kindlaksmääratud ajavahemiku järel. See voogesitab need andmed ka teie algse oleku kontole, mis võimaldab teil luua Dark Sky ilmastiku juhtpaneeli.

Saate selle skripti kopeerida oma Pi -sse või pääseda sellele juurde varem kloonitud GitHubi hoidla kaudu. Seda saate teha, muutes oma tumedaks kataloogiks, tippides:

$ cd tumedad

Siit pääsete juurde ilmastiku juhtpaneeli loomiseks kasutatavale püütoni failile. Enne selle käivitamist peate määrama soovitud parameetrid ja sisestama oma võtmed. Nano failis darksky.py, tippides:

$ nano darksky.py

Seejärel muutke skripti ülaosas olevat jaotist:

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

CITY = "Nashville" GPS_COORDS = "36.1628414, -86.780199" DARKSKY_API_KEY = "PANE OMA DARK SKY API KEY SIIT" BUCKET_NAME = ": semi_sunny:" + CITY + "Ilm" BUCKET_KEY = "ds1 ACC Access" VÕTA SIIA "MINUTES_BETWEEN_READS = 15 # ---------------------------------

Peate määrama soovitud GPS -koordinaadid ja linna nime. Peate sisestama ka oma Dark Sky API võtme ja algse oleku konto juurdepääsuvõtme, muidu ei lähe teie andmed kuhugi. Parameeter MINUTES_BETWEEN_READS määrab, kui sageli teie skript küsib ilmateabe saamiseks Dark Sky API -d. 15 minutit annab kena intervalli pikaajaliselt. Lühiajalise testimise huvides saate määrata selle väärtuseks 0,5 minutit. Tehke muudatused ja seejärel väljumiseks ja salvestamiseks sisestage klahvikombinatsioon+X.

Kui olete oma parameetrid seadistanud, olete valmis oma skripti käivitama:

$ python darksky.py

Kui kasutate oma Pi-d ja soovite selle skripti pikka aega katkestusteta käivitada, saate käsku nohup (ilma katkestusteta) kasutada järgmiselt.

$ nohup python darksky.py &

See skript teeb natuke rohkem kui lihtsalt ilmateabe lugemist ja algseisundisse saatmist. See skript kasutab ära esialgse riigi tööriistadesse sisseehitatud emotikonide tuge, et muuta armatuurlaud natuke lahedamaks. Näete loogikat, mida kasutatakse ilmastikuolude võtmiseks praegu -> ikoonilt ja selle teisendamiseks emotikonimärgiks funktsioonis weather_icon. Midagi sarnast juhtub kuufaasi puhul funktsiooni moon_icon ja tuule suuna funktsioonis wind_dir_icon.

5. samm: järeldus

Järeldus
Järeldus
Järeldus
Järeldus

Minge oma esialgse riigi kontole ja vaadake oma andmeid. Muutsin kõik oma protsentuaalsed väärtused kaarumõõturiteks, sademed vedelikumõõturiks ja temperatuuri temperatuurinäidikuteks. Saate vahetada mis tahes tüüpi plaatide vastu ja valida mõõturite ja joonediagrammide jaoks värvid. Saate muuta oma armatuurlaua tumedaks või heledaks ja manustada lõpptoote veebisaidile, kasutades iFrame'i manustamist.

Kui soovite armatuurlaua paigutust kasutada avaliku jagamisena oma juhtpaneelina, saate paigutuse oma andmegruppi importida, järgides siin toodud juhiseid. Saate juhtpaneelile lisada taustapildi, et anda sellele rohkem konteksti.

Meie juhtpaneeli avaliku jagamise URL on

Nüüd olete omandanud Dark Sky API, võimalused on lõputud! Alustamiseks on võrgus piiramatul hulgal tasuta API -sid.

Soovitan: