Satura rādītājs:
- 1. darbība: iestatiet SD karti un aveņu PI
- 2. darbība. Iestatiet WeatherHAT bibliotēkas
- 3. darbība: Weather-api un GetWeather skripta instalēšana
- 4. darbība. Atjaunināta informācija par: Openweathermap API
Video: Vienkāršs laika displejs, izmantojot Raspberry PI un Cyntech WeatherHAT: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:51
* 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
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
Š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
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:
TTGO (krāsains) displejs ar mikropitonu (TTGO T displejs): 6 soļi
TTGO (krāsains) displejs ar mikropitonu (TTGO T displejs): TTGO T-displejs ir tāfele, kuras pamatā ir ESP32 un kurā ir 1,14 collu krāsu displejs. Dēli var iegādāties par balvu, kas mazāka par 7 ASV dolāriem (ieskaitot piegādi, balva redzama banggood). Tā ir neticama balva par ESP32, ieskaitot displeju
Pulksteņa izgatavošana, izmantojot M5stick C, izmantojot Arduino IDE - RTC reālā laika pulkstenis ar M5stack M5stick-C: 4 soļi
Pulksteņa izgatavošana, izmantojot M5stick C, izmantojot Arduino IDE | RTC reālā laika pulkstenis ar M5stack M5stick-C: Sveiki, puiši, šajā pamācībā mēs iemācīsimies izveidot pulksteni ar m5stick-C izstrādes dēli, izmantojot Arduino IDE. Tātad m5stick parādīs datumu, laiku un amp; displejā mēneša nedēļa
Datuma, laika un temperatūras displejs, izmantojot XinaBox: 8 soļi
Datuma, laika un temperatūras displejs, izmantojot XinaBox: Vēss OLED displejs, kas parāda datumu, laiku un temperatūru pēc Celsija un Fārenheita, izmantojot Xinabox xChips, pamatojoties uz ESP8266
Arduino 3-in-1 laika un laika displejs: 11 soļi
Arduino 3-in-1 laika un laika displejs: Man patīk PIC mikrokontrolleri un man patīk programmēšana montāžas valodā. Patiesībā pēdējo pāris gadu laikā savā vietnē esmu ievietojis aptuveni 40 projektus, pamatojoties uz šo kombināciju. Nesen es pasūtīju dažas detaļas no viena no maniem iecienītākajiem ASV v
Patiešām vienkāršs/vienkāršs/nesarežģīts veids, kā cilvēkiem/cilvēkiem/dzīvniekiem/robotiem likt izskatīties tā, it kā viņiem būtu patiešām vēsa/spilgta siltuma redze (jūsu izvēlētā krāsa), izmantojot GIMP: 4 soļi
Patiešām vienkāršs/vienkāršs/nesarežģīts veids, kā likt cilvēkiem/cilvēkiem/dzīvniekiem/robotiem izskatīties tā, it kā viņiem būtu patiešām vēsa/spilgta siltuma redze (jūsu izvēlētā krāsa), izmantojot GIMP: Lasiet … nosaukumu