INHOUDSOPGAWE:

Eenvoudige weerweergawe met framboos PI en Cyntech WeatherHAT: 4 stappe
Eenvoudige weerweergawe met framboos PI en Cyntech WeatherHAT: 4 stappe

Video: Eenvoudige weerweergawe met framboos PI en Cyntech WeatherHAT: 4 stappe

Video: Eenvoudige weerweergawe met framboos PI en Cyntech WeatherHAT: 4 stappe
Video: Godot 2D 3D / Review / Free open source game engine / C++, C#, GD Native Object Pascal / 2021 2022 2024, September
Anonim
Eenvoudige weerweergawe met behulp van Framboos PI en Cyntech WeatherHAT
Eenvoudige weerweergawe met behulp van Framboos PI en Cyntech WeatherHAT
Eenvoudige weerweergawe met behulp van Framboos PI en Cyntech WeatherHAT
Eenvoudige weerweergawe met behulp van Framboos PI en Cyntech WeatherHAT

* In 2019 het Yahoo die API verander, en dit het opgehou werk. Ek was nie bewus van die verandering nie. In September 2020 is hierdie projek opgedateer om die OPENWEATHERMAP API te gebruik. Sien die opgedateerde afdeling hieronder, maar die res van hierdie inligting is steeds goed. Dankie dat u gekyk het, en dankie dat u my laat weet het oor die Yahoo -verandering. *

Onlangs het ek 'n Cyntech WeatherHAT aangeskaf, maar ek was 'n bietjie teleurgesteld oor die gebrek aan sagteware daarvoor.

Dit lyk asof die hoed self goed gebou is, met 6 blou LED's in die vorm van reëndruppels, 6 oranje LED's in die vorm van 'n donderbout, 6 wit LED's in die vorm van 'n wolk. 1 (wat volgens my 'n RGB -LED is) vir die SUN - dit vertoon oranje (dus kan ek verkeerd wees as dit 'n RGB is). En 6 WS2812 LED's (dit is RGB:-))

Cyntech het wel 'n aanvangsgids, en selfs dit is goed - dit is maklik om die hoed te installeer en te gebruik.

Ek was dus net verbaas dat ek nie regtig sagteware sien nie (behalwe die demo wat deur Cyntech verskaf is). Ek was net so verbaas dat niemand dit regtig kan gebruik nie - miskien wil mense 'n "spoggerige" skerm met temperature en al die soort inligting hê. Vir my is dit lekker om net na 'n paar LED's op te kyk en te weet - dit reën, of donderweer of bewolk - As ek meer inligting benodig, kan ek na my tablet of telefoon kyk.:-)

'N Bietjie meer - dit is regtig die eerste keer dat ek python gebruik, ek is geensins goed daarin nie. En ek is seker dat mense wat python regtig ken, my 'n beter manier sal vertel.

Laat ons begin:

Ons benodig 'n SD -kaart (ten minste 8 GB)

'N Framboos -PI (ek gebruik 'n Zero W) en moet internettoegang hê.

en ons benodig die Cyntech weatherHAT

As u 'n Raspberry PI Zero W gebruik, moet u ook 'n stel koppe aan die bord kan soldeer.

Andersins is die nodige vaardighede die vermoë om sagteware te gebruik en die SD -kaart op te stel.

Stap 1: Stel die SD -kaart en Framboos PI in

Stel die SD -kaart en Raspberry PI in
Stel die SD -kaart en Raspberry PI in
Stel die SD -kaart en Framboos PI in
Stel die SD -kaart en Framboos PI in

U moet die nuutste Raspbian aflaai (ten tyde van hierdie instruksie, dit is Raspbian Stretch March 2018 (2018-03-13))

www.raspberrypi.org/downloads/raspbian/

Ek het die lessenaaruitgawe gebruik, selfs al gebruik ek my opstelling koploos en doen ek die meeste dinge vanuit die CLI (opdraglyn -koppelvlak) oor ssh.

Volg die opstelgids wat u hier vind:

www.raspberrypi.org/documentation/installa…

Nadat Etcher klaar is, verwyder die SD -kaart en plaas dit weer in die rekenaar.

* U hoef slegs hierdie stap hieronder te doen as u van plan is om 'n koplose installasie te doen

Ons moet SSH en WIFI opstel voordat ons die SD -kaart in die Raspberry PI kan gebruik. In die BOOT -partisie van die kaart, skep 'n lêer met die naam "ssh" sonder aanhalings. niks hoef in die lêer te wees nie. As die PI opstart, sal die lêer dit sien en SSH aanskakel.

Ons moet ook 'n lêer met die naam "wpa_supplicant.conf" skep. Ons moet hierdie lêer met u wifi -instellings wysig.

Dit behoort so te lyk:

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

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

* U hoef dit eintlik net te doen as u van plan is om 'n koplose installasie te doen

Sodra dit klaar is, verwyder u die SD -kaart veilig en plaas dit in die Raspberry PI (maak seker dat daar geen krag op die PI is nie).

Heg die weatherHAT aan en skakel die Raspberry PI aan.

Stap 2: Stel die WeatherHAT Libraries op

Stel die WeatherHAT Libraries op
Stel die WeatherHAT Libraries op
Stel die WeatherHAT Libraries op
Stel die WeatherHAT Libraries op

Vir hierdie stap volg ons die gevind begin gids

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

As u 'n koplose installasie doen, wil u ssh [email protected]

As u nie 'n ssh -kliënt het nie, is PUTTY 'n goeie een.

As u 'n sleutelbord en monitor gebruik - die gids hierbo is goed om te volg, dit begin met 'n GUI -lessenaar.

Die belangrike stappe hier is om die WS281x -biblioteek en die WeatherHAT -biblioteke te installeer, asook die afhanklikheid vir elkeen.

sudo apt-get update

sudo apt-get upgrade -y sudo apt-get install build-essential python-dev git scons swig python-smbus git kloon https://github.com/jgarff/rpi_ws281x.git> git kloon https://github.com/ jgarff/rpi_ws281x.git> cd rpi_ws281x scons cd python sudo python setup.py installeer

Nou moet ons seker maak dat I2C aangeskakel is.

sudo raspi-config

Die gids is geskryf vir 'n ouer weergawe van raspi-config en sê dat u na 'Advanced Options' moet gaan, wat vervang is deur I believe 'Interfaces'

As u I2C aangeskakel het, moet u herlaai.

Nou is dit tyd om die HAT te toets

cd WeatherHAT

sudo python cycle.py

As alles goed verloop, moet u alle funksies en 'n reënboog sien.

ctrl-z sal die program stop.

*Spesiale notas: ek het geleer dat die tydsberekening van die Raspberry PI 3 anders is en dat die reënboog moontlik nie korrek werk nie. As u hierdie probleem hier het, kan u dit regstel.

github.com/CyntechUK/WeatherHAT/issues/3

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

Sodra alles werk, kan ons voortgaan met die volgende stap.

Opdatering: (6 Oktober 2020) Hierdie bewaarplek bevat nou my getWeather.py -script, dit is wonderlike nuus, aangesien belangstelling weer opgewek is en nuwe dinge waarskynlik sal gebeur.

Stap 3: Installeer Weather-api en GetWeather Script

Die installering van Weather-api en GetWeather Script
Die installering van Weather-api en GetWeather Script
Die installering van Weather-api en GetWeather Script
Die installering van Weather-api en GetWeather Script
Die installering van Weather-api en GetWeather Script
Die installering van Weather-api en GetWeather Script
Die installering van Weather-api en GetWeather Script
Die installering van Weather-api en GetWeather Script

Ek het 'n PULL -versoek by CyntechUK ingedien vir my draaiboek - hopelik sal hulle die versoek aanvaar, en kan u die aflaai van my bewaarplek oorslaan. (hulle wil dalk nie my kode insluit nie)

(6 Oktober 2020) Die PULL -versoek is goedgekeur; my getWeather -skrif is nou ingesluit in die Weatherhat -bewaarplek.

********* U kan hierdie inligting steeds gebruik as u wil, maar getWeather.py is nou ingesluit in die weerhoedbewaarplek ******************* ******************

My bewaarplek kan hier gevind word:

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

en my skrif word getWeather.py genoem

As hulle die trekversoek aanvaar, het u reeds hierdie script - indien nie, moet u die bewaarplek kloon.

tik in u tuisgids (/home/pi):

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

dit sal die bewaarplek kloon in 'n gids genaamd getWeather, en daarna moet ons die getWeather -tak afreken.

cd getWeather

git afrekening getWeather

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

U moet in die weatherHAT -gids wat vroeër gekloon is, inskryf

Ons moet die getWeather.py -skrip vir u ligging wysig.

nano getWeather.py

U moet 'n lyn sien wat begin met

plek en eindig met soek (45042) - Dit is my poskode, ek het gevind dat dit nie so goed werk as wat u sou dink nie

en die reël daarbo wat kommentaar lewer, werk beter met 'n stadsnaam. Dit is die een wat u waarskynlik wil gebruik. Gee dus die poskode -lyn (#) en lewer 'n opmerking en verander u stadsnaam.

*********** OU YAHOO -INLIGTING - nie langer nodig nie ***********

Ons moet nog 'n biblioteek installeer om dit te laat werk, weather-api, wat 'n omslag is vir die Yahoo Weather API.

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

Die installering is maklik -

pip installeer weather-api

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

Nou kan ons die script uitvoer:

sudo python getWeather.py &

Die & laat die script op die agtergrond loop. Die skrip slaap ongeveer 5 minute, en kyk dan na Yahoo Weather as iets verander het - indien wel, werk dit die skerm op. Die tyd van 5 minute kan verander word, dit is naby aan die onderkant van die skrif.

slaap (60 * 5)

U kan 'n crontab -taak opstel (onthou dat dit as root uitgevoer moet word) wat die script by elke opstart sal begin.

gebruik:

sudo crontab -e

voer in:

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

Ek dink dit moet werk - ek het nog nie cron op my stelsel opgestel nie.

Dit is omtrent dit -

Soos ek gesê het, is dit een van my eerste luislangprogramme, en ek is seker dat iemand wat meer weet 'n beter manier sal sien.

Ek het slegs 'n beperkte toetsing hieroor gedoen - ek het tot dusver gesien hoe "Sneeu", "Reën" en "Donderstorm" werk, Daar is 'n paar voorwaardes waaroor ek nog nie seker is hoe om dit te hanteer nie - ek verwelkom idees.

Stap 4: Opgedateerde inligting vir: Openweathermap API

In September 2020 het ek die script opgedateer om die https://openweathermap.org API te gebruik.

LET WEL: dit was 'n 'vinnige' oplossing vir my, en slegs getoets - (dit was die afgelope paar dae bewolk, en al wat ek sien, is die wolk- en reënweergawe) - Terwyl ek glo dat ek aan al die toestande voldoen het wat maklik is om te doen vertoon, is dit moontlik dat ek 'n paar gemis het vanweë die 'vinnige' oplossing. Dit gesê, as u dink dat daar 'n probleem is, laat dan 'n opmerking agter en laat die tyd dit toelaat - of probeer u in die regte rigting wys. *

U sal met die bogenoemde skakel moet aanmeld vir 'n API -sleutel. As u die script wysig om u stad te plaas, sien u 'n plek vir die sleutel. Kopieer en plak dit, en u moet goed wees.

Ander notas:

Hierdie skrif gebruik nou die 'Huidige weer data API' inligting oor die API kan hier gevind word:

openweathermap.org/current Een ding om op te let is dat u 'n stad, staat en land kan gebruik.

IE: die stad "Dayton" word "Dayton, OH, VS", let op hoe die staat en die landkodes beide hoofletters is; dit is nodig. Die API sê dat dit slegs 'Dayton, OH' kan gebruik, maar ek het foute gekry toe ek dit gedoen het - en aangesien dit 'n vinnige oplossing was, het ek nie gekyk hoekom nie. Ek beveel dus aan om die 'stad, staat, land' te gebruik

As u om die een of ander rede nie goeie inligting kry met behulp van 'n stadsnaam nie, kan u ook die stad -ID opspoor, of breedtegraad en lengtegraad of die poskode gebruik. In elke geval moet die URL verander word. As u op die skakel aan die regterkant van die API -webwerf klik, gee dit 'n voorbeeld van wat die URL moet wees.

U moet ook die URL in die script verander.

Nog meer notas: 3 Oktober 2020

@Itsmedoofer het daarop gewys dat hulle die biblioteek-python-versoeke met die nuwe opdatering moes installeer. Ek is nie seker of ek dit nodig gehad het nie (dit is ook moontlik dat ek dit jare gelede laat installeer het, of dat verskillende weergawes van python standaard verskillende biblioteke installeer). As die script 'n fout gee oor python-versoeke, is dit eenvoudig om op te los.

tik hierdie opdrag in die CLI: python -m pip install -versoeke

en jy moet goed wees.

Hopelik is dit 'n vinnige oplossing, en miskien kan ek eendag dit beter skoonmaak.

Opdatering (6 Oktober 2020) Die github -trekversoek is aanvaar; die oorspronklike oorspronklike CyntechUK -bewaarplek bevat nou hierdie skrif. https://github.com/CyntechUK/WeatherHAT Die gebruiker Boeerb het 'n paar idees oor hoe om 'n paar van die toestande wat tans nie vertoon word nie, asook 'n paar ander idees vir gebruik weer te gee. Hou die bewaarplek dus dop. En hopelik gebeur daar dinge.

Opdatering: (8 Oktober 2020) Open Weather Map bevat 'n kort handleiding vir die opstel en gebruik van die API, https://openweathermap.org/appid 'n Goeie plek om te begin.

Aanbeveel: