Tartalomjegyzék:
- 1. lépés: Állítsa be az SD -kártyát és a Málna PI -t
- 2. lépés: Állítsa be a WeatherHAT könyvtárakat
- 3. lépés: Az Weather-api és a GetWeather Script telepítése
- 4. lépés: Frissített információk: Openweathermap API
Videó: Egyszerű időjárási kijelző a Raspberry PI és a Cyntech WeatherHAT használatával: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
* 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, de a többi információ még mindig jó. Köszönöm, hogy megnézted, és köszönöm, hogy értesítettél a Yahoo változásáról. *
Nemrég szereztem be egy Cyntech WeatherHAT -ot, de kissé csalódott voltam a szoftver hiánya miatt.
Úgy tűnik, hogy a HAT önmagában jól felépített: 6 kék LED esőcsepp formájában, 6 narancssárga LED villámcsapás formájában, 6 fehér LED felhő formájában. 1 (Szerintem RGB LED) a SUN számára - narancssárga színű (tehát lehet, hogy tévedek, ha RGB). És 6 WS2812 LED (ezek RGB:-))
A Cyntechnek van egy kezdő útmutatója, és még ez is jó - könnyen telepíthető és használható a HAT.
Így csak meglepődtem, hogy nem igazán láttam semmilyen szoftvert (kivéve a Cyntech által nyújtott demót). Hasonlóan meglepődtem, hogy nem találok senkit, aki valóban ezt használja - Lehet, hogy az emberek egy "díszes" kijelzőt szeretnének, hőmérsékleten és minden ilyen jellegű információval. Számomra jó, ha csak felnézek néhány LED -re, és tudom, hogy esik az eső, vagy zivatar, vagy felhős - Ezen a ponton, ha további információra van szükségem, megnézhetem a táblagépemet vagy a telefonomat.:-)
Még egy kicsit - ez az első alkalom, hogy python -ot használok, egyáltalán nem vagyok jó benne. És biztos vagyok benne, hogy azok az emberek, akik valóban ismerik a python -t, jobban megmondják, hogyan kell ezt megtenni.
Lássunk neki:
Szükségünk van egy SD -kártyára (legalább 8 GB)
A Raspberry PI -nek (Zero W -t használok) internet -hozzáféréssel kell rendelkeznie.
és szükségünk van a Cyntech időjárásáraHAT
Ha Raspberry PI Zero W -t használ, akkor képesnek kell lennie egy fejlécek készítésére a táblára.
Ellenkező esetben a szükséges készségek a szoftver használatának és az SD -kártya beállításának képességei.
1. lépés: Állítsa be az SD -kártyát és a Málna PI -t
Le kell töltenie a legújabb Raspbian programot (ennek az utasításnak az időpontjában, azaz a Raspbian Stretch 2018. március (2018-03-13))
www.raspberrypi.org/downloads/raspbian/
Én az asztali kiadást használtam, még akkor is, ha a beállításomat fejetlenül futtatom, és a legtöbb dolgot a CLI -ből (parancssori felületről) végzem ssh -n keresztül.
Kövesse az itt található telepítési útmutatót:
www.raspberrypi.org/documentation/installa…
Miután az Etcher elkészült, vegye ki az SD -kártyát, és helyezze vissza a számítógépbe.
* Ezt az alábbi lépést valóban csak akkor kell elvégeznie, ha fej nélküli telepítést tervez
Be kell állítanunk az SSH -t és a WIFI -t, mielőtt használnánk az SD -kártyát a Raspberry PI -ben. A kártya BOOT partíciójában hozzon létre egy "ssh" nevű fájlt idézőjelek nélkül. ebben a fájlban semmi nem szerepelhet. Amikor a PI elindul, látni fogja azt a fájlt, és kapcsolja be az SSH -t.
Létre kell hoznunk egy "wpa_supplicant.conf" nevű fájlt is. Ezt a fájlt a wifi beállításaival kell szerkesztenünk.
Valahogy így kellene kinéznie:
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev
update_config = 1 hálózat = {ssid = "az ÖnwifiSSID" psk = "az Ön jelszava" scan_ssid = 1}
* Ezt csak akkor kell megtenni, ha fejetlen telepítést tervez
Ha ez megtörtént, távolítsa el biztonságosan az SD -kártyát, és tegye be a Málna PI -t (győződjön meg arról, hogy nincs áram a PI -n).
Csatlakoztassa az weatherHAT -ot, és kapcsolja be a Raspberry PI -t.
2. lépés: Állítsa be a WeatherHAT könyvtárakat
Ebben a lépésben követjük az első lépések útmutatóját
guides.cyntech.co.uk/weatherhat/getting-sta…
HA fejetlen telepítést végez, akkor az ssh [email protected] e -mail címet kell megadnia
Ha nincs ssh kliens - a PUTTY jó.
Ha billentyűzetet és monitort használ - a fenti útmutatót érdemes követni, akkor a GUI asztalon kezdődik.
A fontos lépések itt a WS281x könyvtár és az WeatherHAT könyvtárak telepítése, valamint az egyes függőségek.
sudo apt-get update
sudo apt-get upgrade -y sudo apt-get install build-essential python-dev git scons swig python-smbus git clone https://github.com/jgarff/rpi_ws281x.git> git klón https://github.com/ jgarff/rpi_ws281x.git> cd rpi_ws281x scons cd python sudo python setup.py telepítés
Most meg kell győződnünk arról, hogy az I2C be van kapcsolva.
sudo raspi-config
Az útmutató a raspi-config régebbi verziójához készült, és azt írja, hogy lépjen a "Speciális beállítások" menüpontra, amelyet "Interfészek" helyettesítettek
Az I2C bekapcsolása után újra kell indítani.
Most itt az ideje, hogy tesztelje a kalapot
cd WeatherHAT
sudo python cycle.py
Ha minden jól ment, látnia kell az összes funkciót és a szivárványt.
A ctrl-z leállítja a programot.
*Különleges megjegyzések: Megtudtam, hogy a Raspberry PI 3 időzítése eltérő, és előfordulhat, hogy a szivárvány nem működik megfelelően. HA ilyen problémája van, itt talál megoldást.
github.com/CyntechUK/WeatherHAT/issues/3
guides.cyntech.co.uk/raspberry-pi/assemblin…
Ha minden működik, folytathatjuk a következő lépést.
Frissítés: (2020. október 6.) Ez az adattár most a getWeather.py szkriptemet tartalmazza, ez nagyszerű hír, mivel ismét felkeltette az érdeklődést, és új dolgok történnek.
3. lépés: Az Weather-api és a GetWeather Script telepítése
Tehát PULL kérést küldtem a CyntechUK -hoz a szkriptemhez - remélhetőleg elfogadják a kérést, és kihagyhatja a tárhelyem letöltését. (lehet, hogy nem akarják beírni a kódomat)
(2020. október 6.) A PULL kérést jóváhagyták, a getWeather szkriptem mostantól szerepel a Weatherhat adattárban.
********* Ezt az információt továbbra is használhatja, ha úgy tetszik, bár a getWeather.py most bekerült az weatherhat adattárba ******************* ******************
A tárhelyem itt található:
github.com/kd8bxp/WeatherHAT/tree/getWeath…
és a szkriptemet getWeather.py -nek hívják
HA elfogadják a lekérési kérelmet, akkor már rendelkezik ezzel a szkripttel - ha nem, klónoznia kell a lerakatot.
írja be a saját könyvtárába (/home/pi):
git klón https://github.com/kd8bxp/WeatherHAT.git getWeather
ez klónozza a lerakatot a getWeather nevű könyvtárba, majd meg kell vizsgálnunk a getWeather ágat.
cd getWeather
git checkout getWeather
**********************************************************************
Be kell írnia a korábban klónozott weatherHAT könyvtárba, és
Szerkesztenünk kell az Ön tartózkodási helyéhez tartozó getWeather.py parancsfájlt.
nano getWeather.py
Látnia kell egy sort, amely azzal kezdődik
hely és a kereséssel ér véget (45042) - Ez az irányítószámom, azt találtam, hogy nem működik olyan jól, mint gondolná
és a fölötte lévő kommentált sor jobban működik a város nevével. Valószínűleg ezt szeretné használni. Írja be megjegyzésbe az irányítószámot (#), és törölje a megjegyzést, és módosítsa a város nevét.
*********** RÉGI YAHOO INFORMÁCIÓK - Nem kell tovább ***********
Ahhoz, hogy ez működjön, telepítenünk kell még egy könyvtárat, az weather-api programot, amely a Yahoo Weather API csomagolása.
pypi.python.org/pypi/weather-api/0.0.5
A telepítés egyszerű -
pip install weather-api
***********************************************************************************
Most futtathatjuk a szkriptet:
sudo python getWeather.py &
A & hagyja a szkriptet a háttérben futni. A szkript körülbelül 5 percig alszik, majd ellenőrzi a Yahoo Weather -t, ha valami megváltozott - ha igen, frissíti a kijelzőt. Az 5 perces idő módosítható, a szkript alja közelében van.
alvás (60 * 5)
Beállíthat egy crontab feladatot (ne feledje, hogy rootként kell futtatni), amely minden indításkor elindítja a szkriptet.
használat:
sudo crontab -e
belép:
@reboot python /home/pi/weatherHAT/getWeather.py
Azt hiszem, ennek működnie kell - még nem állítottam be a cron -t a rendszeren.
Nagyjából ennyi …
Mint már említettem, ez az egyik első python programom, és biztos vagyok benne, hogy aki többet tud, jobb módszert fog látni erre.
Ezen csak korlátozottan teszteltem - eddig láttam a "Snow", az "Rain" és a "Thunderstorm" működését, Vannak olyan feltételek, amelyeket még nem tudom, hogyan kezeljek - szívesen fogadok ötleteket.
4. lépés: Frissített információk: Openweathermap API
2020 szeptemberében frissítettem a szkriptet a https://openweathermap.org API használatára.
MEGJEGYZÉS: Ez egy "gyors" javítás volt számomra, és korlátozottan tesztelt - (az elmúlt napokban borús volt, és csak a felhő- és esőkijelzőt látom) - Bár úgy gondolom, hogy minden olyan feltételt elértem, amelyek könnyen kezelhetők kijelző, lehetséges, hogy lemaradtam egy páran, mert milyen "gyorsan" történt ez a javítás. Ennek ellenére, ha úgy gondolja, hogy probléma van, kérjük, hagyjon megjegyzést, és engedje meg az időt, hogy megvizsgáljam - vagy próbálja meg a helyes irányba mutatni. *
A fenti link segítségével regisztrálnia kell egy API -kulcsra, és a város elhelyezéséhez szükséges szkript szerkesztésekor látni fogja a kulcs helyét. Csak másolja és illessze be, és jó lesz.
Egyéb megjegyzések:
Ez a szkript most az "Aktuális időjárási adatok API" információkat használja az API -ról:
openweathermap.org/current Egy dolog, amit meg kell jegyezni, használhat várost, államot és országot.
IE: a "Dayton" városból "Dayton, OH, USA" lesz, észreveszi, hogy az állam és az országkódok nagybetűsek, ez kötelező. Az API azt mondja, hogy csak a "Dayton, OH" -t tudja használni, de hibákat kaptam a szkriptből, amikor ezt megtettem - és mivel ez gyors megoldás volt, nem vizsgáltam meg, miért. Tehát javaslom a "város, állam, ország" használatát
HA valamilyen oknál fogva nem kap jó információt egy városnév használatával, akkor megkeresheti a város azonosítóját, vagy használhatja a szélességet és hosszúságot, vagy az irányítószámot. Minden esetben módosítani kell az URL -t, ha az API webhely jobb oldalán található linkre kattint, akkor példát ad arra, hogy mi legyen az URL.
Meg kell változtatnia az URL -t a szkriptben is.
Még több megjegyzés: 2020. október 3
@Itsmedoofer rámutatott, hogy telepíteniük kell a könyvtár python-kéréseit az új frissítéssel. Nem vagyok benne biztos, hogy szükségem volt erre (valószínűleg az is, hogy évekkel ezelőtt telepítettem, vagy a python különböző verziói alapértelmezés szerint különböző könyvtárakat telepítenek). Tehát ha a szkript hibát ad a python-kérésekkel kapcsolatban, akkor a javítás egyszerű.
írja be ezt a parancsot a CLI -be: python -m pip install request
és jónak kellene lenned.
Remélhetőleg ez azóta is sikerül, ez gyors javítás volt, és talán egy nap lehetővé teszi, hogy dolgozhassak egy kicsit jobban.
Frissítés (2020. október 6.) A github lekérési kérelmet elfogadták, az eredeti CyntechUK lerakat most tartalmazza ezt a szkriptet. https://github.com/CyntechUK/WeatherHAT A Boeerb felhasználónak néhány ötlete van arra vonatkozóan, hogyan jelenítheti meg a jelenleg nem látható feltételeket, valamint néhány más ötletet is. Tehát figyelje ezt a tárolót. És remélhetőleg történni fognak a dolgok.
Frissítés: (2020. október 8.) Az Open Weather Map rövid útmutatót tartalmaz az API beállításáról és használatáról, https://openweathermap.org/appid Jó kiindulópont.
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
Időjárási mátrix kijelző: 4 lépés (képekkel)
Időjárási mátrix kijelző: A projektről megmutatom, hogyan hozhat létre mini időjárási állapotkijelzőt egy 8x8 -as mátrix kijelzőről. A Genuino MKR1000 készüléket használom a hőmérséklet, a páratartalom és az időjárás állapotának lekérésére egy kiválasztott helyen. egy sliban
Időjárási adatok a Google Táblázatok és a Google Script használatával: 7 lépés
Időjárási adatok a Google Táblázatok és a Google Script használatával: Ebben a Blogtutban az SHT25 szenzor leolvasásait az Adafruit huzzah ESP8266 segítségével elküldjük a Google lapjaira, ami segít az adatok internetre küldésében. Az adatok küldése a Google lap cellájába nagyon hasznos és az alapvető módszer az adatok mentésére
Időjárási webes alkalmazás az Esp8266 használatával: 7 lépés
Időjárási webes alkalmazás az Esp8266 használatával: Az SHT 31 egy hőmérséklet- és páratartalom -érzékelő, amelyet a Sensirion készített. Az SHT31 nagy pontosságot biztosít ± 2% relatív páratartalom mellett. A páratartalom 0 és 100% között, a hőmérséklet -40 és 125 ° C között van. Sokkal megbízhatóbb és gyorsabb a
Építsen időjárási irányítópultot a Dark Sky API használatával: 5 lépés (képekkel)
Építsen időjárás -irányítópultot a Dark Sky API használatával: 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. Nem csak esős vagy napos idő van, hanem hőmérséklet is