Indholdsfortegnelse:

Enkel vejrvisning ved hjælp af Raspberry PI og Cyntech WeatherHAT: 4 trin
Enkel vejrvisning ved hjælp af Raspberry PI og Cyntech WeatherHAT: 4 trin

Video: Enkel vejrvisning ved hjælp af Raspberry PI og Cyntech WeatherHAT: 4 trin

Video: Enkel vejrvisning ved hjælp af Raspberry PI og Cyntech WeatherHAT: 4 trin
Video: Crochet baby cardigan/craft & crochet cardigan 2703 2024, November
Anonim
Enkel vejrvisning ved hjælp af Raspberry PI og Cyntech WeatherHAT
Enkel vejrvisning ved hjælp af Raspberry PI og Cyntech WeatherHAT
Enkel vejrvisning ved hjælp af Raspberry PI og Cyntech WeatherHAT
Enkel vejrvisning ved hjælp af Raspberry PI og Cyntech WeatherHAT

* I 2019 ændrede Yahoo sin API, og dette stoppede med at fungere. Jeg var ikke klar over ændringen. I september 2020 er dette projekt blevet opdateret til at bruge OPENWEATHERMAP API Se det opdaterede afsnit nedenfor, resten af disse oplysninger er dog stadig gode. Tak fordi du kiggede, og tak fordi du gav mig besked om Yahoo -ændringen. *

For nylig købte jeg en Cyntech WeatherHAT, men jeg var lidt skuffet over manglen på software til den.

HAT'en ser ud til at være godt konstrueret med 6 blå lysdioder i form af regndråber, 6 orange lysdioder i form af tordenbolt, 6 hvide lysdioder i form af en sky. 1 (hvad jeg mener er en RGB -LED) til SUN - den viser orange (så jeg kan tage fejl om at det er en RGB). Og 6 WS2812 lysdioder (disse er RGB:-))

Cyntech har en startguide, og selv det er godt - det er let at installere og bruge hatten.

Så jeg blev bare overrasket over ikke rigtig at se nogen software (andet end demoen fra Cyntech). Jeg var lige så overrasket over ikke at finde nogen, der virkelig bruger dette - Måske vil folk have et "fancy" display med temperaturer og al den slags information. For mig er det rart bare at kigge op på et par lysdioder og vide - det regner, eller tordenvejr eller overskyet - På det tidspunkt, hvis jeg har brug for flere oplysninger, kan jeg se på min tablet eller telefon.:-)

Lidt mere - det er virkelig første gang jeg bruger python, jeg er på ingen måde god til det. Og jeg er sikker på, at folk, der virkelig kender python, vil fortælle mig en bedre måde at gøre dette på.

Lad os komme igang:

Vi har brug for et SD -kort (mindst 8 GB)

En Raspberry PI (jeg bruger en Zero W) den skal have internetadgang.

og vi har brug for Cyntech weatherHAT

Hvis du bruger en Raspberry PI Zero W, skal du også kunne lodde et sæt headers til brættet.

Ellers er de nødvendige færdigheder evnen til at bruge software og opsætte SD -kortet.

Trin 1: Indstil SD -kortet og Raspberry PI

Indstil SD -kortet og Raspberry PI
Indstil SD -kortet og Raspberry PI
Indstil SD -kortet og Raspberry PI
Indstil SD -kortet og Raspberry PI

Du skal downloade den nyeste Raspbian (på tidspunktet for denne instruktive er Raspbian Stretch marts 2018 (2018-03-13))

www.raspberrypi.org/downloads/raspbian/

Jeg brugte desktop -udgaven, selvom jeg kører mit setup uden hoved og gør de fleste ting fra CLI (kommandolinjegrænseflade) over ssh.

Følg installationsvejledningen, der findes her:

www.raspberrypi.org/documentation/installa…

Når ætseren er færdig, skal du fjerne SD -kortet og indsætte det igen i computeren.

* Du behøver virkelig kun at gøre dette trin herunder, hvis du planlægger at foretage en hovedløs installation

Vi skal konfigurere SSH og WIFI, før vi bruger SD -kortet i Raspberry PI. I BOOT -partitionen på kortet skal du oprette en fil med navnet "ssh" uden anførselstegn. intet skal være i den fil. Når PI'en starter, ser den filen og tænder SSH.

Vi skal også oprette en fil kaldet "wpa_supplicant.conf". Vi skal redigere denne fil med dine wifi -indstillinger.

Det skal se sådan ud:

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

update_config = 1 netværk = {ssid = "yourwifiSSID" psk = "yourwifipassword" scan_ssid = 1}

* Du behøver virkelig kun at gøre dette, hvis du planlægger at foretage en hovedløs installation

Når det er gjort, skal du sikkert fjerne SD -kortet og sætte Raspberry PI i (sørg for, at der ikke er strøm til PI'en).

Tilslut weatherHAT, og tænd Raspberry PI.

Trin 2: Konfigurer WeatherHAT -bibliotekerne

Opsæt WeatherHAT Libraries
Opsæt WeatherHAT Libraries
Opsæt WeatherHAT Libraries
Opsæt WeatherHAT Libraries

Til dette trin følger vi den fundet vejledning til at komme i gang

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

HVIS du foretager en hovedløs installation, vil du gerne ssh [email protected]

Hvis du ikke har en ssh -klient - er PUTTY en god.

Hvis du bruger et tastatur og en skærm - guiden ovenfor er god at følge, den starter dig på et GUI -skrivebord.

De vigtige trin her er at installere WS281x -biblioteket og WeatherHAT -bibliotekerne sammen med afhængigheden for hver.

sudo apt-get opdatering

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 skal vi sikre os, at I2C er tændt.

sudo raspi-config

Guiden er skrevet til en ældre version af raspi-config og siger at gå til "Avancerede indstillinger", som er blevet erstattet af jeg tror "grænseflader"

Når du tænder I2C, skal du genstarte.

Nu er det tid til at teste HATEN

cd WeatherHAT

sudo python cycle.py

Hvis alt gik godt, skulle du se alle funktionerne og en regnbue.

ctrl-z stopper programmet.

*Særlige bemærkninger: Jeg lærte, at timerne for Raspberry PI 3 er forskellige, og regnbuen fungerer muligvis ikke korrekt. Hvis du har dette problem her, er hvordan du løser det.

github.com/CyntechUK/WeatherHAT/issues/3

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

Når alt fungerer, kan vi fortsætte til næste trin.

Opdatering: (6. oktober 2020) Dette lager indeholder nu mit getWeather.py -script, dette er gode nyheder, da interessen har vakt igen, og nye ting vil helt sikkert ske.

Trin 3: Installation af Weather-api og GetWeather Script

Installation af Weather-api og GetWeather Script
Installation af Weather-api og GetWeather Script
Installation af Weather-api og GetWeather Script
Installation af Weather-api og GetWeather Script
Installation af Weather-api og GetWeather Script
Installation af Weather-api og GetWeather Script
Installation af Weather-api og GetWeather Script
Installation af Weather-api og GetWeather Script

Så jeg indsendte en PULL -anmodning til CyntechUK for mit script - forhåbentlig accepterer de anmodningen, og du kan springe over download af mit lager. (de vil muligvis ikke inkludere min kode)

(6. oktober 2020) PULL -anmodningen blev godkendt, mit getWeather -script er nu inkluderet i Weatherhat -depotet.

********* Du kan stadig bruge disse oplysninger, hvis du vil, men getWeather.py er nu inkluderet i vejrethatlageret nu ******************** ******************

Mit depot kan findes her:

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

og mit script kaldes getWeather.py

HVIS de accepterer pull -anmodningen, har du allerede dette script - hvis ikke skal du klone depotet.

i din hjemmemappe (/home/pi) skriv:

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

dette vil klone depotet til et bibliotek kaldet getWeather, derefter skal vi tjekke getWeather -grenen.

cd getWeather

git checkout getWeather

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

Du bliver nødt til at cd'e ind i weatherHAT -biblioteket, der blev klonet tidligere og

Vi skal redigere scriptet getWeather.py til din placering.

nano getWeather.py

Du skal se en linje, der starter med

placering og slutter med opslag (45042) - Dette er mit postnummer, jeg har fundet ud af, at det ikke fungerer så godt, som du skulle tro

og den linje lige over den, der kommenteres, fungerer bedre med et bynavn. Det er den, du sandsynligvis vil bruge. Så kommenter postnummerlinjen (#), og fjern en kommentar, og skift dit bynavn.

*********** GAMLE YAHOO -INFORMATION - Ikke længere påkrævet ***********

Vi skal installere endnu et bibliotek for at dette kan fungere, weather-api, som er en indpakning til Yahoo weather API.

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

Installationen er let -

pip installer weather-api

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

Nu kan vi køre scriptet:

sudo python getWeather.py &

& Lader scriptet køre i baggrunden. Scriptet sover i cirka 5 minutter og kontrollerer derefter Yahoo Weather, hvis noget er ændret - i så fald opdaterer det displayet. Tiden på 5 minutter kan ændres, den er tæt på bunden af scriptet.

søvn (60 * 5)

Du kan oprette et crontab -job (husk, at dette skal køres som root), der starter scriptet ved hver boot.

brug:

sudo crontab -e

gå ind:

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

Jeg synes, det burde fungere - jeg har endnu ikke konfigureret cron på mit system.

Det er stort set det -

Som jeg sagde, er dette et af mine første python -programmer, og jeg er sikker på, at nogen, der ved mere, vil se en bedre måde at gøre dette på.

Jeg har kun testet begrænset på dette - jeg har set "Sne" "Regn" og "Tordenvejr" virke indtil nu, Der er nogle betingelser, som jeg ikke er sikker på, hvordan jeg skal håndtere endnu - jeg glæder mig over ideer.

Trin 4: Opdaterede oplysninger til: Openweathermap API

I september 2020 opdaterede jeg scriptet til at bruge https://openweathermap.org API.

BEMÆRK: Dette var en "hurtig" løsning for mig og begrænset testet - (Det har været overskyet de sidste par dage, og alt, hvad jeg ser, er skyen og regndisplayet) - Mens jeg tror, at jeg har fanget alle de forhold, der er lette at display, er det muligt, at jeg savnede et par på grund af, hvor "hurtig" denne løsning blev udført. Når det er sagt, hvis du mener, at der er et problem, skal du efterlade en kommentar, og så får jeg tid til det, eller jeg prøver at pege dig i den rigtige retning. *

Du bliver nødt til at tilmelde dig en API -nøgle ved hjælp af ovenstående link. Når du redigerer scriptet for at placere din by, ser du et sted til nøglen. Bare kopier og indsæt det, så skal du være god.

Andre noter:

Dette script bruger nu informationen om "Aktuelle vejrdata API" om denne API kan findes her:

openweathermap.org/current En ting at bemærke er, at du kan bruge en by, stat og land.

IE: byen "Dayton" bliver til "Dayton, OH, USA", bemærk hvordan staten og landekoderne begge er store, dette er påkrævet. API'en siger, at den kun kan bruge "Dayton, OH", men jeg fik fejl fra scriptet, da jeg gjorde dette - og da dette var en hurtig løsning, har jeg ikke undersøgt hvorfor. SÅ, jeg anbefaler at bruge "by, stat, land"

HVIS du af en eller anden grund ikke får gode oplysninger ved hjælp af et bynavn, kan du også slå op på by -id'et eller bruge breddegrad og længdegrad eller postnummeret. I hvert tilfælde skal URL'en ændres. Hvis du klikker på linket i højre side af API -webstedet, giver det et eksempel på, hvad URL'en skal være.

Du skal også ændre webadressen i scriptet.

Endnu flere noter: 3. oktober 2020

@Itsmedoofer påpegede, at de var nødt til at installere bibliotekets python-anmodninger med den nye opdatering. Jeg er ikke sikker på, at jeg havde brug for dette (det er også muligt, at jeg havde det installeret fra år siden, eller at forskellige versioner af python installerede forskellige biblioteker som standard). Så hvis scriptet giver en fejl om python-anmodninger, er det let at rette.

skriv denne kommando i CLI: python -m pip install anmodninger

og du skal være god.

Forhåbentlig gør dette siden, at dette var en hurtig løsning, og måske en dag tillader jeg, at jeg kan arbejde på at rydde det op lidt bedre.

Opdatering (6. okt. 2020) Github pull -anmodningen blev accepteret, det originale CyntechUK -originale arkiv indeholder nu dette script. https://github.com/CyntechUK/WeatherHAT Brugeren Boeerb har nogle ideer til, hvordan man viser nogle af de forhold, der i øjeblikket ikke vises, samt nogle andre idéer til brug. Så hold øje med det depot. Og forhåbentlig sker der ting.

Opdatering: (8. oktober 2020) Open Weather Map har en kort vejledning i opsætning og brug af API, https://openweathermap.org/appid Et godt sted at starte.

Anbefalede: