Kazalo:

Enostaven prikaz vremena z uporabo Raspberry PI in Cyntech WeatherHAT: 4 koraki
Enostaven prikaz vremena z uporabo Raspberry PI in Cyntech WeatherHAT: 4 koraki

Video: Enostaven prikaz vremena z uporabo Raspberry PI in Cyntech WeatherHAT: 4 koraki

Video: Enostaven prikaz vremena z uporabo Raspberry PI in Cyntech WeatherHAT: 4 koraki
Video: CS50 2015 - Week 5 2024, November
Anonim
Enostaven prikaz vremena z uporabo Raspberry PI in Cyntech WeatherHAT
Enostaven prikaz vremena z uporabo Raspberry PI in Cyntech WeatherHAT
Preprost prikaz vremena z uporabo Raspberry PI in Cyntech WeatherHAT
Preprost prikaz vremena z uporabo Raspberry PI in Cyntech WeatherHAT

* Leta 2019 je Yahoo spremenil svoj API in to je prenehalo delovati. Nisem se zavedal spremembe. Septembra 2020 je bil ta projekt posodobljen za uporabo API -ja OPENWEATHERMAP Glejte posodobljeni razdelek spodaj, ostali podatki pa so še vedno dobri. Hvala za ogled in hvala, da ste me obvestili o spremembi Yahooja. *

Pred kratkim sem kupil Cyntech WeatherHAT, vendar sem bil malo razočaran zaradi pomanjkanja programske opreme za to.

Zdi se, da je HAT, ki je sam, dobro izdelan, s 6 modrimi LED v obliki kapljic dežja, 6 oranžnimi LED v obliki strele, 6 belimi LED v obliki oblaka. 1 (Mislim, da je LED RGB) za SONCE - prikaže oranžno (zato se morda motim, da je RGB). In 6 LED WS2812 (to so RGB:-))

Cyntech ima priročnik za začetek in tudi to je dobro - enostavno je namestiti in uporabljati HAT.

Zato sem bil presenečen, da v resnici nisem videl nobene programske opreme (razen predstavitve Cyntech). Prav tako sem bil presenečen, da nisem našel nikogar, ki bi to res uporabljal - Mogoče si ljudje želijo "fancy" zaslona s temperaturami in vse tovrstnimi informacijami. Zame je lepo pogledati samo nekaj LED in vedeti - dežuje, nevihta je ali oblačno - takrat, ko potrebujem več informacij, si lahko ogledam tablični računalnik ali telefon.:-)

Še malo - to je res prvič, da uporabljam python, nikakor nisem dober v tem. In prepričan sem, da mi bodo ljudje, ki resnično poznajo python, povedali boljši način za to.

Začnimo:

Potrebujemo kartico SD (vsaj 8 GB)

Raspberry PI (uporabljam Zero W) mora imeti dostop do interneta.

in potrebujemo vreme CyntechHAT

Če uporabljate Raspberry PI Zero W, boste morali imeti tudi možnost spajkanja niza glav na ploščo.

V nasprotnem primeru so potrebne sposobnosti uporabe programske opreme in nastavitev kartice SD.

1. korak: Nastavite kartico SD in Raspberry PI

Nastavite kartico SD in Raspberry PI
Nastavite kartico SD in Raspberry PI
Nastavite kartico SD in Raspberry PI
Nastavite kartico SD in Raspberry PI

Prenesti boste morali najnovejši Raspbian (v času tega navodila, to je Raspbian Stretch marec 2018 (13.03.2018))

www.raspberrypi.org/downloads/raspbian/

Uporabil sem namizno različico, čeprav ti namestitev izvajam brez glave in večino stvari počnem iz CLI (vmesnik ukazne vrstice) prek ssh.

Sledite navodilom za namestitev, ki jih najdete tukaj:

www.raspberrypi.org/documentation/installa…

Ko je Etcher končan, odstranite kartico SD in jo znova vstavite v računalnik.

* Spodnji korak morate narediti le, če nameravate namestiti brez glave

Pred uporabo kartice SD v Raspberry PI moramo nastaviti SSH in WIFI. Na particiji BOOT kartice ustvarite datoteko z imenom "ssh" brez narekovajev. v tej datoteki ne sme biti nič. Ko se PI zažene, bo videl to datoteko in vklopil SSH.

Ustvariti moramo tudi datoteko z imenom "wpa_supplicant.conf". To datoteko moramo urediti z nastavitvami wifi.

To bi moralo izgledati nekako takole:

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

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

* To morate storiti le, če nameravate namestiti brez glave

Ko to storite, varno odstranite kartico SD in vstavite Raspberry PI (prepričajte se, da na PI ni napajanja).

Priključite weatherHAT in vklopite Raspberry PI.

2. korak: Nastavite knjižnice WeatherHAT

Nastavite knjižnice WeatherHAT
Nastavite knjižnice WeatherHAT
Nastavite knjižnice WeatherHAT
Nastavite knjižnice WeatherHAT

Za ta korak bomo sledili najdenemu priročniku za začetek

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

ČE nameščate brez glave, pošljite ssh [email protected]

Če nimate odjemalca ssh - je PUTTY dober.

Če uporabljate tipkovnico in monitor - zgornji vodnik je dobro slediti, zažene se na namizju z grafičnim vmesnikom.

Pomembni koraki tukaj so namestitev knjižnice WS281x in knjižnic WeatherHAT skupaj z odvisnostjo za vsako od njih.

sudo apt-get posodobitev

sudo apt-get upgrade -y sudo apt-get install build-bistven python-dev git scons swig python-smbus git klon 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 namestitev

Zdaj se moramo prepričati, da je I2C vklopljen.

sudo raspi-config

Priročnik je napisan za starejšo različico raspi-config in pravi, da pojdite na "Napredne možnosti", ki je bil zamenjan z verjamem, "Vmesniki"

Ko vklopite I2C, boste morali znova zagnati.

Zdaj je čas, da preizkusite HAT

cd WeatherHAT

sudo python cycle.py

Če je šlo vse dobro, bi morali videti vse funkcije in mavrico.

ctrl-z ustavi program.

*Posebne opombe: Naučil sem se, da so časi maline PI 3 drugačni in mavrica morda ne bo delovala pravilno. Če imate to težavo, je tukaj, kako jo odpraviti.

github.com/CyntechUK/WeatherHAT/issues/3

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

Ko vse deluje, lahko nadaljujemo z naslednjim korakom.

Posodobitev: (6. oktober 2020) To skladišče zdaj vsebuje moj skript getWeather.py, to je odlična novica, saj se je zanimanje spet razburilo in zagotovo se bodo zgodile nove stvari.

3. korak: Namestitev Weather-api in GetWeather Script

Namestitev Weather-api in GetWeather Script
Namestitev Weather-api in GetWeather Script
Namestitev Weather-api in GetWeather Script
Namestitev Weather-api in GetWeather Script
Namestitev Weather-api in GetWeather Script
Namestitev Weather-api in GetWeather Script
Namestitev Weather-api in GetWeather Script
Namestitev Weather-api in GetWeather Script

Zato sem vložil zahtevo PULL v CyntechUK za svoj scenarij - upam, da bodo zahtevo sprejeli, vi pa lahko preskočite prenos mojega skladišča. (ti morda ne bodo želeli vključiti moje kode)

(6. oktober 2020) Zahteva PULL je bila odobrena, moj skript getWeather je zdaj vključen v skladišče Weatherhat.

********* Če želite, lahko te podatke še vedno uporabite, vendar je getWeather.py zdaj vključen v repozitorij weatherhat ******************* *****************

Moje skladišče najdete tukaj:

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

in moj skript se imenuje getWeather.py

Če sprejmejo zahtevo za vlečenje, boste že imeli ta skript - če ne, boste morali klonirati skladišče.

v domačem imeniku (/home/pi) vnesite:

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

s tem bomo skladišče klonirali v imenik, imenovan getWeather, nato moramo preveriti vejo getWeather.

cd getWeather

git checkout getWeather

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

Boste morali cd v imenik weatherHAT, ki je bil prej kloniran in

Za vašo lokacijo moramo urediti skript getWeather.py.

nano getWeather.py

Videti bi morali vrstico, ki se začne z

lokacija in se konča z iskanjem (45042) - To je moja poštna številka, ugotovil sem, da ne deluje tako dobro, kot bi si mislili

in črta tik nad njo, ki je komentirana, deluje bolje z imenom mesta. To je tisti, ki ga verjetno želite uporabiti. Zato komentirajte vrstico poštne številke (#) in odkomentirajte ter spremenite ime svojega mesta.

*********** STARE YAHOO INFORMACIJE - Ni več potrebno ***********

Če želimo, da to deluje, moramo namestiti še eno knjižnico, weather-api, ki je ovoj za vremenski API Yahoo.

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

Namestitev je enostavna -

pip namestite weather-api

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

Zdaj lahko zaženemo skript:

sudo python getWeather.py &

& Bo pustil, da se skript izvaja v ozadju. Skript spi približno 5 minut in nato preveri Yahoo Weather, če se je kaj spremenilo - če je tako, posodobi zaslon. 5 -minutni čas je mogoče spremeniti, to je blizu dna skripta.

spanje (60 * 5)

Lahko nastavite opravilo crontab (ne pozabite, da ga je treba zagnati kot root), ki bo zagnalo skript ob vsakem zagonu.

uporaba:

sudo crontab -e

vnesite:

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

Mislim, da bi to moralo delovati - še nisem nastavil crona na svojem sistemu.

To je skoraj to -

Kot sem rekel, je to eden mojih prvih programov za python in prepričan sem, da bo nekdo, ki ve več, videl boljši način za to.

O tem sem opravil le omejeno preizkušanje - doslej sem videl delo "Sneg", "Dež" in "Nevihta", Nekaj pogojev še ne vem, kako naj rešim - pozdravljam ideje.

4. korak: Posodobljeni podatki za: Openweathermap API

Septembra 2020 sem posodobil skript za uporabo https://openweathermap.org API.

OPOMBA: To je bil zame "hiter" popravek in omejeno testiranje - (Zadnjih nekaj dni je bilo oblačno in vidim le prikaz oblakov in dežja) - Čeprav verjamem, da sem ujel vse pogoje, ki jih je enostavno zaslon, možno je, da sem zamudil par zaradi "hitrega" popravka. Če menite, da obstaja težava, pustite komentar in dovolite čas, da jo preučim - ali pa vas poskušam usmeriti v pravo smer. *

Za ključ API se boste morali prijaviti s pomočjo zgornje povezave. Ko uredite skript, da postavite svoje mesto, boste videli mesto za ključ. Samo kopirajte in prilepite in morali bi biti dobri.

Druge opombe:

Ta skript zdaj uporablja podatke "API za trenutne vremenske podatke" o tem API -ju, ki jih najdete tukaj:

openweathermap.org/current Treba je opozoriti, da lahko uporabite mesto, državo in državo.

IE: mesto "Dayton" postane "Dayton, OH, US". Upoštevajte, da sta državi in oznaki držav velike črke, to je potrebno. API pravi, da lahko uporablja samo "Dayton, OH", vendar sem pri tem dobil napake iz skripta - in ker je bil to hiter popravek, nisem preučil, zakaj. Torej, priporočam uporabo "mesto, država, država"

ČE iz nekega razloga z imenom mesta ne dobite dobrih informacij, lahko poiščete tudi ID mesta ali uporabite zemljepisno širino in dolžino ali poštno številko. V vsakem primeru bo treba URL spremeniti. Če kliknete povezavo na desni strani spletnega mesta API, bo naveden primer, kakšen mora biti URL.

URL v skriptu morate spremeniti.

Še več zapiskov: 3. oktober 2020

@Itsmedoofer je poudaril, da morajo z novo posodobitvijo namestiti knjižnične python-zahteve. Nisem prepričan, da sem to potreboval (možno je tudi, da sem ga imel nameščen pred leti ali pa so privzeto različne različice pythona namestile različne knjižnice). Če je skript napačen glede zahtev python, ga je enostavno popraviti.

vnesite ta ukaz v CLI: python -m pip zahteve za namestitev

in moraš biti dober.

Upajmo, da je to od takrat, to je bila hitra rešitev in morda bom nekega dne dovolil, da se bom nekoliko bolje počistil.

Posodobitev (6. oktober 2020) Zahteva github pull je bila sprejeta, izvirno skladišče CyntechUK zdaj vključuje ta skript. https://github.com/CyntechUK/WeatherHAT Uporabnik Boeerb ima nekaj idej, kako prikazati nekatere pogoje, ki trenutno niso prikazani, pa tudi nekatere druge ideje za uporabo. Zato bodite pozorni na to skladišče. In upajmo, da se bodo stvari zgodile.

Posodobitev: (8. oktober 2020) Open Weather Map vsebuje kratko vadnico o nastavitvi in uporabi API -ja, https://openweathermap.org/appid Dobro mesto za začetek.

Priporočena: