Мазмуну:

Raspberry PI жана Cyntech WeatherHAT колдонулган жөнөкөй аба ырайы дисплейи: 4 кадам
Raspberry PI жана Cyntech WeatherHAT колдонулган жөнөкөй аба ырайы дисплейи: 4 кадам

Video: Raspberry PI жана Cyntech WeatherHAT колдонулган жөнөкөй аба ырайы дисплейи: 4 кадам

Video: Raspberry PI жана Cyntech WeatherHAT колдонулган жөнөкөй аба ырайы дисплейи: 4 кадам
Video: ИСТИНАТА за ОТКРИТИТЕ Извънземни Находки. Това Откритие Поставя Човешкият Произход под Съмнение 2024, Ноябрь
Anonim
Raspberry PI жана Cyntech WeatherHAT колдонулган жөнөкөй аба ырайы дисплейи
Raspberry PI жана Cyntech WeatherHAT колдонулган жөнөкөй аба ырайы дисплейи
Raspberry PI жана Cyntech WeatherHAT колдонулган жөнөкөй аба ырайы дисплейи
Raspberry PI жана Cyntech WeatherHAT колдонулган жөнөкөй аба ырайы дисплейи

* 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 орнотуңуз

SD картаны жана Raspberry PI орнотуңуз
SD картаны жана Raspberry PI орнотуңуз
SD картаны жана Raspberry PI орнотуңуз
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 китепканаларын орнотуу

WeatherHAT китепканаларын орнотуу
WeatherHAT китепканаларын орнотуу
WeatherHAT китепканаларын орнотуу
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 орнотуу

Weather-api жана GetWeather Script орнотуу
Weather-api жана GetWeather Script орнотуу
Weather-api жана GetWeather Script орнотуу
Weather-api жана GetWeather Script орнотуу
Weather-api жана GetWeather Script орнотуу
Weather-api жана GetWeather Script орнотуу
Weather-api жана GetWeather Script орнотуу
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 Баштоо үчүн жакшы жер.

Сунушталууда: