Obsah:

Jednoduché zobrazenie počasia pomocou Raspberry PI a Cyntech WeatherHAT: 4 kroky
Jednoduché zobrazenie počasia pomocou Raspberry PI a Cyntech WeatherHAT: 4 kroky

Video: Jednoduché zobrazenie počasia pomocou Raspberry PI a Cyntech WeatherHAT: 4 kroky

Video: Jednoduché zobrazenie počasia pomocou Raspberry PI a Cyntech WeatherHAT: 4 kroky
Video: Высокая плотность 2022 2024, November
Anonim
Jednoduché zobrazenie počasia pomocou Raspberry PI a Cyntech WeatherHAT
Jednoduché zobrazenie počasia pomocou Raspberry PI a Cyntech WeatherHAT
Jednoduché zobrazenie počasia pomocou Raspberry PI a Cyntech WeatherHAT
Jednoduché zobrazenie počasia pomocou Raspberry PI a Cyntech WeatherHAT

* V roku 2019 Yahoo zmenilo svoje API a toto prestalo fungovať. Nevedel som o tejto zmene. V septembri 2020 bol tento projekt aktualizovaný tak, aby používal API OPENWEATHERMAP. Pozrite si aktualizovanú časť nižšie, ostatné informácie sú však stále dobré. Ďakujem za pozornosť a ďakujem, že ste ma informovali o zmene Yahoo. *

Nedávno som získal Cyntech WeatherHAT, ale bol som trochu sklamaný nedostatkom softvéru.

Zdá sa, že HAT sám je dobre skonštruovaný, so 6 modrými diódami LED vo forme dažďových kvapiek, 6 oranžovými diódami LED vo forme hromu, 6 bielych diód LED vo forme mraku. 1 (Verím, že je to RGB LED) pre SUN - zobrazuje oranžovú farbu (takže sa môžem mýliť, keď ide o RGB). A 6 LED diód WS2812 (to sú RGB:-))

Cyntech má sprievodcu na začiatku a dokonca je to dobré - HAT je ľahké nainštalovať a používať.

Preto som bol prekvapený, že som v skutočnosti nevidel žiadny softvér (iný ako demo poskytnuté spoločnosťou Cyntech). Rovnako ma prekvapilo, že som nenašiel nikoho, kto by to skutočne používal - možno by ľudia chceli „efektný“displej s teplotami a všetkými takými informáciami. Pre mňa je pekné pozrieť sa na niekoľko diód LED a vedieť - prší alebo je búrka alebo je zamračené. V tom prípade, ak potrebujem viac informácií, môžem sa pozrieť na svoj tablet alebo telefón.:-)

Trochu viac - v skutočnosti som prvýkrát, keď používam python, nie som v tom dobrý. A som si istý, že ľudia, ktorí skutočne poznajú pytón, mi poradia lepší spôsob, ako to urobiť.

Začnime:

Potrebujeme kartu SD (najmenej 8 GB)

Raspberry PI (používam nulové W), ktoré potrebuje prístup na internet.

a potrebujeme počasie Cyntech

Ak používate Raspberry PI Zero W, budete tiež musieť byť schopní spájať sadu záhlaví na dosku.

V opačnom prípade sú potrebnými schopnosťami používať softvér a nastaviť kartu SD.

Krok 1: Nastavte kartu SD a Raspberry PI

Nastavte kartu SD a Raspberry PI
Nastavte kartu SD a Raspberry PI
Nastavte kartu SD a Raspberry PI
Nastavte kartu SD a Raspberry PI

Budete si musieť stiahnuť najnovší Raspbian (v čase tohto pokynu, ktorým je Raspbian Stretch, marec 2018 (2018-03-13))

www.raspberrypi.org/downloads/raspbian/

Použil som edíciu pre počítače, dokonca aj keď spustím svoje nastavenie bezhlavo a väčšinu vecí robím z rozhrania CLI (rozhranie príkazového riadka) cez ssh.

Postupujte podľa sprievodcu nastavením, ktorý nájdete tu:

www.raspberrypi.org/documentation/installa…

Keď je Etcher hotový, vyberte kartu SD a znova ju vložte do počítača.

* Tento krok nižšie musíte urobiť iba vtedy, ak máte v pláne vykonať bezhlavú inštaláciu

Pred použitím karty SD v Raspberry PI musíme nastaviť SSH a WIFI. V časti BOOT na karte vytvorte súbor s názvom „ssh“bez úvodzoviek. v tom súbore nemusí byť nič. Po spustení PI tento súbor uvidí a zapne SSH.

Musíme tiež vytvoriť súbor s názvom „wpa_supplicant.conf“. Tento súbor musíme upraviť pomocou vašich nastavení wifi.

Malo by to vyzerať asi takto:

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

update_config = 1 sieť = {ssid = "yourwifiSSID" psk = "yourwifipassword" scan_ssid = 1}

* Naozaj to musíte urobiť iba vtedy, ak plánujete vykonať bezhlavú inštaláciu

Akonáhle to urobíte, bezpečne vyberte SD kartu a vložte Raspberry PI (uistite sa, že PI nie je napájané).

Pripojte WeatherHAT a zapnite Raspberry PI.

Krok 2: Nastavte knižnice WeatherHAT

Nastavte knižnice WeatherHAT
Nastavte knižnice WeatherHAT
Nastavte knižnice WeatherHAT
Nastavte knižnice WeatherHAT

V tomto kroku sa budeme riadiť sprievodcom Začíname, ktorý nájdete

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

AK robíte bezhlavú inštaláciu, budete chcieť ssh [email protected]

Ak nemáte klienta ssh - PUTTY je dobrý.

Ak používate klávesnicu a monitor - vyššie uvedeného sprievodcu je dobré dodržať, spustí sa vám na ploche s grafickým rozhraním.

Tu sú dôležitými krokmi inštalácia knižnice WS281x a knižníc WeatherHAT spolu so závislosťou na každej z nich.

sudo apt-get aktualizácia

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

Teraz sa musíme uistiť, že I2C je zapnutý.

sudo raspi-config

Príručka je napísaná pre staršiu verziu raspi-config a hovorí: „Rozšírené možnosti“, ktoré boli nahradené textom Verím, že „Rozhrania“

Po zapnutí I2C budete musieť reštartovať.

Teraz je čas otestovať Klobúk

cd WeatherHAT

sudo python cycle.py

Ak všetko prebehlo dobre, mali by ste vidieť všetky funkcie a dúhu.

ctrl-z zastaví program.

*Špeciálne poznámky: Dozvedel som sa, že načasovanie Raspberry PI 3 je odlišné a dúha nemusí fungovať správne. AK máte tento problém, tu je návod, ako ho vyriešiť.

github.com/CyntechUK/WeatherHAT/issues/3

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

Akonáhle všetko funguje, môžeme pokračovať k ďalšiemu kroku.

Aktualizácia: (6. októbra 2020) Toto úložisko teraz obsahuje môj skript getWeather.py, je to skvelá správa, pretože sa opäť zvýšil záujem a určite sa budú diať nové veci.

Krok 3: Inštalácia Weather-api a GetWeather Script

Inštalácia Weather-api a GetWeather Script
Inštalácia Weather-api a GetWeather Script
Inštalácia Weather-api a GetWeather Script
Inštalácia Weather-api a GetWeather Script
Inštalácia Weather-api a GetWeather Script
Inštalácia Weather-api a GetWeather Script
Inštalácia Weather-api a GetWeather Script
Inštalácia Weather-api a GetWeather Script

Vložil som teda požiadavku PULL na CyntechUK o svoj skript - dúfajme, že žiadosť prijmú a moje úložisko môžete preskočiť. (Možno nebudú chcieť zahrnúť môj kód)

(6. októbra 2020) Žiadosť PULL bola schválená, môj skript getWeather je teraz zahrnutý v úložisku Weatherhat.

********* Tieto informácie môžete použiť, ak chcete, ale getWeather.py bol teraz zahrnutý v úložisku Weatherhat ******************* *****************

Moje úložisko nájdete tu:

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

a môj skript sa nazýva getWeather.py

AK prijmú žiadosť o stiahnutie, tento skript už budete mať - ak nie, budete musieť klonovať úložisko.

vo svojom domovskom adresári (/home/pi) zadajte:

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

tým sa klonuje úložisko do adresára s názvom getWeather, potom musíme skontrolovať pobočku getWeather.

cd getWeather

git pokladňa getWeather

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

Budete musieť CD do adresára weatherHAT, ktorý bol klonovaný skôr a

Potrebujeme upraviť skript getWeather.py pre vašu polohu.

nano getWeather.py

Mali by ste vidieť riadok, ktorý začína na

poloha a končí vyhľadaním (45042) - Toto je moje PSČ, zistil som, že nefunguje tak dobre, ako by ste si mysleli

a riadok, ktorý je okomentovaný nad ním, funguje lepšie s názvom mesta. To je ten, ktorý pravdepodobne budete chcieť použiť. Napíšte teda komentár k riadku PSČ (#), odkomentujte a zmeňte názov mesta.

*********** STARÉ INFORMÁCIE O YAHOO - Už nie sú potrebné ***********

Aby to fungovalo, musíme nainštalovať ešte jednu knižnicu, weather-api, ktorá je obalom pre API pre počasie Yahoo.

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

Inštalácia je jednoduchá -

pip install weather-api

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

Teraz môžeme spustiť skript:

sudo python getWeather.py &

Skript & pustí skript na pozadí. Skript zhruba 5 minút spí a potom skontroluje, či sa niečo zmenilo na Yahoo Weather - ak áno, aktualizuje zobrazenie. 5 -minútový čas je možné zmeniť, je v spodnej časti scenára.

spánok (60 * 5)

Môžete nastaviť úlohu crontab (pamätajte, že ju musíte spustiť ako root), ktorá spustí skript pri každom spustení.

použitie:

sudo crontab -e

zadajte:

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

Myslím, že by to malo fungovať - vo svojom systéme som ešte nenastavil cron.

To je skoro všetko -

Ako som uviedol, je to jeden z mojich prvých programov pre python a som si istý, že niekto, kto vie viac, uvidí lepší spôsob, ako to urobiť.

V tejto súvislosti som vykonal iba obmedzené testy - zatiaľ som videl, ako fungujú hry „Snow“, „Rain“a „Thunderstorm“, Existujú určité podmienky, s ktorými si zatiaľ nie som istý, ako ich zvládnuť - nápady vítam.

Krok 4: Aktualizované informácie pre: Openweathermap API

V septembri 2020 som skript aktualizoval tak, aby používal rozhranie https://openweathermap.org API.

POZNÁMKA: Toto bola pre mňa „rýchla“oprava a testovalo sa iba v obmedzenom rozsahu ((Posledných niekoľko dní bolo zamračené a vidím iba zobrazenie na oblačnosti a daždi) - Aj keď verím, že som zachytil všetky podmienky, ktoré je ľahké vykonať displej, je možné, že mi pár chýba, pretože „rýchlo“bola táto oprava vykonaná. To znamená, že ak si myslíte, že existuje problém, zanechajte komentár a pokiaľ to dovolí čas, preskúmam to - alebo sa pokúsim nasmerovať vás správnym smerom. *

Budete sa musieť zaregistrovať na získanie kľúča API pomocou vyššie uvedeného odkazu. Keď upravíte skript a umiestnite svoje mesto, uvidíte miesto pre kľúč. Stačí skopírovať a prilepiť a mali by ste byť dobrí.

Ďalšie poznámky:

Tento skript teraz používa informácie o tomto rozhraní API „Aktuálne údaje o počasí“, ktoré nájdete tu:

openweathermap.org/current Jedna vec, ktorú je potrebné poznamenať, je, že môžete použiť mesto, štát a krajinu.

IE: z mesta „Dayton“sa stáva „Dayton, OH, USA“. Všimnite si, ako sú kódy štátu a krajiny napísané veľkými písmenami, je to potrebné. Rozhranie API hovorí, že môže používať iba „Dayton, OH“, ale keď som to urobil, v skripte sa vyskytli chyby - a keďže to bola rýchla oprava, nehľadal som prečo. Odporúčam teda použiť „mesto, štát, krajinu“

AK Z nejakého dôvodu nedostanete dobré informácie o názve mesta, môžete si tiež vyhľadať ID mesta alebo použiť zemepisnú šírku a dĺžku alebo PSČ. V každom prípade bude potrebné zmeniť adresu URL. Ak kliknete na odkaz na pravej strane webovej stránky API, poskytne príklad toho, aká by mala byť adresa URL.

Musíte tiež zmeniť adresu URL v skripte.

Ešte viac poznámok: 3. októbra 2020

@Itsmedoofer poukázal na to, že s novou aktualizáciou potrebujú nainštalovať požiadavky knižnice python. Nie som si istý, či som to potreboval (je tiež možné, že som to mal nainštalované pred niekoľkými rokmi alebo rôzne verzie pythonu štandardne inštalujú rôzne knižnice). Ak teda skript obsahuje chybu týkajúcu sa požiadaviek pythonu, je ľahké ho opraviť.

zadajte tento príkaz do CLI: python -m pip install requests

a mal by si byť dobrý.

Našťastie to odvtedy bolo, toto bola rýchla oprava a možno mi to jedného dňa dovolí pracovať na vyčistení trochu lepšie.

Aktualizácia (6. októbra 2020) Žiadosť o stiahnutie github bola prijatá, pôvodné pôvodné úložisko CyntechUK teraz obsahuje tento skript. https://github.com/CyntechUK/WeatherHAT Užívateľ Boeerb má niekoľko nápadov, ako zobraziť niektoré podmienky, ktoré sa v súčasnosti nezobrazujú, a tiež ďalšie nápady na použitie. Sledujte preto to úložisko. A dúfajme, že sa budú diať veci.

Aktualizácia: (8. októbra 2020) Otvorená mapa počasia obsahuje krátky návod na nastavenie a používanie rozhrania API, https://openweathermap.org/appid Dobré miesto na začiatok.

Odporúča: