Innehållsförteckning:

Enkel vädervisning med Raspberry PI och Cyntech WeatherHAT: 4 steg
Enkel vädervisning med Raspberry PI och Cyntech WeatherHAT: 4 steg

Video: Enkel vädervisning med Raspberry PI och Cyntech WeatherHAT: 4 steg

Video: Enkel vädervisning med Raspberry PI och Cyntech WeatherHAT: 4 steg
Video: 2 ft foot Type C Cable Micro USB OTG Cable DJI Mavic Spark Right Angle Compatible Zoom Pro Air 2024, September
Anonim
Enkel vädervisning med Raspberry PI och Cyntech WeatherHAT
Enkel vädervisning med Raspberry PI och Cyntech WeatherHAT
Enkel vädervisning med Raspberry PI och Cyntech WeatherHAT
Enkel vädervisning med Raspberry PI och Cyntech WeatherHAT

* År 2019 ändrade Yahoo sitt API, och det slutade fungera. Jag var inte medveten om förändringen. I september 2020 har detta projekt uppdaterats för att använda OPENWEATHERMAP API Se det uppdaterade avsnittet nedan, resten av denna information är dock fortfarande bra. Tack för att du tittade och tack för att du informerade mig om Yahoo -förändringen. *

Nyligen skaffade jag mig en Cyntech WeatherHAT, men jag blev lite besviken över bristen på programvara för den.

HATEN själv verkar vara välkonstruerad, med 6 blå lysdioder i form av regndroppar, 6 orange lysdioder i form av åskbult, 6 vita lysdioder i form av ett moln. 1 (Vad jag tror är en RGB -LED) för SOLEN - den visar orange (så jag kan ha fel om att det är en RGB). Och 6 WS2812 lysdioder (dessa är RGB:-))

Cyntech har en startguide, och även det är bra - det är enkelt att installera och använda HAT.

Så jag blev bara förvånad över att inte riktigt se någon programvara (annat än demoen från Cyntech). Jag blev lika förvånad över att inte hitta någon som verkligen använder det här - Kanske vill folk ha en "snygg" display med temperaturer och all sådan information. För mig är det trevligt att bara titta upp på några lysdioder och veta - det regnar eller åskväder eller molnigt - Vid den tidpunkten om jag behöver mer information kan jag titta på min surfplatta eller telefon.:-)

Lite mer - det här är verkligen första gången jag använder python, jag är absolut inte bra på det. Och jag är säker på att människor som verkligen kan python kommer att berätta för mig bättre sätt att göra detta.

Låt oss börja:

Vi behöver ett SD -kort (minst 8 GB)

Ett hallon -PI (jag använder en Zero W) den måste ha tillgång till internet.

och vi behöver Cyntech weatherHAT

Om du använder en Raspberry PI Zero W måste du också kunna löda en uppsättning rubriker på brädet.

I övrigt är de färdigheter som behövs möjligheten att använda programvara och konfigurera SD -kortet.

Steg 1: Ställ in SD -kortet och Raspberry PI

Ställ in SD -kortet och Raspberry PI
Ställ in SD -kortet och Raspberry PI
Ställ in SD -kortet och Raspberry PI
Ställ in SD -kortet och Raspberry PI

Du måste ladda ner den senaste Raspbian (vid tidpunkten för denna instruerbara som är Raspbian Stretch mars 2018 (2018-03-13))

www.raspberrypi.org/downloads/raspbian/

Jag använde skrivbordsversionen, även du kör min installation utan huvud och gör det mesta från CLI (kommandoradsgränssnitt) över ssh.

Följ installationsguiden som finns här:

www.raspberrypi.org/documentation/installa…

När Etcher är klar tar du bort SD -kortet och sätter tillbaka det i datorn.

* Du behöver verkligen bara göra det här steget nedan om du planerar att göra en huvudlös installation

Vi måste konfigurera SSH och WIFI innan vi använder SD -kortet i Raspberry PI. I BOOT -partitionen på kortet skapar du en fil med namnet "ssh" utan citattecken. inget behöver finnas i den filen. När PI startar ser den filen och aktiverar SSH.

Vi måste också skapa en fil som heter "wpa_supplicant.conf". Vi måste redigera den här filen med dina wifi -inställningar.

Det ska se ut ungefär så här:

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

update_config = 1 nätverk = {ssid = "yourwifiSSID" psk = "yourwifipassword" scan_ssid = 1}

* Du behöver verkligen bara göra detta om du planerar att göra en huvudlös installation

När det är klart tar du säkert bort SD -kortet och sätter i Raspberry PI (se till att det inte finns någon ström på PI).

Anslut weatherHAT och slå på Raspberry PI.

Steg 2: Konfigurera WeatherHAT -biblioteken

Konfigurera WeatherHAT -biblioteken
Konfigurera WeatherHAT -biblioteken
Konfigurera WeatherHAT -biblioteken
Konfigurera WeatherHAT -biblioteken

För det här steget kommer vi att följa guiden Komma igång

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

OM du utför en huvudlös installation vill du ssh [email protected]

Om du inte har en ssh -klient - PUTTY är en bra.

Om du använder ett tangentbord och en bildskärm - guiden ovan är bra att följa, den startar dig på ett GUI -skrivbord.

De viktiga stegen här är att installera WS281x -biblioteket och WeatherHAT -biblioteken, tillsammans med beroende för varje.

sudo apt-get uppdatering

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

Nu måste vi se till att I2C är på.

sudo raspi-config

Guiden är skriven för en äldre version av raspi-config och säger att gå till "Avancerade alternativ" som har ersatts av Jag tror "Gränssnitt"

När du väl startar I2C måste du starta om.

Nu är det dags att testa HATEN

cd WeatherHAT

sudo python cycle.py

Om allt gick bra borde du se alla funktioner och en regnbåge.

ctrl-z stoppar programmet.

*Särskilda anmärkningar: Jag fick veta att tiderna för Raspberry PI 3 är olika och att regnbågen kanske inte fungerar korrekt. Om du har det här problemet här är hur du åtgärdar det.

github.com/CyntechUK/WeatherHAT/issues/3

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

När allt fungerar kan vi fortsätta till nästa steg.

Uppdatering: (6 oktober 2020) Det här förvaret innehåller nu mitt getWeather.py -skript, det här är bra nyheter, eftersom intresset har väckts igen och nya saker kommer att hända.

Steg 3: Installera Weather-api och GetWeather Script

Installera Weather-api och GetWeather Script
Installera Weather-api och GetWeather Script
Installera Weather-api och GetWeather Script
Installera Weather-api och GetWeather Script
Installera Weather-api och GetWeather Script
Installera Weather-api och GetWeather Script
Installera Weather-api och GetWeather Script
Installera Weather-api och GetWeather Script

Så jag lade in en PULL -begäran till CyntechUK för mitt manus - förhoppningsvis kommer de att acceptera förfrågan, och du kan hoppa över att ladda ner mitt förråd. (de kanske inte vill inkludera min kod du)

(6 oktober 2020) PULL -begäran godkändes, mitt getWeather -skript ingår nu i Weatherhat -förvaret.

********* Du kan fortfarande använda denna information om du vill, men getWeather.py har inkluderats i väderhattförvaret nu ******************** ******************

Mitt register finns här:

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

och mitt manus heter getWeather.py

Om de accepterar dragbegäran har du redan det här skriptet - om inte måste du klona förvaret.

skriv i din hemkatalog (/home/pi):

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

detta kommer att klona förvaret till en katalog som heter getWeather, därefter måste vi checka ut getWeather -grenen.

cd getWeather

git checkout getWeather

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

Du måste cd -in i weatherHAT -katalogen som klonades tidigare och

Vi måste redigera getWeather.py -skriptet för din plats.

nano getWeather.py

Du bör se en rad som börjar med

plats och slutar med sökning (45042) - Det här är mitt postnummer, jag har upptäckt att det inte fungerar så bra som du tror

och raden ovanför den som kommenteras fungerar bättre med ett stadsnamn. Det är den som du förmodligen vill använda. Så kommentera postnummerraden (#) och avmarkera och ändra ditt stadsnamn.

************ GAMMA YAHOO -INFORMATION - Inte längre krävs ***********

Vi måste installera ytterligare ett bibliotek för att detta ska fungera, weather-api som är en omslag för Yahoo weather API.

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

Installationen är enkel -

pip installera weather-api

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

Nu kan vi köra skriptet:

sudo python getWeather.py &

Med & låter manuset köras i bakgrunden. Skriptet sover i cirka 5 minuter och kontrollerar sedan Yahoo Weather om något har ändrats - i så fall uppdaterar det displayen. Tiden på 5 minuter kan ändras, den ligger nära botten av skriptet.

sova (60 * 5)

Du kan konfigurera ett crontab -jobb (kom ihåg att detta måste köras som root) som startar skriptet vid varje start.

använda sig av:

sudo crontab -e

stiga på:

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

Jag tycker att det borde fungera - jag har inte installerat cron ännu på mitt system.

Det är i stort sett det -

Som jag sa är detta ett av mina första pythonprogram, och jag är säker på att någon som vet mer kommer att se ett bättre sätt att göra detta.

Jag har bara gjort begränsat testat på detta - jag har sett "Snow" "Rain" och "Thunderstorm" fungera hittills, Det finns vissa villkor som jag inte är säker på hur jag ska hantera ännu - jag välkomnar idéer.

Steg 4: Uppdaterad information för: Openweathermap API

I september 2020 uppdaterade jag skriptet för att använda https://openweathermap.org API.

OBS: Detta var en "snabb" lösning för mig och begränsad testad - (Det har varit mulet de senaste dagarna, och allt jag ser är molnet och regndisplayen) - Medan jag tror att jag fångat alla förhållanden som är lätta att display, är det möjligt att jag missade ett par på grund av hur "snabb" den här åtgärden gjordes. Med detta sagt, om du tror att det finns ett problem, vänligen lämna en kommentar och tid tillåter så ska jag titta på det - eller försök att peka dig i rätt riktning. *

Du måste registrera dig för en API -nyckel med länken ovan. När du redigerar manuset för att placera din stad ser du en plats för nyckeln. Kopiera och klistra in det, så ska du vara bra.

Andra anteckningar:

Detta skript använder nu informationen "Aktuellt väderdata API" om det API: et som finns här:

openweathermap.org/current En sak att notera är att du kan använda en stad, delstat och land.

IE: staden "Dayton" blir "Dayton, OH, USA" märka hur staten och landskoderna båda är stora, detta krävs. API: et säger att det bara kan använda "Dayton, OH" men jag fick fel från skriptet när jag gjorde detta - och eftersom det här var en snabb lösning har jag inte undersökt varför. SÅ, jag rekommenderar att du använder "stad, stat, land"

OM du av någon anledning inte får bra information med ett stadsnamn, kan du också leta upp City -ID, eller använda latitud och longitud eller postnummer. I varje fall måste webbadressen ändras. Om du klickar på länken till höger om API -webbplatsen kommer det att ge ett exempel på vad URL: en ska vara.

Du måste också ändra webbadressen i skriptet.

Ännu fler anteckningar: 3 oktober 2020

@Itsmedoofer påpekade att de behövde installera bibliotekets python-förfrågningar med den nya uppdateringen. Jag är inte säker på att jag behövde det här (det är också möjligt att jag hade det installerat från år sedan, eller att olika versioner av python installerade olika bibliotek som standard). Så om manuset ger ett fel om python-begäranden är det enkelt att fixa.

skriv det här kommandot i CLI: python -m pip install -begäranden

och du borde vara bra.

Förhoppningsvis gör detta detta, eftersom detta var en snabb lösning, och kanske en dag kan jag arbeta med att städa upp det lite bättre.

Uppdatering (6 oktober 2020) Github pull -begäran godkändes, det ursprungliga CyntechUK -originalförvaret innehåller nu detta skript. https://github.com/CyntechUK/WeatherHAT Användaren Boeerb har några idéer om hur man visar några av de villkor som för närvarande inte visas, liksom några andra idéer för användning. Så håll koll på det förvaret. Och förhoppningsvis händer det saker.

Uppdatering: (8 oktober 2020) Open Weather Map har en kort handledning om hur du konfigurerar och använder API: et, https://openweathermap.org/appid Ett bra ställe att börja.

Rekommenderad: