Мазмуну:
- 1 -кадам: SD картаны жана Raspberry PI орнотуңуз
- 2 -кадам: WeatherHAT китепканаларын орнотуу
- 3-кадам: Weather-api жана GetWeather Script орнотуу
- 4 -кадам: Жаңыртылган маалымат: Openweathermap API
Video: Raspberry PI жана Cyntech WeatherHAT колдонулган жөнөкөй аба ырайы дисплейи: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
* 2019 -жылы Yahoo API'син өзгөртүп, ал иштебей калды. Мен өзгөрүүнү билбей калдым. 2020 -жылдын сентябрь айында бул долбоор OPENWEATHERMAP API колдонуу үчүн жаңыртылды Төмөндөгү жаңыртылган бөлүмдү караңыз, бирок калган маалыматтар дагы эле жакшы. Издегениңизге жана Yahoo өзгөрүүсү жөнүндө мага кабарлаганыңыз үчүн рахмат. *
Жакында мен Cyntech WeatherHAT алдым, бирок ал үчүн программалык камсыздоонун жоктугунан бир аз көңүлүм калды.
HAT өзү жакшы курулган окшойт, жамгыр тамчылары түрүндө 6 көк LED, күн күркүрөгөн 6 апельсин LED, булут түрүндөгү 6 ак LED. 1 (мен RGB LED деп эсептейм) Күн үчүн - ал кызгылт сары түстү көрсөтөт (андыктан RGB деп жаңылышып калышым мүмкүн). Жана 6 WS2812 LED (бул RGB:-))
Cyntechте баштапкы жетекчилик бар, ал тургай бул жакшы - HATти орнотуу жана колдонуу оңой.
Ошентип, мен чындап эле эч кандай программаны көрбөгөнүмө таң калдым (башка демек Cyntech берген демо). Муну чындап колдонгон эч кимди таппаганыма таң калдым - Балким, адамдар температурасы бар "кооз" дисплейди жана ушундай маалыматты каалашат. Мен үчүн бир нече светодиодду карап, билүү жагымдуу - бул жамгыр, же күн күркүрөө, же булуттуу - Ошол учурда мага көбүрөөк маалымат керек болсо, мен планшетимди же телефонумду карай алам.:-)
Дагы бир аз - бул чынында биринчи жолу питонду колдонуп жатам, мен анча жакшы эмесмин. Мен ишенем, чынында эле питонду билген адамдар мага муну жакшы жолун айтышат.
Кел, баштайлы:
Бизге SD карта керек (жок дегенде 8gb)
Raspberry PI (мен Zero W колдонуп жатам) интернетке кирүү мүмкүнчүлүгүнө ээ болушу керек.
жана бизге Cyntech аба ырайы керек HAT
Эгерде сиз Raspberry PI Zero W колдонсоңуз, анда сиз баштыктардын топтомун тактага ширете алышыңыз керек.
Болбосо, керектүү көндүмдөр - бул программалык камсыздоону колдонуу жана SD картаны орнотуу.
1 -кадам: SD картаны жана Raspberry PI орнотуңуз
Сиз акыркы Raspbian жүктөп алышыңыз керек (бул үйрөтүүчү учурда Raspbian Stretch March 2018 (2018-03-13))
www.raspberrypi.org/downloads/raspbian/
Мен рабочий версиясын колдондум, сен да менин орнотуумду башсыз иштетип жатам жана CLIден (командалык сап интерфейси) көп нерсени ssh аркылуу жасайм.
Бул жерден табылган орнотуу көрсөтмөсүн аткарыңыз:
www.raspberrypi.org/documentation/installa…
Etcher бүткөндөн кийин, SD картаны алып салып, кайра компьютерге салыңыз.
* Эгерде сиз башсыз орнотууну пландасаңыз, бул кадамды төмөндө гана жасашыңыз керек
Биз Raspberry PIде SD картаны колдонуудан мурун SSH жана WIFI орнотушубуз керек. Картанын BOOT бөлүмүндө, тырмакча жок "ssh" аттуу файлды түзүңүз. бул файлда эч нерсе болбошу керек. PI жүктөлгөндө, ал файлды көрүп, SSHди күйгүзөт.
Биз ошондой эле "wpa_supplicant.conf" деп аталган файлды түзүшүбүз керек. Бул файлды wifi жөндөөлөрүңүз менен түзөтүшүбүз керек.
Ал мындай көрүнүшү керек:
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev
update_config = 1 network = {ssid = "yourwifiSSID" psk = "yourwifipassword" scan_ssid = 1}
* Чынында эле, эгер сиз башсыз орнотууну пландасаңыз гана муну жасашыңыз керек
Муну аткаргандан кийин, SD картаны коопсуз түрдө алып салыңыз жана Raspberry PIге салыңыз (PIде эч кандай күч жок экендигин текшериңиз).
WeatherHATти тиркеп, Raspberry PIди күйгүзүңүз.
2 -кадам: WeatherHAT китепканаларын орнотуу
Бул кадам үчүн биз тапкан Баштоо Колдонмосун ээрчийбиз
guides.cyntech.co.uk/weatherhat/getting-sta…
Эгерде сиз башсыз орнотуп жатсаңыз, ssh [email protected] каалайсыз
Эгерде сизде ssh кардары жок болсо - PUTTY жакшы.
Эгерде сиз клавиатура менен мониторду колдонуп жатсаңыз - жогоруда айтылган көрсөтмөнү ээрчүү жакшы, ал сизди GUI рабочкасынан баштайт.
Бул жердеги маанилүү кадамдар - WS281x китепканасын жана WeatherHAT китепканаларын орнотуу, ар бирине көз карандылык.
sudo apt-get update
sudo apt-get upgrade -y sudo apt-get install-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 орнотуу
Эми биз I2C күйгүзүлгөнүн текшеришибиз керек.
sudo raspi-config
Колдонмо raspi-configнын эски версиясы үчүн жазылган жана "Advanced Options" деп айтылат, мен аны "Интерфейстер" деп алмаштырдым
I2C күйгүзүлгөндөн кийин, кайра жүктөөңүзгө туура келет.
Эми HATти сыноо убактысы келди
cd WeatherHAT
sudo python cycle.py
Эгерде баары жакшы болсо, анда сиз бардык өзгөчөлүктөрдү жана асан -үсөндү көрүшүңүз керек.
ctrl-z программаны токтотот.
*Өзгөчө эскертүүлөр: Мен Raspberry PI 3 убактысы башкача экенин жана асан -үсөн туура иштебей калышы мүмкүн экенин билдим. Эгерде сизде бул маселе болсо, аны кантип чечүү керек.
github.com/CyntechUK/WeatherHAT/issues/3
guides.cyntech.co.uk/raspberry-pi/assemblin…
Баары иштеп баштагандан кийин, кийинки кадамга өтүшүбүз мүмкүн.
Жаңыртуу: (6 -октябрь, 2020 -жыл) Бул репозиторийде азыр менин getWeather.py сценарийим бар, бул сонун жаңылык, анткени кызыгуу кайрадан жанданды жана жаңы нерселер сөзсүз болот.
3-кадам: Weather-api жана GetWeather Script орнотуу
Ошентип, мен CyntechUKка PULL өтүнүчүн жаздым - алар суранычты кабыл алат деп үмүттөнөм, жана сиз менин репозиторийимди жүктөп алсаңыз болот. (алар менин кодумду кошкусу келбеши мүмкүн)
(6 -октябрь, 2020) PULL өтүнүчү жактырылды, менин getWeather сценарийим азыр Weatherhat репозиторийине киргизилген.
********* Кааласаңыз, бул маалыматты колдоно берсеңиз болот, бирок getWeather.py азыр аба ырайы кампасына киргизилген ******************* *****************
Менин репозиторийимди бул жерден тапса болот:
github.com/kd8bxp/WeatherHAT/tree/getWeath…
жана менин сценарийим getWeather.py деп аталат
Эгерде алар тартуу өтүнүчүн кабыл алса, анда сизде бул скрипт болот - антпесе, репозиторийди клондошуңуз керек болот.
үй каталогуна (/home/pi) териңиз:
git clone https://github.com/kd8bxp/WeatherHAT.git getWeather
бул репозиторийди getWeather деп аталган каталогго клондойт, андан кийин getWeather бутагын текшерип чыгышыбыз керек.
cd getWeather
git checkout getWeather
**********************************************************************
Сиз мурда клондоштурулган weatherHAT каталогуна CD жазышыңыз керек болот
Биз сиз жайгашкан getWeather.py скриптин түзөтүшүбүз керек.
nano getWeather.py
Сиз менен башталган линияны көрүшүңүз керек
жайгашкан жер жана издөө менен бүтөт (45042) - Бул менин индексим, мен сиз ойлогондой иштебей турганын таптым
жана анын жогору жагындагы комментарий берилген сап шаар аты менен жакшы иштейт. Бул, балким, сиз колдонгуңуз келген нерсе. Андыктан почта индексине (#) комментарий калтырыңыз жана комментарий калтырбаңыз жана шаарыңыздын атын өзгөртүңүз.
*********** Эски YAHOO МААЛЫМАТЫ - Мындан ары талап кылынбайт ***********
Бул иштеши үчүн дагы бир китепкананы орнотушубуз керек, аба ырайы-api, бул Yahoo аба-ырайы үчүн API.
pypi.python.org/pypi/weather-api/0.0.5
Орнотуу оңой -
аба ырайы-api орнотуу
***********************************************************************************
Эми биз скриптти иштете алабыз:
sudo python getWeather.py &
& Скрипттин фондо иштешине жол берет. Скрипт болжол менен 5 мүнөт уктайт, андан кийин Yahoo Weatherде бир нерсе өзгөргөнүн текшерет - эгерде ал дисплейди жаңыртса. 5 мүнөттүк убакытты өзгөртсө болот, бул сценарийдин түбүнө жакын.
уйку (60 * 5)
Сиз ар бир жүктөөдө скриптти баштай турган crontab жумушун орнотсоңуз болот (муну root катары иштетүү керек).
колдонуу:
sudo crontab -e
киргизүү:
@reboot python /home/pi/weatherHAT/getWeather.py
Менимче, бул иштеши керек - мен азырынча системада cron орното элекмин.
Бул дээрлик -
Мен айткандай, бул менин биринчи питон программаларымдын бири, жана мен көбүрөөк билген адам муну кылуунун жакшы жолун көрөрүнө ишенем.
Мен бул боюнча чектелген тестирлөөнү гана жасадым - ушул убакка чейин "Кар" "Жамгыр" жана "Күн күркүрөө" иштерин көрдүм, Кээ бир шарттар бар, мен азырынча кантип чечүүнү билбейм - мен идеяларды колдойм.
4 -кадам: Жаңыртылган маалымат: Openweathermap API
2020 -жылдын сентябрында мен https://openweathermap.org API колдонуу үчүн скриптти жаңыладым.
ЭСКЕРТҮҮ: Бул мен үчүн "тез" оңдоо болду жана чектелген сыноолор - (Акыркы күндөрдө булут каптап турат, мен булут менен жамгырдын дисплейин гана көрөм) - Мен ишенем, мен оңой болгон бардык шарттарды кармадым дисплей, бул оңдоонун "тез" жасалышынан улам мен бир жупту сагындым. Айтор, эгер сизде көйгөй бар деп ойлосоңуз, анда комментарий калтырыңыз жана убакытты карап көрөм - же сизди туура багытка бурууга аракет кылыңыз. *
Сиз жогорудагы шилтемени колдонуу менен API ачкычына катталууңуз керек болот, сиз шаарыңызды жайгаштыруу үчүн скриптти түзөткөнүңүздө, ачкыч үчүн орун көрөсүз. Жөн эле көчүрүп, чаптаңыз, ошондо сиз жакшы болушуңуз керек.
Башка эскертүүлөр:
Бул скрипт азыр API жөнүндө "Учурдагы аба ырайы маалыматы" маалыматын колдонот, бул жерден тапса болот:
openweathermap.org/current Белгилей кетчү нерсе, сиз шаарды, штатты жана өлкөнү колдоно аласыз.
IE: "Дейтон" шаары "Дейтон, ОХ, АКШ" болуп калат, штаттын жана өлкөнүн коддору баш тамгалар менен жазылат, бул талап кылынат. API "Dayton, OH" колдоно аларын айтат, бирок мен муну кылганда сценарийден ката кетирдим - жана бул тез оңдоо болгондуктан, мен анын себебин караган жокмун. Ошентип, мен "шаар, штат, өлкө" колдонууну сунуштайм
Эгерде кандайдыр бир себептерден улам сиз шаардын атын колдонуп жакшы маалымат ала албасаңыз, анда сиз шаардын идентификаторун издесеңиз болот, же кеңдик менен узундукту же почта индексин колдонсоңуз болот. Ар бир учурда URL өзгөртүлүшү керек болот, эгер сиз API веб -сайтынын оң жагындагы шилтемени чыкылдатып койсоңуз, анда URL кандай болушу керек экендигинин мисалын берет.
Сиз сценарийдеги URLди да өзгөртүшүңүз керек.
Дагы эскертүүлөр: 3 -октябрь, 2020 -жыл
@Itsmedoofer алар китепкананын python-өтүнүчтөрүн жаңы жаңыртуу менен орнотушу керек экенин белгиледи. Мен бул нерсеге муктаж экенимди так билбейм, (мен муну көп жылдар мурун эле орнотуп койгом же питондун ар кандай версиялары демейки боюнча ар кандай китепканаларды орнотушу мүмкүн). Ошентип, эгер скрипт python-өтүнүчтөрү боюнча ката берсе, аны оңдоо оңой.
бул буйрукту CLIге териңиз: python -m pip орнотуу сурамдары
жана сен жакшы болушуң керек.
Бул тез оңдоо болду деп үмүттөнөм, балким, бир күнү мен аны бир аз жакшыраак тазалоо боюнча иштей алам.
Жаңыртуу (6 -октябрь, 2020 -жыл) Github тартуу өтүнүчү кабыл алынды, оригиналдуу CyntechUK репозиторийи азыр бул скриптти камтыйт. https://github.com/CyntechUK/WeatherHAT Boeerb колдонуучусунда азыркы учурда көрсөтүлбөгөн кээ бир шарттарды, ошондой эле колдонуу үчүн башка идеяларды көрсөтүү боюнча бир нече идеялар бар. Андыктан ал репозиторийге көз салыңыз. Жана нерселер болот деп үмүттөнөбүз.
Жаңыртуу: (8 -октябрь, 2020 -жыл) Аба ырайынын картасында API орнотуу жана колдонуу боюнча кыска сабак бар, https://openweathermap.org/appid Баштоо үчүн жакшы жер.
Сунушталууда:
Ардуино жана ThingSpeak колдонулган мини аба ырайы станциясы: 4 кадам
Ардуино жана ThingSpeak колдонулган мини аба ырайы станциясы: баарына салам. Бул Нускамада мен сизге жекече мини -метеостанциясын жасоо боюнча кадамдарды көрсөтөм. Ошондой эле, биз ThingSpeak API аркылуу аба -ырайы маалыматтарыбызды серверлерине жүктөп берүү үчүн колдонобуз, болбосо аба ырайынын максаты эмне
DHT11 жана OLED дисплейи бар жөнөкөй DIY аба ырайы станциясы: 8 кадам
DHT11 жана OLED дисплейи бар жөнөкөй DIY аба ырайы станциясы: Бул окуу куралында биз температураны жана нымдуулукту көрсөтүү үчүн Arduino, DHT11 сенсорун, OLED дисплейин жана Visuino колдонуп, жөнөкөй аба ырайы станциясын түзүүнү үйрөнөбүз
Pythonдогу BME280 менен Raspberry Pi колдонулган аба ырайы станциясы: 6 кадам
Аба ырайы станциясы Raspberry Pi менен BME280ди Pythonдо колдонсо болот: аба ырайы-бул глобалдык жылуулук жана климаттын өзгөрүшү менен бирге глобалдык аба ырайы биздин дүйнөдө туруксуз болуп баратат. табигый кырсыктар (кургакчылык, экстремалдык
Arduino 3-in-1 Убакыт жана аба ырайы дисплейи: 11 кадам
Arduino 3-in-1 Убакыт жана Аба ырайы дисплейи: Мага PIC микроконтроллерлери жагат жана мага ассамблея тилинде программалоо жагат. Чындыгында, акыркы эки жыл ичинде мен веб -сайтка ошол айкалыштын негизинде 40ка жакын долбоорду жайгаштырдым. Жакында мен сүйүктүү АКШдан кээ бир бөлүктөргө заказ берип жаттым
Аба ырайы шамы - Аба ырайы жана температура бир караганда: 8 кадам
Аба ырайы шамы - Аба ырайы жана Температура Бир Караганда: Бул сыйкырдуу шамды колдонуп, сиз учурдагы температураны жана шарттарды дароо сыртта айта аласыз