Tartalomjegyzék:
- 1. lépés: Első lépések
- 2. lépés: A Dark Sky API használata
- 3. lépés: Kezdeti állapot
- 4. lépés: Sötét égbolt időjárási irányítópult
- 5. lépés: Következtetés
Videó: Építsen időjárási irányítópultot a Dark Sky API használatával: 5 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
A Dark Sky az időjárás -előrejelzésre és a vizualizációra specializálódott. A Dark Sky legmenőbb aspektusa az időjárási API, amellyel szinte mindenhol a világon lekérhetjük az időjárási adatokat. Nemcsak az esős vagy napos időjárás, hanem a hőmérséklet, harmatpont, széllökés, páratartalom, csapadék, nyomás, UV -index és egyebek könnyen elérhetők, ahol csak akarja, amikor csak akarja.
Tanuljuk meg a Dark Sky szuper-egyszerű API-jának használatát. Ha még nem ismeri az API -kat, ígérem, hogy ez nagyon egyszerű lesz! És ha korábban már használt API -kat, akkor remélem, valami újat tudunk tanítani az általunk használt kóddal.
Amire szüksége lesz ehhez a projekthez:
- Dark Sky API -fiók
- Kezdeti állami számla
- Raspberry Pi vagy laptop
1. lépés: Első lépések
Már sok munkát végeztünk azért, hogy összeállítsa a kódot és rendszerezze az információkat. Csak néhány változtatásra lesz szükségünk az út során. Ha szeretne egy kis kihívást, módosítsa a kódunkat és az időjárási adatokat, akkor korlátlan lehetőségek állnak rendelkezésre!
Ahhoz, hogy lekérje mindazt, amit előkészítettünk Önnek, klónoznia kell az adattárat a GitHubból. A GitHub egy olyan szolgáltatás, amely lehetővé teszi számunkra az ehhez hasonló projektek tárolását, felülvizsgálatát és kezelését. Ezt a szkriptet egy dedikált eszközön szeretné futtatni. A Raspberry Pi tökéletes megoldás az olyan alkalmazások futtatásához, mint ez az oktatóanyag.
A tároló klónozásához mindössze annyit kell tennünk, hogy belépünk a Pi termináljába, vagy a számítógép termináljába, amely SSH -s a pi -be, és írja be ezt a parancsot:
$ git klón
Nyomja meg az Enter billentyűt, és látni fogja ezeket az információkat:
A „sötét” klónozása…
távoli: Objektumok számlálása: 2, kész. távirányító: Összesen 2 (delta 0), újrafelhasznált 0 (delta 0), csomagolásban újrafelhasznált 2 Kicsomagolás tárgyak: 100% (2/2), kész. Csatlakozás ellenőrzése… kész.
Ha ezt látja, akkor gratulálunk, sikeresen klónozta a GitHub Repo -t, és megvan minden szükséges fájl a projekt létrehozásához. Mielőtt továbblépnénk a következő lépéshez, szánjunk egy kis időt ennek a könyvtárnak a felfedezésére, és tanuljunk meg néhány alapvető parancssori parancsot.
Írja be az alábbi parancsot a terminálba:
$ ls
Ez a parancs felsorolja mindazt, ami elérhető a jelenleg használt könyvtárban. Ez a lista azt mutatja, hogy a GitHub Repo -t sikeresen klónoztuk a könyvtárunkba „darksky” néven. Nézzük meg, mi van abban a könyvtárban. Egy könyvtárba való áthelyezéshez csak annyit kell tennie, hogy beírja a „cd” -t, majd beírja annak a könyvtárnak a nevét, ahová szeretne menni.
Ebben az esetben beírjuk:
$ cd sötét
Miután megnyomtuk az enter billentyűt, látni fogjuk, hogy most a sötét könyvtárban vagyunk. Írjuk be újra az "ls" -t, hogy lássuk, milyen fájlokat telepítettünk a pi -re.
README.md darksky.py…
Itt láthatjuk, hogy megvan a readme dokumentumunk és a python fájljaink. Nézzük a darksky.py -t a "nano" paranccsal. A nano parancs lehetővé teszi számunkra, hogy nyissuk meg a nano szövegszerkesztőt, ahol megvan a python kódunk a projekt minden szegmenséhez. Menj, és írd be:
$ nano darksky.py
Itt láthatja az összes kódot, amelyet erre a projektre készítettünk Önnek. Egyelőre nem fogunk változtatni ezen a dokumentumon, de bátran lapozzon és nézze meg, mit fogunk csinálni később ebben az oktatóanyagban.
2. lépés: A Dark Sky API használata
A Dark Sky API használatához először saját API -kulcsra van szüksége. Ne aggódjon, az API -kulcs beszerzése gyors és ingyenes. Csak annyit kell tennie, hogy felkeresi a webhelyet, és a "Próbálja ki ingyen" gombra kattintva hozzon létre egy fiókot.
- Naponta 1000 API hívást kap ingyen. Minden ingyenes API -t meghaladó API -kérés 0,0001 dollárba kerül.
- Ez a korlát minden nap automatikusan visszaáll éjfélkor (UTC).
- Az előrejelzési kérelem a következő hét aktuális időjárási előrejelzését adja vissza.
- A Time Machine Request visszaadja a megfigyelt vagy előre jelzett időjárási körülményeket egy múltbeli vagy jövőbeli dátumra.
A titkos Dark Sky API kulcsa valahogy így fog kinézni: 0123456789abcdef9876543210fedcba.
API -hívást kezdeményezhet a Dark Sky felé, ha begépel egy URL -t a böngészőjébe a következő formátumban:
api.darksky.net/forecast/[key]/[latitude], [longitude]
Cserélje le a "kulcsot" a Dark Sky API kulccsal és a hosszúsági/szélességi fokot bármivel. A hosszúsági és szélességi fokokat a Google Térképen keresheti meg, és megkeresheti a tartózkodási helyét. Ezek az értékek szerepelnek az URL -ben. Másolja és illessze be a fenti sötét égbolt URL -címét a hozzáférési kulccsal és az értékekkel a címsorba.
Ha ezt megteszi, valami ilyesmit fog látni:
nap "," legközelebbiStormDistance ": 57," legközelebbiStormBearing ": 15," rainIntensity ": 0," csapadék valószínűsége ": 0," hőmérséklet ": 53,9," látszóhőmérséklet ": 53,9," harmatpont ": 29,59," páratartalom ": 0,39, "nyomás": 1022,45, "windSpeed": 3,87, "windGust": 9,25, "windBearing": 259, "cloudCover": 0,01, "uvIndex": 3, "láthatóság": 7,8, "ózon": 309,71}, "minute": {"summary": "Clear for the hour.", "icon": "clear-day", "data": [{"time": 1550615280, "rainIntensity": 0, "precipProbability": 0 },…
Kicsit lehengerlő és nehezen olvasható lehet, ezért azt javaslom, hogy használjon JSON Formatter -t az adatok olvashatóbbá tételéhez. Ha ezt megteszi, valahogy így fog kinézni:
objektum {9}
szélesség: 37.8267 hosszúság: -122.4233 időzóna: Amerika/Los_Angeles jelenleg {19} idő: 1550615286 összefoglaló: Törlés ikon: derült nap legközelebbiStormDistance: 57 legközelebbiStormBearing: 15 csapadék Intenzitás: 0 csapadék Valószínűség: 0 hőmérséklet: 53,9 látható Hőmérséklet: 53,9 harmatpont: 29,59 páratartalom 0.39 nyomás: 1022,45 szél Sebesség: 3,87 szél Szél: 9,25 szél Csapágy: 259 felhő Fedés: 0,01 uv Index: 3 látótáv: 7,8 ózon: 309,71
Most hívott egy API -t! Látod, milyen könnyű volt? Még csak egy sor kódot sem kellett írnia. Most, hogy elsajátította az API -kat, áttérhetünk az adatfolyam -részre.
3. lépés: Kezdeti állapot
Szeretnénk az időjárási adatainkat felhőszolgáltatásba továbbítani, és ez a szolgáltatás az adatainkat egy szép irányítópulttá alakítani, amelyet laptopunkról vagy mobileszközünkről érhetünk el. Adatainknak úti célra van szükségük. A kezdeti állapotot fogjuk használni célként.
1. lépés: Regisztráljon a kezdeti államfiókhoz
Lépjen a https://iot.app.initialstate.com oldalra, és hozzon létre egy új fiókot. 14 napos ingyenes próbaidőszakot kap, és bárki, aki rendelkezik e -mail címmel, regisztrálhat egy ingyenes tanulói előfizetésre.
2. lépés: Telepítse az ISStreamert
Telepítse a Kezdeti állapot Python modult a Raspberry Pi -re. A parancssorban futtassa a következő parancsot:
$ cd/home/pi/$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash
A 2. lépés után a következő kimenethez hasonlót lát a képernyőn:
pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bash Jelszó: Az ISStreamer Python egyszerű telepítése! Ennek telepítése eltarthat pár percig, igyon egy kávét:) De ne felejtse el visszajönni, később kérdéseim lesznek! Talált easy_install: setuptools 1.1.6 Talált pip: pip 1.5.6 a /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip fő verzióból: 1 pip minor verzió: 5 Az ISStreamer megtalálható, frissítés… A követelmény már naprakész: ISStreamer a /Library/Python/2.7/site-packages fájlban Tisztítás … Szeretné automatikusan megkapni a példa szkriptet? [y/N] Hova szeretné menteni a példát? [alap::.initialstate.com felhasználónév: Írja be az iot.app.initialstate.com jelszót:
Amikor a program megkérdezi, hogy szeretne -e automatikusan példaszkriptet kapni, írja be az "y" -t igenre, és nyomja le az enter billentyűt, hogy elmentse a szkriptet az alapértelmezett helyre. Ha azt a kérdést szeretné feltenni, hogy melyik alkalmazást használja, válassza a 2 lehetőséget (hacsak nem regisztrált 2018 novembere előtt), és adja meg felhasználónevét és jelszavát.
4. lépés: Futtassa a példa szkriptet
Futtassa a teszt szkriptet, hogy megbizonyosodjon arról, hogy adatfolyamot tudunk létrehozni a kezdeti állapotú fiókjához. Írja be a következő parancsot:
$ python is_example.py
6. lépés: Példaadatok
Térjen vissza a kezdeti állapotú fiókjához a böngészőben. A „Python Stream Example” nevű új adatcsoportnak meg kellett jelennie a napló polcának bal oldalán (előfordulhat, hogy frissítenie kell az oldalt). Kattintson erre a csoportra az adatok megtekintéséhez.
4. lépés: Sötét égbolt időjárási irányítópult
Most a szórakoztató részhez. Készen állunk arra, hogy elkezdjük használni a Dark Sky API -t időjárás -irányítópult létrehozásához, és rögzítsük az időjárási előzményeket az általunk választott helyre. Ehhez a Python szkriptet fogjuk használni: https://github.com/initialstate/darksky/blob/master/darksky.py. Ez a szkript egyszerűen meghívja a Dark Sky API -t az API kulcsa segítségével, és lekéri az időjárási információkat egy meghatározott időközönként. Ezeket az adatokat továbbítja a kezdeti állapot fiókjába is, amely lehetővé teszi a Dark Sky időjárási irányítópultjának létrehozását.
Ezt a szkriptet másolhatja Pi -jére, vagy elérheti azt a korábban klónozott GitHub -táron keresztül. Ezt úgy teheti meg, hogy átvált a darksky könyvtárba, és beírja:
$ cd sötét
Innen hozzáférhet a python fájlhoz, amelyet futtatunk az időjárási irányítópult létrehozásához. Mielőtt futtatná, be kell állítania a kívánt paramétereket, és be kell helyeznie a kulcsokat. Nano a darksky.py fájlba a következő beírásával:
$ nano darksky.py
Ezután szerkessze a szkript tetején található részt:
# --------- Felhasználói beállítások ---------
CITY = "Nashville" GPS_COORDS = "36.1628414, -86.780199" DARKSKY_API_KEY = "HOZZA A DARK SKY API KEY ITT" BUCKET_NAME = ": részben_napos:" + CITY + "Időjárás" BUCKET_KEY = "ds1 ACCESS ACCESS KULCS ITT "MINUTES_BETWEEN_READS = 15 # ---------------------------------
Be kell állítania a kívánt GPS -koordinátákat és a város nevét. Be kell helyeznie a Dark Sky API -kulcsát és a kezdeti állapotú fiók hozzáférési kulcsát is, különben az adatok nem mennek sehova. A MINUTES_BETWEEN_READS paraméter beállítja, hogy a szkript milyen gyakran kérdezze le a Dark Sky API -t az időjárási információkért. A 15 perc hosszú intervallumot biztosít. A rövid távú tesztelés érdekében ezt 0,5 percre állíthatja be. Végezze el a módosításokat, majd írja be a Control+X billentyűt a kilépéshez és a mentéshez.
Miután beállította a paramétereket, készen áll a szkript futtatására:
$ python darksky.py
Ha bekapcsolja a Pi-t, és szeretné, hogy ez a szkript hosszú ideig megszakítás nélkül futjon, akkor használja a nohup parancsot (nincs leállás) az alábbiak szerint:
$ nohup python darksky.py &
Ez a szkript valamivel többet fog tenni, mint az időjárási adatok olvasása és elküldése a kezdeti állapotba. Ez a szkript ki fogja használni az Initial State eszközeibe épített emoji támogatást, hogy egy kicsit hűvösebb legyen az irányítópult. Láthatja azt a logikát, amelyet az időjárás állapotának lekérésére használ az aktuálisan -> ikonról, és emoji jelzővé alakítását az weather_icon függvényben. Valami hasonló történik a holdfázisnál a moon_icon függvényben és a szélirányban a wind_dir_icon függvényben.
5. lépés: Következtetés
Lépjen a kezdeti állam fiókjába, és nézze meg adatait. Minden százalékos értékemet ívmérőre, a csapadékot folyadékmérőre, a hőmérsékletet hőmérőre változtattam. Bármilyen típusú cserépre válthat, és kiválaszthatja a színeket a mérőműszerekhez és a vonaldiagramokhoz. Az irányítópultot sötétre vagy világosra teheti, és a végterméket beágyazhatja egy webhelyre egy beágyazott iFrame segítségével.
Ha az irányítópult -elrendezést nyilvános megosztásból szeretné használni irányítópultként, akkor az itt található utasításokat követve importálhat elrendezést az adatgyűjtőjébe. Hozzáadhat egy háttérképet az irányítópulthoz, hogy több kontextust adjon neki.
Irányítópultunk nyilvános megosztási URL -címe:
Most már elsajátította a Dark Sky API -t, a lehetőségek végtelenek! Korlátlan mennyiségű ingyenes API -t talál online, így kezdje el.
Ajánlott:
(IOT projekt) Időjárási adatok lekérése az ESP8266 és az Openweather API használatával: 5 lépés
(IOT Project) Időjárási adatok lekérése az ESP8266 és az Openweather API használatával: Ebben az utasításban egy egyszerű IOT projektet fogunk felépíteni, amelyben lekérjük városunk időjárási adatait az openweather.com/api webhelyről, és megjelenítjük azokat a Feldolgozó szoftver segítségével
Egyszerű időjárási kijelző a Raspberry PI és a Cyntech WeatherHAT használatával: 4 lépés
Egyszerű időjárás -megjelenítés a Raspberry PI és a Cyntech WeatherHAT használatával: * 2019 -ben a Yahoo megváltoztatta API -ját, és ez leállt. Nem voltam tisztában a változással. 2020 szeptemberében ezt a projektet frissítettük az OPENWEATHERMAP API használatára. Lásd az alábbi frissített részt, az információ többi része még mindig jó
Építsen amatőr rádió APRS RX csak IGate-t Raspberry Pi és RTL-SDR hardverkulcs használatával fél óra alatt: 5 lépés
Amatőr rádió APRS RX csak IGate építése Raspberry Pi és RTL-SDR hardverkulcs használatával kevesebb, mint fél óra alatt: Kérjük, vegye figyelembe, hogy ez már elég régi, így egyes részei helytelenek és elavultak. A szerkeszteni kívánt fájlok megváltoztak. Frissítettem a linket, hogy megkapjam a kép legújabb verzióját (kérjük, használja a 7-zip-et a kicsomagoláshoz), de a teljes utasításért
Dark Sky API PyPortal & Weather Dashboard: 6 lépés
Dark Sky API PyPortal & Weather Dashboard: Ez a projekt egy olyan, amit korábban csináltunk, a Dark Sky API Weather Dashboard. Ezúttal a Raspberry Pi helyett az Adafruit PyPortal segítségével jelenítjük meg az időjárási adatokat, és küldjük el az adatokat a kezdeti állapotba. Két műszerfal az egyik munkájához
Építsen kettős 15 V -os tápegységet a polcmodulok használatával 50 dollár alatt: 10 lépés (képekkel)
Építsen kettős 15 V -os tápegységet a polcmodulok használatával 50 dollár alatti áron: Bevezetés: Ha hobbija vagy, aki hanggal foglalkozik, akkor ismeri a kettős sínű tápegységeket. A legtöbb kis teljesítményű hangkártya, például az előerősítők +/- 5V és +/- 15V között vannak. A kettős feszültségű tápegységnek köszönhetően ez