Satura rādītājs:

Vienkāršs laika displejs, izmantojot Raspberry PI un Cyntech WeatherHAT: 4 soļi
Vienkāršs laika displejs, izmantojot Raspberry PI un Cyntech WeatherHAT: 4 soļi

Video: Vienkāršs laika displejs, izmantojot Raspberry PI un Cyntech WeatherHAT: 4 soļi

Video: Vienkāršs laika displejs, izmantojot Raspberry PI un Cyntech WeatherHAT: 4 soļi
Video: 20 товаров для автомобиля с Алиэкспресс, автотовары №31 2024, Novembris
Anonim
Vienkāršs laika displejs, izmantojot Raspberry PI un Cyntech WeatherHAT
Vienkāršs laika displejs, izmantojot Raspberry PI un Cyntech WeatherHAT
Vienkāršs laika displejs, izmantojot Raspberry PI un Cyntech WeatherHAT
Vienkāršs laika displejs, izmantojot Raspberry PI un Cyntech WeatherHAT

* 2019. gadā Yahoo mainīja savu API, un tas pārstāja darboties. Es nezināju par izmaiņām. 2020. gada septembrī šis projekts tika atjaunināts, lai izmantotu OPENWEATHERMAP API. Skatiet atjaunināto sadaļu zemāk, tomēr pārējā informācija joprojām ir laba. Paldies, ka skatījāties, un paldies, ka paziņojāt man par Yahoo izmaiņām. *

Nesen es iegādājos Cyntech WeatherHAT, taču biju nedaudz vīlies par programmatūras trūkumu.

Šķiet, ka cepure pati par sevi ir labi uzbūvēta, un tajā ir 6 zilas gaismas diodes lietus pilienu veidā, 6 oranžas gaismas diodes pērkona skrūves formā, 6 baltas gaismas diodes mākoņa formā. 1 (kas, manuprāt, ir RGB gaismas diode) SUN - tas parāda oranžu krāsu (tāpēc es varētu kļūdīties, jo tas ir RGB). Un 6 WS2812 gaismas diodes (tās ir RGB:-))

Cyntech patiešām ir darba sākšanas rokasgrāmata, un pat tas ir labi - HAT ir viegli uzstādīt un lietot.

Tāpēc es biju tikai pārsteigts, ka īsti neredzēju nevienu programmatūru (izņemot Cyntech piedāvāto demonstrāciju). Es biju tikpat pārsteigts, ka neatradu nevienu, kas to tiešām izmanto - Varbūt cilvēki vēlas “iedomātu” displeju ar temperatūru un visu šādu informāciju. Man ir patīkami vienkārši paskatīties uz dažām gaismas diodēm un zināt - ir lietus, pērkona negaiss vai mākoņains - tajā brīdī, ja man nepieciešama papildu informācija, varu apskatīt planšetdatoru vai tālruni.:-)

Nedaudz vairāk - šī patiešām ir mana pirmā reize, kad lietoju python, man tas nekādā ziņā nav labi. Un es esmu pārliecināts, ka cilvēki, kuri patiešām zina pitonu, pateiks man labāku veidu, kā to izdarīt.

Sāksim:

Mums ir nepieciešama SD karte (vismaz 8 GB)

Aveņu PI (es izmantoju Zero W), tai ir jābūt piekļuvei internetam.

un mums ir vajadzīgi Cyntech laika apstākļiHAT

Ja izmantojat Raspberry PI Zero W, jums būs jāspēj lodēt arī galvenes komplekts pie tāfeles.

Pretējā gadījumā nepieciešamās prasmes ir spēja izmantot programmatūru un iestatīt SD karti.

1. darbība: iestatiet SD karti un aveņu PI

Iestatiet SD karti un aveņu PI
Iestatiet SD karti un aveņu PI
Iestatiet SD karti un aveņu PI
Iestatiet SD karti un aveņu PI

Jums būs jālejupielādē jaunākā Raspbian (šīs pamācības laikā, kas ir Raspbian Stretch 2018. gada marts (2018-03-13))

www.raspberrypi.org/downloads/raspbian/

Es izmantoju darbvirsmas izdevumu, pat tad, kad es iestatīju bez galvas, un lielāko daļu lietu daru no CLI (komandrindas interfeisa), izmantojot ssh.

Izpildiet šeit atrodamo iestatīšanas rokasgrāmatu:

www.raspberrypi.org/documentation/installa…

Kad Etcher ir pabeigts, izņemiet SD karti un ievietojiet to vēlreiz datorā.

* Šis solis jums ir jāveic tikai tad, ja plānojat instalēt bez galvas

Pirms SD kartes izmantošanas Raspberry PI, mums ir jāiestata SSH un WIFI. Kartes BOOT nodalījumā izveidojiet failu ar nosaukumu "ssh" bez pēdiņām. šajā failā nekas nav jāiekļauj. Kad PI sāk darboties, tas redzēs šo failu un ieslēgs SSH.

Mums arī jāizveido fails ar nosaukumu "wpa_supplicant.conf". Mums ir jārediģē šis fails, izmantojot jūsu Wi -Fi iestatījumus.

Tam vajadzētu izskatīties apmēram šādi:

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

update_config = 1 tīkls = {ssid = "tavswifiSSID" psk = "tavswifipassword" scan_ssid = 1}

* Jums tas jādara tikai tad, ja plānojat instalēt bez galvas

Kad tas ir izdarīts, droši izņemiet SD karti un ievietojiet aveņu PI (pārliecinieties, vai PI nav strāvas).

Pievienojiet weatherHAT un ieslēdziet Raspberry PI.

2. darbība. Iestatiet WeatherHAT bibliotēkas

Iestatiet WeatherHAT bibliotēkas
Iestatiet WeatherHAT bibliotēkas
Iestatiet WeatherHAT bibliotēkas
Iestatiet WeatherHAT bibliotēkas

Šajā solī mēs ievērosim atrasto darba sākšanas rokasgrāmatu

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

Ja veicat instalēšanu bez galvas, jūs vēlaties ssh [email protected]

Ja jums nav ssh klienta - PUTTY ir labs.

Ja izmantojat tastatūru un monitoru - iepriekš minētais ceļvedis ir labs, kas jāievēro, tas sākas ar GUI darbvirsmu.

Šeit ir svarīgi instalēt WS281x bibliotēku un WeatherHAT bibliotēkas, kā arī atkarību no katras no tām.

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 klons https://github.com/ jgarff/rpi_ws281x.git> cd rpi_ws281x scons cd python sudo python setup.py instalēt

Tagad mums jāpārliecinās, vai I2C ir ieslēgts.

sudo raspi-config

Ceļvedis ir rakstīts vecākai raspi-config versijai, un tajā ir teikts, ka dodieties uz "Papildu opcijas", kas ir aizstāts ar, manuprāt, "Saskarnes"

Pēc I2C ieslēgšanas jums būs jārestartē.

Tagad ir pienācis laiks pārbaudīt cepuri

cd WeatherHAT

sudo python cycle.py

Ja viss gāja labi, jums vajadzētu redzēt visas funkcijas un varavīksni.

ctrl-z apturēs programmu.

*Īpašas piezīmes: Es uzzināju, ka Raspberry PI 3 laiks ir atšķirīgs un varavīksne var nedarboties pareizi. Ja jums ir šī problēma, šeit ir norādīts, kā to novērst.

github.com/CyntechUK/WeatherHAT/issues/3

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

Kad viss darbojas, mēs varam turpināt nākamo darbību.

Atjauninājums: (2020. gada 6. oktobris) Šajā krātuvē tagad ir mans getWeather.py skripts, tā ir lieliska ziņa, jo interese atkal ir uzliesmojusi, un noteikti notiks jaunas lietas.

3. darbība: Weather-api un GetWeather skripta instalēšana

Weather-api un GetWeather skripta instalēšana
Weather-api un GetWeather skripta instalēšana
Weather-api un GetWeather skripta instalēšana
Weather-api un GetWeather skripta instalēšana
Weather-api un GetWeather skripta instalēšana
Weather-api un GetWeather skripta instalēšana
Weather-api un GetWeather skripta instalēšana
Weather-api un GetWeather skripta instalēšana

Tātad, es iesūtīju PULL pieprasījumu CyntechUK par savu skriptu - cerams, ka viņi pieņems pieprasījumu, un jūs varat izlaist manu krātuves lejupielādi. (viņi, iespējams, nevēlas iekļaut manu kodu)

(2020. gada 6. oktobris) PULL pieprasījums tika apstiprināts, mans getWeather skripts tagad ir iekļauts Weatherhat krātuvē.

********* Jūs joprojām varat izmantot šo informāciju, ja vēlaties, tomēr getWeather.py tagad ir iekļauts Weatherhat repozitorijā ******************* *****************

Manu krātuvi var atrast šeit:

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

un manu skriptu sauc getWeather.py

Ja viņi pieņem vilkšanas pieprasījumu, jums jau ir šis skripts - pretējā gadījumā jums būs nepieciešams klonēt krātuvi.

mājas direktorijā (/home/pi) ierakstiet:

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

tas klonēs repozitoriju direktorijā ar nosaukumu getWeather, tālāk mums jāpārbauda filiāle getWeather.

cd getWeather

git izrakstīšanās getWeather

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

Jums būs nepieciešams ierakstīt cd uz weatherHAT direktoriju, kas tika klonēts agrāk un

Mums ir jārediģē jūsu atrašanās vietas skripts getWeather.py.

nano getWeather.py

Jums vajadzētu redzēt līniju, kas sākas ar

atrašanās vieta un beidzas ar uzmeklēšanu (45042) - šis ir mans pasta indekss. Es atklāju, ka tas nedarbojas tik labi, kā jūs domājat

un līnija tieši virs tās, kas tiek komentēta, labāk darbojas ar pilsētas nosaukumu. Tas ir tas, kuru jūs, iespējams, vēlaties izmantot. Tāpēc komentējiet pasta indeksa rindiņu (#) un noņemiet komentāru un mainiet pilsētas nosaukumu.

*********** SENA YAHOO INFORMĀCIJA - vairs nav nepieciešams ***********

Lai tas darbotos, mums ir jāinstalē vēl viena bibliotēka-weather-api, kas ir Yahoo Weather API ietinējs.

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

Uzstādīšana ir vienkārša -

pip instalēt weather-api

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

Tagad mēs varam palaist skriptu:

sudo python getWeather.py &

& Ļaus skriptam darboties fonā. Skripts guļ apmēram 5 minūtes un pēc tam pārbauda Yahoo Weather, vai kaut kas ir mainījies - ja tā, tas atjaunina displeju. 5 minūšu laiku var mainīt, tas ir skripta apakšā.

gulēt (60 * 5)

Jūs varētu iestatīt crontab darbu (atcerieties, ka tas ir jāizpilda kā root), kas sāks skriptu katrā sāknēšanas reizē.

izmantot:

sudo crontab -e

ievadiet:

@pārstartējiet python /home/pi/weatherHAT/getWeather.py

Es domāju, ka tam vajadzētu darboties - es vēl neesmu iestatījis cron savā sistēmā.

Tas ir diezgan daudz -

Kā jau minēju, šī ir viena no manām pirmajām python programmām, un esmu pārliecināts, ka kāds, kas zina vairāk, redzēs labāku veidu, kā to izdarīt.

Šajā sakarā esmu veicis tikai ierobežotu pārbaudi - līdz šim esmu redzējis darbu "Sniegs", "Lietus" un "Pērkona negaiss", Ir daži nosacījumi, par kuriem vēl neesmu pārliecināts, kā rīkoties - es atzinīgi vērtēju idejas.

4. darbība. Atjaunināta informācija par: Openweathermap API

2020. gada septembrī es atjaunināju skriptu, lai izmantotu https://openweathermap.org API.

PIEZĪME. Tas man bija “ātrs” labojums, un tas tika pārbaudīts ierobežoti - (pēdējās dienās ir bijis apmācies laiks, un es redzu tikai mākoņu un lietus displeju). displejs, iespējams, es palaidu garām pāris, jo šis “labojums” tika veikts ātri. Tomēr, ja jūs domājat, ka ir kāda problēma, lūdzu, atstājiet komentāru un atļaujiet laiku, es to izpētīšu - vai arī mēģināšu norādīt jums pareizajā virzienā. *

Jums būs jāreģistrējas API atslēgai, izmantojot iepriekš norādīto saiti. Rediģējot skriptu, lai ievietotu savu pilsētu, jūs redzēsit atslēgas vietu. Vienkārši nokopējiet un ielīmējiet to, un jums vajadzētu būt labam.

Citas piezīmes:

Šajā skriptā tagad tiek izmantota informācija par pašreizējiem laika apstākļu API API par šo API:

openweathermap.org/current Viena lieta, kas jāņem vērā, ir tā, ka varat izmantot pilsētu, štatu un valsti.

IE: pilsēta "Dayton" kļūst par "Dayton, OH, US", ievērojiet, ka štata un valsts kodi ir lielie burti, tas ir nepieciešams. API saka, ka tā var izmantot tikai “Deitonu, OH”, bet, to darot, es saņēmu kļūdas no skripta - un tā kā tas bija ātrs risinājums, es neesmu izpētījis, kāpēc. Tātad, es iesaku izmantot “pilsētu, štatu, valsti”

JA kāda iemesla dēļ jūs nesaņemat labu informāciju, izmantojot pilsētas nosaukumu, varat arī uzmeklēt pilsētas ID vai izmantot platuma un garuma grādus vai pasta indeksu. Katrā gadījumā URL būs jāmaina, ja noklikšķināsit uz saites API vietnes labajā pusē, tas parādīs piemēru tam, kādam jābūt URL.

Jums arī jāmaina URL skriptā.

Vēl vairāk piezīmju: 2020. gada 3. oktobris

@Itsmedoofer norādīja, ka viņiem bija jāinstalē bibliotēkas python-pieprasījumi ar jauno atjauninājumu. Es neesmu pārliecināts, ka man tas bija vajadzīgs (iespējams, ka tas bija instalēts pirms vairākiem gadiem vai arī dažādas python versijas pēc noklusējuma instalēja dažādas bibliotēkas). Tātad, ja skripts rada kļūdu par python pieprasījumiem, to ir viegli novērst.

ierakstiet šo komandu CLI: python -m pip instalēšanas pieprasījumi

un jums vajadzētu būt labam.

Cerams, ka tas palīdzēja, jo tas bija ātrs labojums, un varbūt kādu dienu, kad atļauju, es varu mazliet labāk to iztīrīt.

Atjauninājums (2020. gada 6. oktobris) Github vilkšanas pieprasījums tika pieņemts, sākotnējais CyntechUK repozitorijs tagad ietver šo skriptu. https://github.com/CyntechUK/WeatherHAT Lietotājam Boeerb ir dažas idejas, kā parādīt dažus nosacījumus, kas pašlaik netiek parādīti, kā arī dažas citas idejas lietošanai. Tāpēc sekojiet līdzi šai krātuvei. Un cerams, ka lietas notiks.

Atjauninājums: (2020. gada 8. oktobris) Atvērtajā laika kartē ir īsa apmācība par API iestatīšanu un izmantošanu, https://openweathermap.org/appid Laba vieta, kur sākt.

Ieteicams: