Sisukord:
- 1. samm: alustamine
- 2. toiming: Dark Sky API kasutamine
- 3. samm: esialgne olek
- 4. samm: Dark Sky Weather armatuurlaud
- 5. samm: järeldus
Video: Ehitage ilmastiku juhtpaneel Dark Sky API abil: 5 sammu (koos piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
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
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
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
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:
NASA juhtpaneel lastele: 10 sammu (piltidega)
NASA juhtpaneel lastele: Ehitasin selle oma õele, kes korraldab päevahoidu. Ta nägi minu lagerit, mille ma peaaegu kolm aastat tagasi ettevõtte tegija faire jaoks ehitasin ja mulle väga meeldis, nii et ma ehitasin selle talle jõulukingiks. Link minu teisele projektile siin: https: //www
COVID-19 WHO juhtpaneel: 8 sammu (koos piltidega)
COVID-19 WHO juhtpaneel: need juhendid näitavad, kuidas kasutada ESP8266/ESP32 ja LCD-d COVID-19 olukorra loomiseks WHO armatuurlaud
Kosmoselaeva juhtpaneel - laserlõigatud Arduino mänguasi: 11 sammu (piltidega)
Kosmoselaeva juhtpaneel - laserlõigatud Arduino mänguasi: paar kuud tagasi otsustasin saada kohaliku tegijate ruumi liikmeks, kuna olen juba ammu tahtnud õppida tegijakaubanduse tööriistu. Mul oli pisike Arduino kogemus ja olin siin käinud Fusion-kursusel Instructables. Siiski ma h
Dark Sky API PyPortal & Weather Dashboard: 6 sammu
Dark Sky API PyPortal & Weather Dashboard: See projekt on võetud ühest, mida oleme varem teinud, Dark Sky API Weather Dashboardist. Seekord kasutame Raspberry Pi asemel Adafruit PyPortali, et kuvada ilmastikuandmeid ja saata need andmed lähteolekusse. Kaks armatuurlauda ühe töö jaoks
KerbalController: raketimängu kohandatud juhtpaneel Kerbal Space Program: 11 sammu (koos piltidega)
KerbalController: raketimängu kohandatud juhtpaneel Kerbal Space Program: miks ehitada KerbalController? Noh, sest nuppude vajutamine ja füüsiliste lülitite viskamine tundub palju olulisem kui hiire klõpsamine. Eriti kui see on suur punane kaitselüliti, kus peate esmalt kaane avama, libistage lülitit