Sadržaj:

Jednostavan prikaz vremena pomoću Raspberry PI i Cyntech WeatherHAT: 4 koraka
Jednostavan prikaz vremena pomoću Raspberry PI i Cyntech WeatherHAT: 4 koraka

Video: Jednostavan prikaz vremena pomoću Raspberry PI i Cyntech WeatherHAT: 4 koraka

Video: Jednostavan prikaz vremena pomoću Raspberry PI i Cyntech WeatherHAT: 4 koraka
Video: Топ 5 скрытых полезных программ Windows 10 2024, Novembar
Anonim
Jednostavan prikaz vremena pomoću Raspberry PI i Cyntech WeatherHAT -a
Jednostavan prikaz vremena pomoću Raspberry PI i Cyntech WeatherHAT -a
Jednostavan prikaz vremena pomoću Raspberry PI i Cyntech WeatherHAT -a
Jednostavan prikaz vremena pomoću Raspberry PI i Cyntech WeatherHAT -a

* Godine 2019. Yahoo je promijenio svoj API i ovo je prestalo raditi. Nisam bio svjestan promjene. U rujnu 2020. ovaj projekt je ažuriran za korištenje OPENWEATHERMAP API -ja Pogledajte ažurirani odjeljak ispod, ostatak ovih informacija je ipak dobar. Hvala što ste pogledali i hvala što ste me obavijestili o promjeni Yahooa. *

Nedavno sam nabavio Cyntech WeatherHAT, ali sam bio pomalo razočaran nedostatkom softvera za njega.

Čini se da je HAT koji je sam dobro izgrađen, sa 6 plavih LED dioda u obliku kapi kiše, 6 narančastih LED u obliku groma, 6 bijelih LED u obliku oblaka. 1 (ono što vjerujem je RGB LED) za SUN - prikazuje narandžasto (pa možda griješim što je RGB). I 6 LED WS2812 (ovo su RGB:-))

Cyntech ima vodič za početak rada, pa čak i to je dobro - lako se instalira i koristi HAT.

Zato sam bio iznenađen što zapravo nisam vidio nikakav softver (osim demo koji je pružio Cyntech). Jednako sam se iznenadio što nisam našao nikoga tko ovo zaista koristi - Možda ljudi žele "fensi" zaslon s temperaturama i svim takvim informacijama. Za mene je lijepo samo pogledati nekoliko LED dioda i znati - pada kiša, grmljavina ili oblačno - u tom trenutku, ako mi zatreba više informacija, mogu pogledati svoj tablet ili telefon.:-)

Još malo - ovo je zaista prvi put da koristim python, nikako nisam dobar u tome. I siguran sam da će mi ljudi koji zaista poznaju python reći bolji način za to.

Hajde da počnemo:

Potrebna nam je SD kartica (najmanje 8 GB)

Raspberry PI (koristim Zero W) mora imati pristup internetu.

i potreban nam je Cyntech weatherHAT

Ako koristite Raspberry PI Zero W, morat ćete također moći lemiti set zaglavlja na ploču.

Inače su potrebne vještine sposobnost korištenja softvera i postavljanje SD kartice.

Korak 1: Postavite SD karticu i Raspberry PI

Postavite SD karticu i Raspberry PI
Postavite SD karticu i Raspberry PI
Postavite SD karticu i Raspberry PI
Postavite SD karticu i Raspberry PI

Morat ćete preuzeti najnoviji Raspbian (u vrijeme ovog uputstva, to je Raspbian Stretch, mart 2018. (13.03.2018.))

www.raspberrypi.org/downloads/raspbian/

Koristio sam izdanje za računare, čak i ako ja pokrećem svoje podešavanje bez glave i radim većinu stvari iz CLI (interfejs komandne linije) preko ssh -a.

Slijedite vodič za postavljanje koji se nalazi ovdje:

www.raspberrypi.org/documentation/installa…

Nakon što Etcher završi, uklonite SD karticu i ponovo je umetnite u računar.

* Ovaj korak doista trebate učiniti samo ako namjeravate instalirati bez glave

Moramo postaviti SSH i WIFI prije nego što upotrijebimo SD karticu u Raspberry PI. Na BOOT particiji kartice stvorite datoteku pod nazivom "ssh" bez navodnika. ništa ne mora biti u toj datoteci. Kada se PI pokrene, vidjet će tu datoteku i uključiti SSH.

Također moramo stvoriti datoteku pod nazivom "wpa_supplicant.conf". Moramo urediti ovu datoteku s vašim WiFi postavkama.

To bi trebalo izgledati otprilike ovako:

ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev

update_config = 1 network = {ssid = "yourwifiSSID" psk = "yourwifipassword" scan_ssid = 1}

* Ovo zaista trebate učiniti samo ako namjeravate instalirati bez glave

Nakon što to učinite, sigurno uklonite SD karticu i umetnite Raspberry PI (provjerite da nema napajanja na PI).

Priključite weatherHAT i uključite Raspberry PI.

Korak 2: Postavite WeatherHAT biblioteke

Postavite WeatherHAT biblioteke
Postavite WeatherHAT biblioteke
Postavite WeatherHAT biblioteke
Postavite WeatherHAT biblioteke

Za ovaj korak slijedićemo pronađeni Vodič za početak rada

guides.cyntech.co.uk/weatherhat/getting-sta…

AKO instalirate bez glave, pošaljite ssh [email protected]

Ako nemate ssh klijent - PUTTY je dobar.

Ako koristite tastaturu i monitor - gornji vodič je dobro slijediti, pokreće vas na radnoj površini sa grafičkim sučeljem.

Važni koraci ovdje su instaliranje biblioteke WS281x i biblioteke WeatherHAT, zajedno sa zavisnostima za svaku od njih.

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

Sada moramo biti sigurni da je I2C uključen.

sudo raspi-config

Vodič je napisan za stariju verziju raspi-config i kaže da se ide na "Napredne opcije" koje je zamijenjeno vjerujem "Interfejsi"

Kada uključite I2C, morat ćete ponovo pokrenuti sistem.

Sada je vrijeme da isprobate HAT

cd WeatherHAT

sudo python cycle.py

Ako je sve prošlo dobro, trebali biste vidjeti sve značajke i dugu.

ctrl-z će zaustaviti program.

*Posebne napomene: Naučio sam da su vremena za Raspberry PI 3 različita i da duga možda neće raditi ispravno. AKO imate ovaj problem, evo kako ga riješiti.

github.com/CyntechUK/WeatherHAT/issues/3

guides.cyntech.co.uk/raspberry-pi/assemblin…

Kad sve funkcionira, možemo nastaviti na sljedeći korak.

Ažuriranje: (6. listopada 2020.) Ovo spremište sada sadrži moju skriptu getWeather.py, ovo je sjajna vijest jer se interes ponovno razbuktao i morat će se dogoditi nove stvari.

Korak 3: Instaliranje Weather-api i GetWeather Script

Instaliranje Weather-api i GetWeather Script
Instaliranje Weather-api i GetWeather Script
Instaliranje Weather-api i GetWeather Script
Instaliranje Weather-api i GetWeather Script
Instaliranje Weather-api i GetWeather Script
Instaliranje Weather-api i GetWeather Script
Instaliranje Weather-api i GetWeather Script
Instaliranje Weather-api i GetWeather Script

Dakle, postavio sam PULL zahtjev CyntechUK -u za svoju skriptu - nadam se da će oni prihvatiti zahtjev, a vi možete preskočiti preuzimanje mog spremišta. (oni možda neće htjeti uključiti moj kôd)

(6. oktobar 2020.) PULL zahtjev je odobren, moja getWeather skripta je sada uključena u spremište Weatherhat.

********* Ako želite, još uvijek možete koristiti ove informacije, međutim getWeather.py je sada uključen u spremište weatherhat ******************* *****************

Moje spremište možete pronaći ovdje:

github.com/kd8bxp/WeatherHAT/tree/getWeath…

a moja skripta se zove getWeather.py

AKO prihvate zahtjev za povlačenje, već ćete imati ovu skriptu - ako ne, morat ćete klonirati spremište.

u svom kućnom imeniku (/home/pi) upišite:

git clone https://github.com/kd8bxp/WeatherHAT.git getWeather

ovo će klonirati spremište u direktorij koji se zove getWeather, zatim moramo provjeriti getWeather granu.

cd getWeather

git checkout getWeather

**********************************************************************

Morat ćete cd u direktorij weatherHAT koji je ranije bio kloniran i

Moramo urediti skriptu getWeather.py za vašu lokaciju.

nano getWeather.py

Trebali biste vidjeti redak koji počinje sa

lokacija i završava s pretraživanjem (45042) - Ovo je moj poštanski broj, otkrio sam da ne radi tako dobro kako biste mislili

a linija iznad nje koja je komentirana bolje funkcionira s imenom grada. To je onaj koji vjerovatno želite koristiti. Zato komentirajte red poštanskog broja (#) i uklonite komentar i promijenite naziv grada.

*********** STARI YAHOO PODACI - Nije potrebno duže ***********

Moramo instalirati još jednu biblioteku da bi ovo funkcioniralo, weather-api koji je omot za Yahoo weather API.

pypi.python.org/pypi/weather-api/0.0.5

Instalacija je jednostavna -

pip install weather-api

***********************************************************************************

Sada možemo pokrenuti skriptu:

sudo python getWeather.py &

& Će omogućiti skriptu da radi u pozadini. Skripta spava oko 5 minuta, a zatim provjerava Yahoo Weather da li se nešto promijenilo - ako je tako, ažurira zaslon. Vrijeme od 5 minuta se može promijeniti, nalazi se pri dnu skripte.

spavanje (60 * 5)

Mogli biste postaviti crontab posao (zapamtite da ovo mora biti pokrenut kao root) koji će pokrenuti skriptu pri svakom pokretanju.

upotreba:

sudo crontab -e

unesite:

@reboot python /home/pi/weatherHAT/getWeather.py

Mislim da bi to trebalo funkcionirati - još nisam postavio cron na svom sistemu.

To je otprilike to -

Kao što sam rekao, ovo je jedan od mojih prvih python programa i siguran sam da će neko ko zna više vidjeti bolji način za to.

Napravio sam samo ograničeno testiranje na ovome - do sada sam vidio "Snow", "Rain" i "Thunderstorm" kako rade, Postoje neki uvjeti za koje još nisam siguran kako se nositi - pozdravljam ideje.

Korak 4: Ažurirane informacije za: Openweathermap API

U rujnu 2020. godine ažurirao sam skriptu za upotrebu https://openweathermap.org API.

NAPOMENA: Ovo je za mene bilo "brzo" rješenje i ograničeno je testirano - (Bilo je oblačno posljednjih dana, a vidim samo prikaz oblaka i kiše) - Iako vjerujem da sam uhvatio sve uslove koje je lako displej, moguće je da sam propustio par zbog toga kako je ovo "brzo" učinjeno. S obzirom na to, ako mislite da postoji problem, ostavite komentar i dozvolite vrijeme da to razmotrim - ili pokušam da vas usmjerim u pravom smjeru. *

Morat ćete se prijaviti za API ključ pomoću gornje veze. Kada uredite skriptu da postavite svoj grad, vidjet ćete mjesto za ključ. Samo ga kopirajte i zalijepite i trebali biste biti dobri.

Ostale napomene:

Ova skripta sada koristi "Trenutni API vremenskih podataka". Podaci o tom API -ju se mogu pronaći ovdje:

openweathermap.org/current Treba napomenuti da možete koristiti grad, državu i državu.

IE: grad "Dayton" postaje "Dayton, OH, US". Primijetite kako su i država i pozivni brojevi velikih slova, to je potrebno. API kaže da može koristiti samo "Dayton, OH", ali dobio sam greške u skripti kada sam to učinio - i budući da je ovo bilo brzo rješenje, nisam provjerio zašto. PA, preporučujem korištenje "grad, država, država"

AKO iz nekog razloga ne dobijete dobre informacije pomoću naziva grada, možete potražiti i gradski ID ili upotrijebiti zemljopisnu širinu i dužinu ili poštanski broj. U svakom slučaju URL će se morati promijeniti, ako kliknete na vezu s desne strane web stranice API -ja, to će dati primjer o tome što bi URL trebao biti.

Morate promijeniti i URL u skripti.

Još više napomena: 3. oktobra 2020

@Itsmedoofer je istaknuo da je potrebno instalirati bibliotečke python-zahtjeve s novim ažuriranjem. Nisam siguran da mi je ovo trebalo (moguće je i da sam ga instalirao prije mnogo godina ili da su različite verzije pythona po defaultu instalirale različite biblioteke). Dakle, ako skripta daje grešku u vezi sa python-zahtjevima, to je jednostavno popraviti.

upišite ovu naredbu u CLI: python -m pip instalacijski zahtjevi

i trebao bi biti dobar.

Nadam se da je ovo uspjelo jer je ovo bilo brzo rješenje, a možda ću jednog dana dozvoliti da poradim na tome da ga malo bolje očistim.

Ažuriranje (6. oktobra 2020.) Zahtev za povlačenje github -a je prihvaćen, originalno spremište CyntechUK sada uključuje ovu skriptu. https://github.com/CyntechUK/WeatherHAT Korisnik Boeerb ima neke ideje o tome kako prikazati neke uslove koji se trenutno ne prikazuju, kao i neke druge ideje za upotrebu. Zato pazite na to spremište. I nadam se da će se stvari dogoditi.

Ažuriranje: (8. listopada 2020.) Open Weather Map ima kratki vodič o postavljanju i korištenju API -ja, https://openweathermap.org/appid Dobro mjesto za početak.

Preporučuje se: