Cuprins:
- Pasul 1: Setați cardul SD și Raspberry PI
- Pasul 2: configurați bibliotecile WeatherHAT
- Pasul 3: Instalarea Weather-api și GetWeather Script
- Pasul 4: Informații actualizate pentru: API Openweathermap
Video: Afișare simplă a vremii folosind Raspberry PI și Cyntech WeatherHAT: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
* În 2019, Yahoo și-a schimbat API-ul și acest lucru a încetat să funcționeze. Nu eram conștient de schimbare. În septembrie 2020, acest proiect a fost actualizat pentru a utiliza OPENWEATHERMAP API Consultați secțiunea actualizată de mai jos, restul acestor informații sunt totuși bune. Vă mulțumim că ați căutat și vă mulțumesc că m-ați informat despre schimbarea Yahoo. *
Recent am achiziționat un Cyntech WeatherHAT, dar am fost puțin dezamăgit de lipsa de software pentru acesta.
HAT-ul său este bine construit, cu 6 LED-uri albastre sub formă de picături de ploaie, 6 LED-uri portocalii sub formă de tunet, 6 LED-uri albe sub formă de nor. 1 (ceea ce cred că este un LED RGB) pentru SUN - afișează portocaliu (așa că s-ar putea să mă înșel cu privire la faptul că este un RGB). Și 6 LED-uri WS2812 (Acestea sunt RGB:-))
Cyntech are un ghid introductiv și chiar și asta este bun - este ușor de instalat și de utilizat HAT.
Așa că am fost doar surprins să nu văd cu adevărat niciun software (altul decât demo-ul oferit de Cyntech). Am fost la fel de surprins să nu găsesc pe cineva care să folosească cu adevărat acest lucru - Poate că oamenii vor un afișaj „fantezist” cu temperaturi și tot felul de informații. Pentru mine este bine să mă uit la câteva LED-uri și să știu - plouă, sau furtună sau noros - În acel moment, dacă am nevoie de mai multe informații, mă pot uita la tabletă sau la telefon.:-)
Un pic mai mult - este într-adevăr prima dată când folosesc python, nu sunt deloc priceput. Și sunt sigur că oamenii care știu cu adevărat python îmi vor spune o modalitate mai bună de a face acest lucru.
Să începem:
Avem nevoie de un card SD (cel puțin 8 GB)
Un Raspberry PI (folosesc un Zero W) trebuie să aibă acces la internet.
și avem nevoie de vremea CyntechHAT
Dacă utilizați un Raspberry PI Zero W, va trebui să puteți să lipiți un set de anteturi pe placă.
În caz contrar, abilitățile necesare sunt abilitatea de a utiliza software-ul și de a configura cardul SD.
Pasul 1: Setați cardul SD și Raspberry PI
Va trebui să descărcați cel mai recent Raspbian (în momentul acestui instructable, care este Raspbian Stretch martie 2018 (13.03.2018))
www.raspberrypi.org/downloads/raspbian/
Am folosit ediția desktop, chiar și tu îmi rulez configurarea fără cap și fac cele mai multe lucruri din CLI (interfața liniei de comandă) prin ssh.
Urmați ghidul de configurare găsit aici:
www.raspberrypi.org/documentation/installa…
După ce Etcher este terminat, scoateți cardul SD și reintroduceți-l în computer.
* Trebuie să faceți acest pas mai jos doar dacă intenționați să faceți o instalare fără cap
Trebuie să configurăm SSH și WIFI înainte de a utiliza cardul SD în Raspberry PI. În partiția BOOT a cardului, creați un fișier numit „ssh” fără ghilimele. nimic nu trebuie să fie în fișierul respectiv. Când boot-ul PI va vedea acel fișier și va activa SSH.
De asemenea, trebuie să creăm un fișier numit „wpa_supplicant.conf”. Trebuie să edităm acest fișier cu setările dvs. wifi.
Ar trebui să arate cam așa:
ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev
update_config = 1 network = {ssid = "yourwifiSSID" psk = "yourwifipassass" scan_ssid = 1}
* Trebuie să faceți acest lucru numai dacă intenționați să faceți o instalare fără cap
Odată ce ați terminat, scoateți în siguranță cardul SD și introduceți Raspberry PI (asigurați-vă că nu există alimentare pe PI).
Atașați weatherHAT și porniți Raspberry PI.
Pasul 2: configurați bibliotecile WeatherHAT
Pentru acest pas vom urmări Ghidul introductiv găsit
guides.cyntech.co.uk/weatherhat/getting-sta…
DACĂ faceți o instalare fără cap, veți dori să ssh [email protected]
Dacă nu aveți un client ssh - PUTTY este unul bun.
Dacă utilizați o tastatură și un monitor - ghidul de mai sus este unul bun de urmat, vă pornește de la un desktop GUI.
Pașii importanți aici sunt instalarea bibliotecii WS281x și a bibliotecilor WeatherHAT, împreună cu dependența pentru fiecare.
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 clone https://github.com/ jgarff / rpi_ws281x.git> cd rpi_ws281x scons cd python sudo python setup.py install
Acum trebuie să ne asigurăm că I2C este pornit.
sudo raspi-config
Ghidul este scris pentru o versiune mai veche de raspi-config și spune să mergeți la „Opțiuni avansate” care a fost înlocuit cu „Interfețe”
Odată ce porniți I2C va trebui să reporniți.
Acum este timpul să testați pălăria
cd WeatherHAT
sudo python cycle.py
Dacă totul a mers bine, ar trebui să vedeți toate caracteristicile și un curcubeu.
ctrl-z va opri programul.
* Note speciale: Am aflat că calendarul Raspberry PI 3 este diferit și este posibil ca curcubeul să nu funcționeze corect. DACĂ aveți această problemă aici este cum să o remediați.
github.com/CyntechUK/WeatherHAT/issues/3
guides.cyntech.co.uk/raspberry-pi/assemblin…
Odată ce totul funcționează, putem continua la pasul următor.
Actualizare: (6 octombrie 2020) Acest depozit conține acum scriptul meu getWeather.py, aceasta este o veste minunată, întrucât interesul s-a declanșat din nou, iar lucrurile noi trebuie să se întâmple.
Pasul 3: Instalarea Weather-api și GetWeather Script
Deci, am introdus o cerere PULL către CyntechUK pentru scriptul meu - sperăm că vor accepta cererea și puteți sări peste descărcarea depozitului meu. (s-ar putea să nu dorească să includă codul meu tu)
(6 octombrie 2020) Solicitarea PULL a fost aprobată, scriptul meu getWeather este acum inclus în depozitul Weatherhat.
********* Puteți utiliza în continuare aceste informații dacă doriți, totuși getWeather.py a fost inclus în depozitul meteo acum ****************** *****************
Repozitorul meu poate fi găsit aici:
github.com/kd8bxp/WeatherHAT/tree/getWeath…
iar scriptul meu se numește getWeather.py
DACĂ acceptă cererea de extragere, veți avea deja acest script - dacă nu, va trebui să clonați depozitul.
în directorul dvs. de acasă (/ home / pi) tastați:
git clone https://github.com/kd8bxp/WeatherHAT.git getWeather
aceasta va clona depozitul într-un director numit getWeather, apoi trebuie să verificăm filiala getWeather.
cd getWeather
git checkout getWeather
**********************************************************************
Va trebui să cd în directorul weatherHAT care a fost clonat mai devreme și
Trebuie să edităm scriptul getWeather.py pentru locația dvs.
nano getWeather.py
Ar trebui să vedeți o linie care începe cu
locație și se încheie cu căutare (45042) - Acesta este codul meu poștal, am constatat că nu funcționează la fel de bine cum ați crede
iar linia de deasupra ei, care este comentată, funcționează mai bine cu numele orașului. Acesta este cel pe care probabil doriți să îl utilizați. Deci, comentează linia de cod poștal (#) și decomentează și schimbă numele orașului tău.
*********** INFORMAȚII VECHI YAHOO - Nu mai sunt necesare ***********
Trebuie să mai instalăm o bibliotecă pentru ca acest lucru să funcționeze, weather-api, care este un wrapper pentru Yahoo weather API.
pypi.python.org/pypi/weather-api/0.0.5
Instalarea este ușoară -
pip instala weather-api
***********************************************************************************
Acum putem rula scriptul:
sudo python getWeather.py &
& Va lăsa scriptul să ruleze în fundal. Scriptul doarme aproximativ 5 minute, apoi verifică Yahoo Weather dacă s-a schimbat ceva - dacă da, actualizează afișajul. Timpul de 5 minute poate fi schimbat, este aproape de partea de jos a scriptului.
somn (60 * 5)
Puteți configura o lucrare crontab (amintiți-vă că acest lucru trebuie rulat ca root) care va porni scriptul la fiecare boot.
utilizare:
sudo crontab -e
introduce:
@reboot python /home/pi/weatherHAT/getWeather.py
Cred că ar trebui să funcționeze - nu am configurat încă cron pe sistemul meu.
Cam asta e tot -
După cum am afirmat, acesta este unul dintre primele mele programe Python și sunt sigur că cineva care știe mai multe va vedea o modalitate mai bună de a face acest lucru.
Am făcut doar teste limitate în acest sens - am văzut până acum „Zăpadă”, „Ploaie” și „Furtună”, Există câteva condiții pe care nu sunt sigur cum să le gestionez încă - salut idei.
Pasul 4: Informații actualizate pentru: API Openweathermap
În septembrie 2020, am actualizat scriptul pentru a utiliza API-ul
NOTĂ: Aceasta a fost o soluție „rapidă” pentru mine și testată limitat - (A fost acoperit cu nori în ultimele zile și tot ce văd este afișarea norilor și a ploii) - Deși cred că am prins toate condițiile ușor de afișaj, este posibil să fi ratat câteva din cauza cât de „rapidă” a fost această remediere. Acestea fiind spuse, dacă credeți că există o problemă, vă rugăm să lăsați un comentariu și timpul permis, o să analizez - sau să încerc să vă îndrept în direcția corectă. *
Va trebui să vă înscrieți pentru o cheie API folosind linkul de mai sus, când editați scriptul pentru a vă plasa orașul, veți vedea un loc pentru cheie. Doar copiați-l și lipiți-l și ar trebui să fiți bun.
Alte note:
Acest script folosește acum „API-ul curent al datelor meteo” despre informațiile despre acel API pot fi găsite aici:
openweathermap.org/current Un lucru de reținut este că puteți utiliza un oraș, stat și țară.
IE: orașul „Dayton” devine „Dayton, OH, SUA”. Observați cum codurile de stat și de țară sunt ambele majuscule, acest lucru este necesar. API-ul spune că poate folosi doar „Dayton, OH”, dar am primit erori din script când am făcut acest lucru - și din moment ce a fost o soluție rapidă, nu am analizat de ce. Așadar, vă recomand să folosiți „orașul, statul, țara”
DACĂ, dintr-un anumit motiv, nu obțineți informații bune folosind un nume de oraș, puteți căuta și ID-ul orașului sau puteți utiliza latitudinea și longitudinea sau codul poștal. În fiecare caz, adresa URL va trebui modificată, dacă faceți clic pe linkul din partea dreaptă a site-ului web API, acesta va oferi un exemplu despre ceea ce ar trebui să fie adresa URL.
Trebuie să schimbați și adresa URL din script.
Și mai multe note: 3 octombrie 2020
@Itsmedoofer a subliniat că trebuie să instaleze cererile python-bibliotecă cu noua actualizare. Nu sunt sigur că am avut nevoie de acest lucru (este, de asemenea, posibil să îl fi instalat de ani în urmă sau diferite versiuni de python să instaleze diferite biblioteci în mod implicit). Deci, dacă scriptul oferă o eroare despre cererile de Python, este ușor de remediat.
tastați această comandă în solicitările de instalare CLI: python -m pip
și ar trebui să fii cuminte.
Sperăm că acest lucru face din moment, aceasta a fost o soluție rapidă și, poate, într-o zi, permițând, pot lucra la curățarea un pic mai bine.
Actualizare (6 octombrie 2020) Solicitarea de extragere github a fost acceptată, depozitul original original CyntechUK include acum acest script. https://github.com/CyntechUK/WeatherHAT Utilizatorul Boeerb are câteva idei despre cum să afișeze unele dintre condițiile care nu sunt afișate în prezent, precum și alte idei de utilizare. Așadar, fii cu ochii pe acel depozit. Și sperăm că lucrurile se vor întâmpla.
Actualizare: (8 octombrie 2020) Open Weather Map are un scurt tutorial despre configurarea și utilizarea API-ului, https://openweathermap.org/appid Un loc bun pentru a începe.
Recomandat:
Sistem inteligent de monitorizare a vremii IoT folosind NodeMCU: 11 pași
Sistem inteligent de monitorizare a vremii IoT folosind NodeMCU: S-ar putea să fiți conștienți de stația meteo tradițională; dar v-ați întrebat vreodată cum funcționează de fapt? Deoarece stația meteo tradițională este costisitoare și voluminoasă, densitatea acestor stații pe unitate de suprafață este foarte mică, ceea ce contribuie la
Sistem de monitorizare a vremii folosind senzorul Raspberry Pi3 și DHT11: 4 pași
Sistem de monitorizare a vremii folosind senzorul Raspberry Pi3 și DHT11: În acest tutorial, vă voi arăta cum să conectați DHT11 la Raspberry Pi și să afișez citirile de umiditate și temperatură pe un LCD. Senzorul de temperatură și umiditate DHT11 este un mic modul frumos care asigură temperatura și umiditatea digitale
Widget de afișare a vremii online folosind ESP8266: 4 pași
Widget de afișare a vremii online Utilizând ESP8266: Acum câteva săptămâni, am învățat cum să construim un sistem de afișare a vremii online care să obțină informații despre vreme pentru un anumit oraș și să le afișeze pe un modul OLED. Am folosit placa Arduino Nano 33 IoT pentru acel proiect care este o placă nouă pentru
Monitorizarea vremii folosind ESP32_DHT11_OLED_Thingspeak: 7 pași
Monitorizarea vremii folosind ESP32_DHT11_OLED_Thingspeak: În acest tutorial, veți construi un monitor meteo care monitorizează temperatura și umiditatea, utilizând un ESP32 și DHT11, este afișat pe un ecran OLED. Și este încărcat pe ThingSpeak. ESP32 este un instrument IOT puternic. Este un sistem low-cost
Afișare dată, oră și temperatură folosind XinaBox: 8 pași
Afișare dată, oră și temperatură utilizând XinaBox: Afișaj OLED rece care arată data, ora și temperatura în grade Celsius și Fahrenheit folosind Xinabox xChips bazat pe ESP8266