Obsah:

Jednoduché zobrazení počasí pomocí Raspberry PI a Cyntech WeatherHAT: 4 kroky
Jednoduché zobrazení počasí pomocí Raspberry PI a Cyntech WeatherHAT: 4 kroky

Video: Jednoduché zobrazení počasí pomocí Raspberry PI a Cyntech WeatherHAT: 4 kroky

Video: Jednoduché zobrazení počasí pomocí Raspberry PI a Cyntech WeatherHAT: 4 kroky
Video: Nastya and Watermelon with a fictional story for kids 2024, Červen
Anonim
Jednoduché zobrazení počasí pomocí Raspberry PI a Cyntech WeatherHAT
Jednoduché zobrazení počasí pomocí Raspberry PI a Cyntech WeatherHAT
Jednoduché zobrazení počasí pomocí Raspberry PI a Cyntech WeatherHAT
Jednoduché zobrazení počasí pomocí Raspberry PI a Cyntech WeatherHAT

* V roce 2019 Yahoo změnilo své API a toto přestalo fungovat. Nevěděl jsem o změně. V září 2020 byl tento projekt aktualizován tak, aby používal API OPENWEATHERMAP. Viz aktualizovaná část níže, ostatní informace jsou však stále dobré. Děkujeme za pozornost a děkujeme, že jste mě informovali o změně Yahoo. *

Nedávno jsem získal Cyntech WeatherHAT, ale byl jsem trochu zklamaný nedostatkem softwaru pro něj.

Samotná HAT se zdá být dobře postavená, se 6 modrými LED ve formě dešťových kapek, 6 oranžových LED ve formě hromového blesku, 6 bílých LED ve formě mraku. 1 (Věřím, že je to RGB LED) pro SUN - zobrazuje oranžovou barvu (takže se mohu mýlit v tom, že je to RGB). A 6 LED diod WS2812 (to jsou RGB:-))

Cyntech má příručku pro začátek a dokonce i to je dobré - HAT je snadné nainstalovat a používat.

Takže jsem byl překvapen, že jsem ve skutečnosti neviděl žádný software (jiný než demo od Cyntech). Stejně tak mě překvapilo, že jsem nenašel nikoho, kdo by to opravdu používal - Možná by lidé chtěli „efektní“displej s teplotami a všemi takovými informacemi. Pro mě je příjemné podívat se na několik LED diod a vědět - prší, bouřka nebo zataženo - v tu chvíli, když potřebuji více informací, mohu se podívat na svůj tablet nebo telefon.:-)

Trochu víc - toto je opravdu poprvé, co používám python, nejsem v tom vůbec dobrý. A jsem si jist, že lidé, kteří opravdu znají python, mi poradí lepší způsob, jak to udělat.

Začněme:

Potřebujeme kartu SD (alespoň 8 GB)

Raspberry PI (používám nulové W), které potřebuje mít přístup k internetu.

a potřebujeme Cyntech weatherHAT

Pokud používáte Raspberry PI Zero W, budete také muset být schopni připájet sadu záhlaví k desce.

Jinak potřebné dovednosti jsou schopnost používat software a nastavit 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 muset stáhnout nejnovější Raspbian (v době tohoto pokynu, kterým je Raspbian Stretch March 2018 (2018-03-13))

www.raspberrypi.org/downloads/raspbian/

Použil jsem edici pro stolní počítače, dokonce i když spouštím nastavení bezhlavě a většinu věcí dělám z rozhraní CLI (rozhraní příkazového řádku) přes ssh.

Postupujte podle průvodce nastavením, který naleznete zde:

www.raspberrypi.org/documentation/installa…

Jakmile je Etcher hotový, vyjměte kartu SD a znovu ji vložte do počítače.

* Níže uvedený krok musíte provést pouze v případě, že plánujete provést bezhlavou instalaci

Než použijeme kartu SD v Raspberry PI, musíme nastavit SSH a WIFI. V BOOT oddílu karty vytvořte soubor s názvem „ssh“bez uvozovek. v tom souboru nemusí být nic. Když se PI spustí, uvidí tento soubor a zapne SSH.

Musíme také vytvořit soubor s názvem „wpa_supplicant.conf“. Tento soubor musíme upravit pomocí vašeho nastavení wifi.

Mělo by to vypadat nějak takto:

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

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

* Opravdu to musíte udělat pouze v případě, že plánujete provést bezhlavou instalaci

Jakmile to bude hotové, bezpečně vyjměte kartu SD a vložte Raspberry PI (ujistěte se, že na PI není napájení).

Připojte WeatherHAT a zapněte Raspberry PI.

Krok 2: Nastavení knihoven WeatherHAT

Nastavte knihovny WeatherHAT
Nastavte knihovny WeatherHAT
Nastavte knihovny WeatherHAT
Nastavte knihovny WeatherHAT

V tomto kroku budeme postupovat podle příručky Začínáme

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

Pokud provádíte bezhlavou instalaci, budete chtít ssh [email protected]

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

Pokud používáte klávesnici a monitor - výše uvedenou příručku je dobré dodržovat, spustí se na ploše GUI.

Zde jsou důležitými kroky instalace knihovny WS281x a knihoven WeatherHAT spolu se závislostí na každé z nich.

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

Nyní se musíme ujistit, že je I2C zapnutý.

sudo raspi-config

Průvodce je napsán pro starší verzi raspi-config a říká „Přejít k pokročilým možnostem“, které byly nahrazeny domněnkou „Rozhraní“

Jakmile zapnete I2C, budete muset restartovat.

Nyní je čas vyzkoušet Klobouk

cd WeatherHAT

sudo python cycle.py

Pokud vše proběhlo dobře, měli byste vidět všechny funkce a duhu.

ctrl-z zastaví program.

*Zvláštní poznámky: Dozvěděl jsem se, že načasování Raspberry PI 3 jsou různé a duha nemusí fungovat správně. Pokud máte tento problém, postupujte takto.

github.com/CyntechUK/WeatherHAT/issues/3

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

Jakmile vše funguje, můžeme pokračovat k dalšímu kroku.

Aktualizace: (6. října 2020) Toto úložiště nyní obsahuje můj skript getWeather.py, to je skvělá zpráva, protože opět vzbudil zájem a určitě se budou dít nové věci.

Krok 3: Instalace Weather-api a GetWeather Script

Instalace Weather-api a GetWeather Script
Instalace Weather-api a GetWeather Script
Instalace Weather-api a GetWeather Script
Instalace Weather-api a GetWeather Script
Instalace Weather-api a GetWeather Script
Instalace Weather-api a GetWeather Script
Instalace Weather-api a GetWeather Script
Instalace Weather-api a GetWeather Script

Vložil jsem tedy PULL požadavek na CyntechUK pro můj skript - doufejme, že požadavek přijmou a můžete přeskočit stažení mého úložiště. (možná nebudou chtít zahrnout můj kód)

(6. října 2020) Žádost PULL byla schválena, můj skript getWeather je nyní součástí úložiště Weatherhat.

********* Tyto informace můžete i nadále používat, pokud chcete, ale getWeather.py byl nyní zahrnut do úložiště Weatherhat ******************* *****************

Moje úložiště najdete zde:

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

a můj skript se nazývá getWeather.py

POKUD přijmou žádost o stažení, již tento skript máte - pokud ne, budete muset klonovat úložiště.

ve vašem domovském adresáři (/home/pi) zadejte:

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

to bude klonovat úložiště do adresáře s názvem getWeather, dále musíme zaplatit větev getWeather.

cd getWeather

git pokladna getWeather

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

Budete muset cd do adresáře weatherHAT, který byl klonován dříve a

Potřebujeme upravit skript getWeather.py pro vaši polohu.

nano getWeather.py

Měli byste vidět řádek, který začíná na

umístění a končí vyhledáváním (45042) - Toto je moje PSČ, zjistil jsem, že nefunguje tak dobře, jak byste si mysleli

a řádek nad ním, který je okomentován, funguje lépe s názvem města. To je ten, který pravděpodobně budete chtít použít. Komentujte tedy řádek PSČ (#) a odkomentujte a změňte název města.

*********** STARÉ INFORMACE YAHOO - již není vyžadováno ***********

Aby to fungovalo, musíme nainstalovat ještě jednu knihovnu, Weather-api, která je obálkou pro počasí Yahoo API.

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

Instalace je snadná -

pip install počasí-api

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

Nyní můžeme spustit skript:

sudo python getWeather.py &

& Nechá skript běžet na pozadí. Skript spí asi 5 minut a poté zkontroluje Yahoo Weather, pokud se něco změnilo - pokud ano, aktualizuje zobrazení. 5minutový čas lze změnit, nachází se ve spodní části skriptu.

spánek (60 * 5)

Můžete nastavit úlohu crontab (pamatujte, že je třeba ji spustit jako root), která spustí skript při každém spuštění.

použití:

sudo crontab -e

zadejte:

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

Myslím, že by to mělo fungovat - v systému jsem zatím nenastavil cron.

To je skoro všechno -

Jak jsem uvedl, toto je jeden z mých prvních programů pro python a jsem si jist, že někdo, kdo ví více, uvidí lepší způsob, jak to udělat.

Na tomto jsem provedl pouze omezené testování - zatím jsem viděl, jak fungují „Snow“, „Rain“a „Thunderstorm“, Existují určité podmínky, se kterými si zatím nejsem jistý, jak je zvládnout - nápady vítám.

Krok 4: Aktualizované informace pro: Openweathermap API

V září 2020 jsem skript aktualizoval tak, aby používal rozhraní https://openweathermap.org API.

POZNÁMKA: Toto byla pro mě „rychlá“oprava a byla testována jen omezeně - (posledních několik dní bylo zataženo a vidím jen zobrazení mraků a deště) - I když věřím, že jsem zachytil všechny podmínky, které je snadné displej, je možné, že jsem pár zmeškal kvůli tomu, jak „rychle“byla tato oprava provedena. Jak již bylo řečeno, pokud si myslíte, že je problém, zanechte prosím komentář a čas dovolí, abych se na to podíval - nebo se pokusím ukázat vám správným směrem. *

Budete se muset zaregistrovat pro klíč API pomocí výše uvedeného odkazu. Když upravíte skript pro umístění vašeho města, uvidíte místo pro klíč. Stačí jej zkopírovat a vložit a měli byste být dobří.

Další poznámky:

Tento skript nyní používá informace „API o aktuálních údajích o počasí“o tomto API, které naleznete zde:

openweathermap.org/current Jedna věc, kterou je třeba poznamenat, je, že můžete použít město, stát a zemi.

IE: z města „Dayton“se stává „Dayton, OH, USA“. Všimněte si, jak jsou kódy státu a země psány velkými písmeny, to je povinné. API říká, že může používat pouze „Dayton, OH“, ale když jsem to udělal, ve skriptu se objevily chyby - a protože to byla rychlá oprava, nezkoumal jsem proč. Doporučuji tedy použít „město, stát, zemi“

POKUD z nějakého důvodu nedostanete dobré informace pomocí názvu města, můžete také vyhledat ID města nebo použít zeměpisnou šířku a délku nebo PSČ. V každém případě bude nutné změnit adresu URL. Pokud kliknete na odkaz na pravé straně webové stránky API, uvede příklad, jaká by adresa URL měla být.

Musíte také změnit URL ve skriptu.

Ještě více poznámek: 3. října 2020

@Itsmedoofer poukázal na to, že s novou aktualizací potřebují nainstalovat požadavky python knihovny. Nejsem si jistý, zda jsem to potřeboval (je také možné, že jsem to měl nainstalované před lety, nebo různé verze pythonu standardně instalují různé knihovny). Pokud tedy skript zobrazí chybu ohledně požadavků pythonu, je snadné jej opravit.

zadejte tento příkaz do CLI: python -m pip install requests

a měl bys být dobrý.

Naštěstí se to stalo, protože to byla rychlá oprava a možná, že mi to jednoho dne dovolí pracovat na vyčištění trochu lépe.

Aktualizace (6. října 2020) Žádost o stažení github byla přijata, původní původní úložiště CyntechUK nyní obsahuje tento skript. https://github.com/CyntechUK/WeatherHAT Uživatel Boeerb má několik nápadů, jak zobrazit některé podmínky, které se aktuálně nezobrazují, a také další nápady pro použití. Sledujte tedy to úložiště. A doufejme, že se budou dít věci.

Aktualizace: (8. října 2020) Otevřená meteorologická mapa obsahuje krátký návod k nastavení a používání API, https://openweathermap.org/appid Dobré místo pro začátek.

Doporučuje: