Përmbajtje:
- Hapi 1: Fillimi
- Hapi 2: Përdorimi i API -së Dark Sky
- Hapi 3: Gjendja fillestare
- Hapi 4: Paneli i motit Dark Sky
- Hapi 5: Përfundimi
Video: Ndërtoni një pult të motit duke përdorur API Dark Sky: 5 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:18
Dark Sky specializohet në parashikimin dhe vizualizimin e motit. Aspekti më interesant i Dark Sky është API i tyre i motit që mund të përdorim për të tërhequr të dhënat e motit nga pothuajse kudo në botë. Nuk është vetëm moti me shi ose diell, por temperatura, pika e vesës, erërat, lagështia, reshjet, presioni, indeksi UV dhe më shumë, të gjitha lehtësisht të disponueshme për kudo që dëshironi, kur të doni.
Le të mësojmë se si të përdorim API-në super të thjeshtë të Dark Sky. Nëse jeni i ri në përdorimin e API -ve ju premtoj se kjo do të jetë vërtet e lehtë! Dhe nëse keni përdorur API -të më parë, atëherë shpresoj se mund t'ju mësojmë diçka të re me kodin që kemi përdorur.
Çfarë ju nevojitet për këtë projekt:
- Llogaria API Dark Sky
- Llogaria fillestare e shtetit
- Raspberry Pi ose Laptop
Hapi 1: Fillimi
Ne kemi bërë tashmë shumë punë për këmbët për ju duke bashkuar kodin dhe organizuar informacionin. Na duhet vetëm që të bëni disa rregullime gjatë rrugës. Nëse doni pak sfidë bëni disa ndryshime në kodin tonë dhe cilat të dhëna të motit dërgohen, ka mundësi të pakufishme!
Për të tërhequr të gjitha gjërat që kemi përgatitur për ju, do t'ju duhet të klononi depon nga GitHub. GitHub është një shërbim që na lejon të ruajmë, rishikojmë dhe menaxhojmë projekte si kjo. Ju do të dëshironi ta ekzekutoni këtë skenar në një pajisje të dedikuar. Një Raspberry Pi është një mundësi e përsosur për të ekzekutuar aplikacione si ky udhëzues.
Për të klonuar depon, gjithçka që duhet të bëjmë është të hyjmë në terminalin tonë Pi, ose terminalin e kompjuterave tuaj që është SSH’d në pi tuaj dhe shkruani këtë komandë:
$ git klon
Shtypni enter dhe do të shihni këtë informacion:
Klonimi në 'darksky'…
telekomandë: Numërimi i objekteve: 2, i kryer. telekomandë: Gjithsej 2 (delta 0), ripërdorur 0 (delta 0), paketë të ripërdorura 2 Zhbllokimi i objekteve: 100% (2/2), i kryer. Kontrolli i lidhshmërisë … u krye.
Pasi ta shihni këtë, urime, keni klonuar me sukses GitHub Repo dhe keni të gjithë skedarët e nevojshëm për të ndërtuar këtë projekt. Para se të kalojmë në hapin tjetër, le të marrim pak kohë për të eksploruar rreth këtij drejtorie dhe për të mësuar disa komanda bazë të linjës komanduese.
Shkruani komandën më poshtë në terminalin tuaj:
$ ls
Kjo komandë rendit gjithçka që është në dispozicion në drejtorinë ku jeni aktualisht. Kjo listë tregon se GitHub Repo ynë është klonuar me sukses në drejtorinë tonë me emrin "darksky". Le të hedhim një vështrim në atë që gjendet në atë drejtori. Për të kaluar në një drejtori, gjithçka që duhet të bëni është të shkruani "cd" dhe pastaj të shkruani emrin e drejtorisë në të cilën dëshironi të shkoni.
Në këtë rast, ne do të shkruajmë:
$ cd darksky
Pasi të godasim enter, do të shihni që tani jemi në drejtorinë darksky. Le të shtypim përsëri "ls" për të parë se cilat skedarë kemi instaluar në pi tonë.
README.md darksky.py…
Këtu ne shohim se kemi dokumentin tonë të leximit dhe skedarët python. Le t'i hedhim një sy darksky.py duke përdorur komandën "nano". Komanda nano na lejon të hapim redaktuesin e tekstit nano ku kemi të gjithë kodin tonë python për secilin segment të këtij projekti. Shkoni përpara dhe shkruani:
$ nano darksky.py
Këtu mund të shihni të gjithë kodin që kemi përgatitur për ju për këtë projekt. Ne nuk do të bëjmë ndonjë ndryshim në këtë dokument ende, por mos ngurroni të lëvizni dhe të shihni se çfarë do të bëjmë më vonë në këtë tutorial.
Hapi 2: Përdorimi i API -së Dark Sky
Për të përdorur API -në Dark Sky, së pari keni nevojë për çelësin tuaj API. Mos u shqetësoni, marrja e një çelësi API është e shpejtë dhe falas. E tëra çfarë ju duhet të bëni është të shkoni në faqen e internetit dhe të klikoni "Provo Falas" për të krijuar një llogari.
- Ju merrni 1, 000 thirrje API falas çdo ditë. Çdo kërkesë API mbi kufirin ditor falas kushton $ 0.0001.
- Ky kufi rivendoset automatikisht çdo ditë në mesnatë UTC.
- Kërkesa për Parashikim kthen parashikimin aktual të motit për javën e ardhshme.
- Kërkesa për makinën e kohës kthen kushtet e motit të vëzhguara ose parashikuara për një datë në të kaluarën ose të ardhmen.
Çelësi juaj sekret API Dark Sky do të duket diçka si kjo: 0123456789abcdef9876543210fedcba.
Ju mund të bëni një telefonatë API në Dark Sky duke shtypur një URL në shfletuesin tuaj në formatin e mëposhtëm:
api.darksky.net/forecast/on'skeyerly/on'slatitude], [longitude]
Zëvendësoni "çelësin" me çelësin tuaj API Dark Sky dhe gjatësinë/gjerësinë gjeografike me gjithçka që dëshironi. Ju mund të gjeni gjatësinë dhe gjerësinë tuaj duke shkuar te Google Maps dhe duke kërkuar vendndodhjen tuaj. Ato vlera do të jenë në URL. Kopjoni dhe ngjisni URL -në e qiellit të errët të mësipërm me çelësin tuaj të hyrjes dhe vlerat e shtuara në një shirit adresash.
Pasi ta bëni këtë, do të shihni diçka si kjo:
ditë "," Afërsia StuhiaDistanca ": 57," NearestStormBearing ": 15," precipIntensity ": 0," precipProbability ": 0," temperatura ": 53.9," Temperatura e dukshme ": 53.9," Pika e vesës ": 29.59," lagështia ": 0.39, "presion": 1022.45, "windSpeed": 3.87, "windGust": 9.25, "windBearing": 259, "cloudCover": 0.01, "uvIndex": 3, "shikueshmëri": 7.8, "ozon": 309.71}, "minutely": {"përmbledhje": "E qartë për orën.", "icon": "ditë e qartë", "të dhëna": [{"koha": 1550615280, "precipIntensity": 0, "precipProbability": 0 },…
Mund të jetë pak dërrmuese dhe e vështirë për tu lexuar, kështu që ajo që unë rekomandoj të bëni është të përdorni një formatues JSON për të ndihmuar që të dhënat të jenë më të lexueshme. Kur e bëni këtë do të duket diçka si kjo:
objekt {9}
gjerësi gjeografike: 37.8267 gjatësi gjeografike: -122.4233 zona kohore: Amerika/Los_Angeles aktualisht {19} ora: 1550615286 përmbledhje: Ikona e qartë: stuhia më e afërt me ditën më të afërt Distanca: 57 më e afërt Stuhia Duke pasur: 15 reshje Intensiteti: 0 reshje Probabiliteti: 0 temperatura: 53.9 e dukshmeTemperatura: 53.9 vesa 0.39 presion: 1022.45 erë Shpejtësia: 3.87 erë Fuqia: 9.25 era Mbajtja: 259 re Mbulesa: 0.01 uv Indeksi: 3 dukshmëria: 7.8 ozoni: 309.71
Sapo keni bërë një telefonatë API! E shihni sa e lehtë ishte? Ju as nuk keni nevojë të shkruani një linjë të vetme kodi. Tani që keni zotëruar API -të, mund të kalojmë në pjesën e transmetimit të të dhënave.
Hapi 3: Gjendja fillestare
Ne duam t'i transmetojmë të gjitha të dhënat tona të motit në një shërbim cloud dhe ta bëjmë atë shërbim t'i kthejë të dhënat tona në një pult të bukur në të cilin mund të kemi qasje nga laptopi ose pajisja jonë celulare. Të dhënat tona kanë nevojë për një destinacion. Ne do të përdorim gjendjen fillestare si atë destinacion.
Hapi 1: Regjistrohuni për Llogarinë Fillestare të Shtetit
Shkoni në https://iot.app.initialstate.com dhe krijoni një llogari të re. Ju merrni një provë 14 -ditore falas dhe kushdo me një adresë emaili edu mund të regjistrohet për një plan studentor falas.
Hapi 2: Instaloni ISStreamer
Instaloni modulin fillestar të Python State në Raspberry Pi tuaj. Në komandën e shpejtë, ekzekutoni komandën e mëposhtme:
$ cd/home/pi/$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash
Hapi 3: Bëni disa Automagic Pas Hapit 2 do të shihni diçka të ngjashme me daljen e mëposhtme në ekran:
pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bashPassword: Fillimi i instalimit të lehtë të ISStreamer Python! Kjo mund të zgjasë disa minuta për të instaluar, pi pak kafe:) Por mos harroni të ktheheni, do të kem pyetje më vonë! Gjetur easy_install: setuptools 1.1.6 Gjetur pip: pip 1.5.6 nga /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) versioni kryesor i pipit: 1 pip version i vogël: 5 ISStreamer u gjet, duke u përditësuar … Kërkesa tashmë e përditësuar: ISStreamer në /Library/Python/2.7/site-packages Pastrimi … Dëshironi të merrni automatikisht një skenar shembull? [y/N] Ku doni ta ruani shembullin? [parazgjedhja:./is_example.py] Ju lutemi zgjidhni cilin aplikacion të gjendjes fillestare po përdorni: 1. app.initialstate.com 2. [E RE!] iot.app.initialstate.com Shkruani zgjedhjen 1 ose 2: Futni iot.app.initialstate.com emri i përdoruesit: Shkruani fjalëkalimin iot.app.initialstate.com:
Kur pyeteni nëse doni të merrni automatikisht një skenar shembull vendosni "y" për po dhe shtypni enter për të ruajtur skriptin tuaj në vendndodhjen e paracaktuar. Për pyetjen se cilin aplikacion po përdorni, zgjidhni 2 (nëse nuk jeni regjistruar para nëntorit 2018) dhe shkruani emrin e përdoruesit dhe fjalëkalimin tuaj.
Hapi 4: Drejtoni Skriptin Shembull
Drejtoni skriptin e provës për t'u siguruar që mund të krijojmë një rrjedhë të të dhënave në llogarinë tuaj të gjendjes fillestare. Shkruani komandën e mëposhtme:
$ python is_example.py
Hapi 6: Shembull i të dhënave
Kthehuni te llogaria juaj e gjendjes fillestare në shfletuesin tuaj të internetit. Një kovë e re e të dhënave e quajtur "Shembulli i Python Stream" duhet të jetë shfaqur në të majtë në raftin tuaj të regjistrit (mund t'ju duhet të rifreskoni faqen). Klikoni në këtë kovë për të parë të dhënat tuaja.
Hapi 4: Paneli i motit Dark Sky
Tani për pjesën argëtuese. Ne jemi gati të fillojmë të përdorim API -në Dark Sky për të krijuar një pult të motit dhe për të kapur historinë e motit për vendndodhjen që zgjedhim. Për ta bërë këtë, ne do të përdorim shkrimin Python: https://github.com/initialstate/darksky/blob/master/darksky.py. Ky skript thjesht thërret API Dark Sky duke përdorur çelësin tuaj API dhe merr informacionin e motit në një interval kohor të caktuar. Gjithashtu i transmeton ato të dhëna në llogarinë tuaj të gjendjes fillestare, e cila do t'ju lejojë të krijoni një pult të motit Dark Sky.
Ju ose mund ta kopjoni këtë skenar në Pi tuaj, ose ta përdorni atë përmes depove të GitHub që ne kemi klonuar më herët. Ju mund ta bëni këtë duke ndryshuar në drejtorinë tuaj darksky duke shtypur:
$ cd darksky
Nga këtu, do të keni mundësi të hyni në skedarin python që do të ekzekutojmë për të krijuar panelin tonë të motit. Para se ta përdorni, duhet të vendosni parametrat e dëshiruar dhe të futni çelësat tuaj. Nano në skedarin darksky.py duke shtypur:
$ nano darksky.py
Pastaj redaktoni pjesën pranë krye të shkrimit:
# --------- Cilësimet e përdoruesit ---------
QYTET = "Nashville" GPS_COORDS = "36.1628414, -86.780199" DARKSKY_API_KEY = "VENDOS KRYESIN TUAJ T D APLIKS SARK ERRS SARK SYR" BUCKET_NAME = ": pjesërisht_sunny:" + CITY + "Moti" BUCKET_KEYS = ACACE "" KRYESORE KETU "MINUTES_BETWEEN_READS = 15 # ---------------------------------
Ju duhet të vendosni koordinatat e dëshiruara GPS dhe emrin e qytetit. Ju gjithashtu duhet të futni çelësin tuaj API Dark Sky dhe çelësin tuaj të hyrjes në llogarinë tuaj fillestare ose të dhënat tuaja nuk do të shkojnë askund. Parametri MINUTES_BETWEEN_READS do të vendosë sa shpesh skenari juaj do të anketojë API -në e Dark Sky për informacionin e motit. 15 minuta sigurojnë një interval të mirë afatgjatë. Për hir të testimit afatshkurtër, mund ta vendosni këtë në 0.5 minuta. Bëni ndryshimet tuaja, pastaj futni kontrollin+X për të dalë dhe ruajtur.
Pasi të keni vendosur parametrat tuaj, jeni gati për të ekzekutuar skriptin tuaj:
$ python darksky.py
Nëse jeni duke hyrë në Pi tuaj dhe doni ta lini këtë skript të funksionojë pa ndërprerje për një kohë të gjatë, mund të përdorni komandën nohup (pa ndërprerje) si më poshtë:
$ nohup python darksky.py &
Ky skenar do të bëjë pak më shumë sesa thjesht të lexojë të dhënat e motit dhe t'i dërgojë ato në gjendjen fillestare. Ky skenar do të përfitojë nga mbështetja e emoji e integruar në mjetet e Shtetit fillestar për ta bërë pultin pak më të lezetshëm. Ju mund të shihni logjikën e përdorur për të marrë statusin e motit nga ikona aktualisht -> dhe për ta kthyer atë në një shenjë emoji në funksionin weather_icon. Diçka e ngjashme ndodh për fazën e hënës në funksionin moon_icon dhe drejtimin e erës në funksionin wind_dir_icon.
Hapi 5: Përfundimi
Shkoni te llogaria juaj e gjendjes fillestare dhe shikoni të dhënat tuaja. I ndryshova të gjitha vlerat e mia të përqindjes në matësat e harkut, reshjet në një matës të lëngshëm dhe temperaturën në një matës të temperaturës. Ju mund të ndryshoni në çdo lloj lloji të pllakave dhe zgjidhni ngjyrat tuaja për matësit dhe tabelat e linjave. Ju mund ta bëni panelin tuaj të errët ose të lehtë dhe të futni produktin përfundimtar në një faqe në internet duke përdorur një iFrame embed.
Nëse dëshironi të përdorni paraqitjen e pultit nga një aksion publik si pultin tuaj, mund të importoni një paraqitje në kovën tuaj të të dhënave duke ndjekur udhëzimet këtu. Ju mund të shtoni një imazh të sfondit në pultin tuaj për t'i dhënë më shumë kontekst.
URL -ja e ndarjes publike për pultin tonë është
Tani e keni zotëruar API -në Dark Sky, mundësitë janë të pafundme! Ekziston një sasi e pakufizuar e API -ve falas në internet për t'u eksploruar, kështu që filloni.
Recommended:
Ndërtoni një pajisje të sensorit të temperaturës Apple HomeKit duke përdorur një ESP8266 dhe një BME280: 10 hapa
Ndërtoni një pajisje të sensorit të temperaturës Apple HomeKit duke përdorur një ESP8266 dhe një BME280: Në udhëzimet e sotme, ne do të bëjmë sensorë të temperaturës, lagështisë dhe lagështisë me kosto të ulët bazuar në sensorin e temperaturës/lagështisë AOSONG AM2302/DHT22 ose BME280, sensor lagështie YL-69 dhe platformën ESP8266/Nodemcu. Dhe për shfaqjen
Si të bëni një dron duke përdorur Arduino UNO - Bëni një kuadopter duke përdorur mikrokontrollues: 8 hapa (me fotografi)
Si të bëni një dron duke përdorur Arduino UNO | Bëni një Quadcopter Duke përdorur Mikrokontrolluesin: HyrjeVizitoni Kanalin Tim në YoutubeNjë drone është një vegël (produkt) shumë e shtrenjtë për të blerë. Në këtë postim do të diskutoj, si ta bëj me çmim të ulët ?? Dhe si mund ta bëni tuajin si ky me çmim të lirë … Epo në Indi të gjitha materialet (motorët, ESC -të
Ndërtoni një Radio Amatore APRS RX Only IGate Duke përdorur një Raspberry Pi dhe një Rong RTL-SDR në më pak se gjysmë ore: 5 hapa
Ndërtoni një Radio Amatore APRS RX Only IGate Duke përdorur një Raspberry Pi dhe një Rong RTL-SDR në më pak se gjysmë ore: Ju lutemi vini re se kjo është tani mjaft e vjetër, kështu që disa pjesë janë të pasakta dhe të vjetruara. Skedarët që ju nevojiten për të redaktuar kanë ndryshuar. Unë kam azhurnuar lidhjen për t'ju dhënë versionin më të fundit të imazhit (ju lutemi përdorni 7-zip për ta dekompresuar atë), por për instruksion të plotë
Dark Sky API PyPortal & Paneli i motit: 6 hapa
Dark Sky API PyPortal & Weather Dashboard: Ky projekt është një vlerësim i atij që kemi bërë më parë, Paneli i Motit Dark Sky API. Këtë herë në vend të një Raspberry Pi, ne do të përdorim një Adafruit PyPortal për të shfaqur të dhënat e motit dhe për t'i dërguar ato në Gjendjen Fillestare. Dy pult, për punën e njërit
Stacioni i motit Acurite 5 në 1 duke përdorur një Raspberry Pi dhe Weewx (Stacionet e tjera të motit janë të pajtueshme): 5 hapa (me fotografi)
Stacioni i motit Acurite 5 në 1 Duke përdorur një Raspberry Pi dhe Weewx (Stacionet e tjera të motit janë të pajtueshme): Kur kisha blerë stacionin e motit Acurite 5 në 1 doja të isha në gjendje të kontrolloja motin në shtëpinë time ndërsa isha larg. Kur mbërrita në shtëpi dhe e vendosa, kuptova se ose duhej ta kisha ekranin të lidhur me një kompjuter ose të blija shpërndarësin e tyre të zgjuar,