Агуулгын хүснэгт:
- Алхам 1: SD карт болон Raspberry PI -ийг тохируулна уу
- Алхам 2: WeatherHAT номын сангуудыг тохируулна уу
- Алхам 3: Weather-api болон GetWeather Script-ийг суулгах
- Алхам 4: Шинэчилсэн мэдээлэл: Openweathermap API
Видео: Raspberry PI ба Cyntech WeatherHAT ашиглан энгийн цаг агаарын дэлгэц: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
* 2019 онд Yahoo API -ээ өөрчилсөн бөгөөд энэ нь ажиллахаа больсон. Би өөрчлөлтийг мэдээгүй байсан. 2020 оны 9 -р сард энэ төслийг OPENWEATHERMAP API -ийг ашиглахаар шинэчилсэн болно. Доорх шинэчлэгдсэн хэсгийг үзнэ үү, гэхдээ бусад мэдээлэл сайн хэвээр байна. Yahoo -ийн өөрчлөлтийн талаар надад мэдэгдсэнд баярлалаа. *
Саяхан би Cyntech WeatherHAT -ийг худалдаж авсан боловч түүнд зориулсан програм хангамж байхгүй байгаад сэтгэл дундуур байсан.
HAT нь бие даасан байдлаар хийгдсэн бөгөөд борооны дусал хэлбэртэй 6 цэнхэр LED, аянгын боолт хэлбэртэй 6 улбар шар өнгийн LED, үүл хэлбэртэй 6 цагаан LED байдаг. 1 (Миний итгэдэг зүйл бол RGB LED юм) SUN - энэ нь улбар шар өнгөтэй байдаг (тиймээс би үүнийг RGB гэж андуурч магадгүй юм). Мөн 6 WS2812 LED (Эдгээр нь RGB:-))
Cyntech нь эхлэх гарын авлагатай бөгөөд энэ нь сайн ч гэсэн HAT -ийг суулгах, ашиглахад хялбар байдаг.
Тиймээс би ямар ч програм хангамж (Cyntech -ээс үзүүлсэн демо хувилбараас бусад) үнэхээр олж хараагүйдээ гайхсан. Үүнийг үнэхээр ашигладаг хэн ч олж чадаагүйд би гайхаж байсан. Магадгүй хүмүүс температур, ийм төрлийн мэдээлэл бүхий "гоёмсог" дэлгэцийг хүсч байгаа байх. Миний хувьд цөөн хэдэн LED -ийг хараад бороо орж, аянга цахилгаантай, эсвэл үүлэрхэг байгааг мэдэхэд таатай байна. Хэрэв надад нэмэлт мэдээлэл хэрэгтэй бол таблет эсвэл утсаа харах боломжтой.:-)
Бага зэрэг илүү - энэ бол миний анх удаа питон ашиглаж байгаа, би тийм ч сайн биш. Питоныг үнэхээр мэддэг хүмүүс надад үүнийг хийх илүү сайн аргыг хэлж өгнө гэдэгт итгэлтэй байна.
Эхэлцгээе:
Бидэнд SD карт хэрэгтэй (дор хаяж 8gb)
Raspberry PI (би тэг W ашиглаж байна) интернетэд холбогдох шаардлагатай.
мөн бидэнд Cyntech -ийн цаг агаар хэрэгтэй байна HAT
Хэрэв та Raspberry PI Zero W ашигладаг бол толгойн самбарыг самбар дээр гагнах чадвартай байх шаардлагатай.
Үгүй бол шаардлагатай ур чадвар бол програм хангамж ашиглах, SD картыг тохируулах чадвар юм.
Алхам 1: SD карт болон Raspberry PI -ийг тохируулна уу
Та хамгийн сүүлийн үеийн Raspbian програмыг татаж авах хэрэгтэй болно (энэ зааварчилгаа авах үед Raspbian Stretch 2018 оны 3-р сар (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 сүлжээ = {ssid = "yourwifiSSID" psk = "yourwifipassword" scan_ssid = 1}
* Та үнэхээр толгойгүй суулгалт хийхээр төлөвлөж байгаа бол үүнийг хийх хэрэгтэй болно
Үүнийг хийсний дараа SD картаа аюулгүй аваад Raspberry PI -д оруулна уу (PI дээр хүч байхгүй байгаа эсэхийг шалгаарай).
Цаг агаарыг холбож, 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 build-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 scd cd python sudo python setup.py суулгах
Одоо бид I2C асаалттай байгаа эсэхийг шалгах хэрэгтэй.
sudo raspi-config
Энэхүү гарын авлага нь raspi-config-ийн хуучин хувилбарт зориулагдсан бөгөөд "Нарийвчилсан сонголтууд" гэсэн утгатай бөгөөд үүнийг "Интерфэйсүүд" гэж орлуулсан болно.
I2C -ийг асаасны дараа та дахин ачаалах хэрэгтэй болно.
Одоо малгайг турших цаг болжээ
cd Цаг агаар
sudo python мөчлөг.py
Хэрэв бүх зүйл сайн болсон бол бүх онцлог шинж чанар, солонгыг харах хэрэгтэй.
ctrl-z нь програмыг зогсоох болно.
*Тусгай тэмдэглэл: Raspberry PI 3 -ийн цаг хугацаа өөр бөгөөд солонго зөв ажиллахгүй байж магадгүйг би мэдсэн. Хэрэв танд ийм асуудал байгаа бол үүнийг хэрхэн засах талаар эндээс үзнэ үү.
github.com/CyntechUK/WeatherHAT/issues/3
guides.cyntech.co.uk/raspberry-pi/assemblin…
Бүх зүйл ажилласны дараа бид дараагийн алхам руу үргэлжлүүлж болно.
Шинэчлэлт: (2020 оны 10 -р сарын 6) Энэ репозитор одоо миний getWeather.py скриптийг агуулж байна, энэ бол гайхалтай мэдээ, учир нь сонирхол дахин асч, шинэ зүйл гарах болно.
Алхам 3: Weather-api болон GetWeather Script-ийг суулгах
Тиймээс би CyntechUK -д скриптийнхээ талаар PULL хүсэлт тавьсан - тэд хүсэлтийг хүлээж авах болно гэж найдаж байна, та миний репозиторыг татаж авахыг алгасаж болно. (тэд миний кодыг оруулахыг хүсэхгүй байж магадгүй юм)
(2020 оны 10 -р сарын 6) 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 скриптийг засах хэрэгтэй.
нано getWeather.py
Та эхэлсэн мөрийг харах ёстой
байршил ба хайлтаар дуусна (45042) - Энэ бол миний зип код, таны бодож байгаа шиг сайн ажиллахгүй байгааг би олж мэдсэн.
мөн дээрээс нь тайлбарласан мөр нь хотын нэрээр илүү сайн ажилладаг. Энэ бол магадгүй таны ашиглахыг хүсч буй зүйл юм. Тиймээс зип кодын мөрөнд (#) сэтгэгдлээ үлдээж, хотын нэрийг өөрчил.
*********** Хуучин YAHOO МЭДЭЭЛЭЛ - Удах шаардлагагүй боллоо ***********
Үүнийг ажиллуулахын тулд бид Yahoo-ийн цаг агаарын API-ийг боох цаг агаар-api бас нэг номын сан суулгах хэрэгтэй.
pypi.python.org/pypi/weather-api/0.0.5
Суулгахад хялбар байдаг -
pip цаг агаар-api суулгаарай
***********************************************************************************
Одоо бид скриптийг ажиллуулж болно:
sudo python getWeather.py &
& Нь скриптийг арын дэвсгэр дээр ажиллуулах болно. Скрипт 5 минут орчим унтдаг бөгөөд дараа нь ямар нэгэн зүйл өөрчлөгдсөн эсэхийг Yahoo Weather -ээр шалгадаг. 5 минутын хугацааг өөрчилж болно, энэ нь скриптийн доод хэсэгт ойрхон байна.
унтах (60 * 5)
Та ачаалах бүрт скриптийг эхлүүлэх crontab ажлыг тохируулж болно (үүнийг root болгон ажиллуулах хэрэгтэй гэдгийг санаарай).
ашиглах:
sudo crontab -e
оруулах:
@дахин ачаалах python /home/pi/weatherHAT/getWeather.py
Энэ нь ажиллах ёстой гэж би бодож байна - би систем дээрээ cron хараахан тохируулаагүй байна.
Энэ бол бараг л -
Миний хэлсэнчлэн энэ бол миний анхны питон програмуудын нэг бөгөөд илүү сайн мэддэг хүн үүнийг хийх илүү сайн аргыг олж харах болно гэдэгт би итгэлтэй байна.
Би үүнд зөвхөн хязгаарлагдмал туршилт хийсэн - "Цас", "Бороо", "Аадар бороо" -ны ажлыг би одоог хүртэл харсан.
Яаж зохицуулахаа мэдэхгүй байгаа зарим нөхцөл байдал байдаг.
Алхам 4: Шинэчилсэн мэдээлэл: Openweathermap API
2020 оны 9 -р сард би https://openweathermap.org API -ийг ашиглахын тулд скриптийг шинэчилсэн.
ТАЙЛБАР: Энэ бол миний хувьд "хурдан" засвар байсан бөгөөд хязгаарлагдмал туршилт хийсэн ((Энэ нь сүүлийн хэдэн өдөр үүлэрхэг байсан бөгөөд үүл, борооны дэлгэц л харагдаж байна) - Би бүх нөхцөлийг олж авсан гэж бодож байна. Дэлгэц, энэ засварыг "хурдан" хийснээс болж би хосыг санаж байсан байх. Үүнийг хэлэхэд, хэрэв та ямар нэг асуудал байгаа гэж бодож байвал сэтгэгдлээ үлдээгээрэй, цаг гарвал би үүнийг авч үзэх болно, эсвэл таныг зөв чиглэлд зааж өгөхийг хичээгээрэй. *
Та дээрх холбоосыг ашиглан API түлхүүрт бүртгүүлэх шаардлагатай болно, та хотыг байрлуулах скриптийг засварлахдаа түлхүүр авах газрыг харах болно. Зүгээр л хуулж тавь, тэгвэл та сайн байх ёстой.
Бусад тэмдэглэл:
Энэ скрипт нь одоо байгаа API -ийн талаархи "Одоогийн цаг агаарын өгөгдлийн API" мэдээллийг ашигладаг:
openweathermap.org/current Анхаарах нэг зүйл бол та хот, муж, улсыг ашиглаж болно.
IE: "Дейтон" хот нь "Дейтон, ӨХ, АНУ" болж, муж, улсын кодууд хоёулаа том үсгээр бичигдсэн болохыг анхаарна уу. API нь зөвхөн "Dayton, OH" ашиглаж болно гэж хэлдэг боловч үүнийг хийх үед скриптээс алдаа гарсан бөгөөд энэ нь хурдан шийдэгдсэн тул би яагаад гэдгийг нь судалж үзээгүй. Тиймээс би "хот, муж, улс" -ыг ашиглахыг зөвлөж байна.
Хэрэв та ямар нэг шалтгаанаар хотын нэрийг ашиглан сайн мэдээлэл аваагүй бол та хотын ID -г хайж, өргөрөг, уртраг эсвэл зип кодыг ашиглаж болно. Аль ч тохиолдолд URL -ийг өөрчлөх шаардлагатай болно, хэрэв та API вэбсайтын баруун талд байгаа линк дээр дарвал URL нь ямар байх ёстойг харуулах болно.
Та скрипт дэх URL хаягийг өөрчлөх хэрэгтэй.
Илүү их тэмдэглэл: 2020 оны 10 -р сарын 3
@Itsmedoofer нь номын сангийн python-хүсэлтүүдийг шинэ шинэчлэлтээр суулгах шаардлагатай байгааг онцоллоо. Надад энэ хэрэгтэй байсан гэдэгт би итгэлгүй байна (магадгүй үүнийг олон жилийн өмнө суулгасан байх эсвэл python -ийн өөр өөр хувилбарууд өөр өөр номын санг анхдагчаар суулгасан байж магадгүй юм). Тиймээс хэрэв скрипт нь python-хүсэлтийн талаар алдаа гаргавал засахад хялбар байдаг.
Энэ командыг CLI: python -m pip суулгах хүсэлтэд бичнэ үү
мөн чи сайн байх ёстой.
Үүнийг хурдан зассан гэж найдаж байна, магадгүй нэг л өдөр би үүнийг илүү сайн цэвэрлэхээр ажиллаж магадгүй юм.
Шинэчлэлт (2020 оны 10 -р сарын 6) Github татах хүсэлтийг хүлээн авлаа, анхны CyntechUK анхны репозитор одоо энэ скриптийг багтаасан болно. https://github.com/CyntechUK/WeatherHAT Boeerb хэрэглэгч одоогоор харуулаагүй байгаа зарим нөхцлийг хэрхэн харуулах талаар зарим санаа, түүнчлэн ашиглах бусад санаануудтай. Тиймээс энэ репозиторыг анхаарч үзээрэй. Тэгээд бүх зүйл тохиолдох болно гэж найдаж байна.
Шинэчлэлт: (2020 оны 10 -р сарын 8) Цаг агаарын нээлттэй газрын зураг дээр API -ийг тохируулах, ашиглах талаар богино хэмжээний заавар бий. Https://openweathermap.org/appid Эхлэхэд тохиромжтой газар.
Зөвлөмж болгож буй:
I2C / IIC LCD дэлгэц - Arduino ашиглан SPI -IIC модулийг ашиглан I2C LCD дэлгэц рүү SPI LCD ашиглах: 5 алхам
I2C / IIC LCD дэлгэц | IUC LCD дэлгэц дээр SPI LCD дэлгэцийг SPI -ийг IIC модулийг ашиглан Arduino ашиглан ашиглаарай: Сайн байна уу залуусаа, ердийн SPI LCD 1602 -ийг холбоход хэт олон утас байдаг тул үүнийг arduino -той холбоход маш хэцүү боловч зах зээл дээр боломжтой нэг модуль байдаг. SPI дэлгэцийг IIC дэлгэц болгон хөрвүүлэх тул та зөвхөн 4 утас холбох хэрэгтэй
Том ST7920 дэлгэц ашиглан цаг агаарын станц: 4 алхам
Том ST7920 дэлгэц ашиглан цаг агаарын станц: Эрхэм хүндэт найз нөхөд, өөр зааварчилгаанд тавтай морил! Энэхүү гарын авлагад бид энэхүү том LCD дэлгэцийг анх харах бөгөөд түүнтэй хамт температур, чийгшлийн дэлгэц бүтээх гэж байна. Би үргэлж диспетэй төстэй дэлгэцийг олж мэдэхийг хүсч байсан
Arduino ашиглан цаг агаарын энгийн станцыг хэрхэн яаж хийх вэ: 6 алхам (зурагтай)
Arduino ашиглан энгийн цаг уурын станцыг хэрхэн яаж хийх вэ: Сайн байна уу залуусаа, энэ зааварт би DHT11 мэдрэгч ба Arduino ашиглан температур, чийгшлийг мэдрэх энгийн цаг уурын станц хэрхэн хийх талаар тайлбарлах болно. Энэхүү зааварчилгааг эхлүүлэхийн өмнө та үүнийг мэдэж байх ёстой
IoT хялбар болсон: Алсын цаг агаарын мэдээллийг авах: Хэт ягаан туяа ба агаарын температур ба чийгшил: 7 алхам
IoT хялбар болгосон: Цаг агаарын алсын мэдээллийг авах: Хэт ягаан туяа ба агаарын температур ба чийгшил: Энэхүү заавар дээр бид алсын мэдээллийг хэт ягаан туяа (хэт ягаан туяа), агаарын температур, чийгшил болгон авах болно. Эдгээр өгөгдөл нь маш чухал бөгөөд ирээдүйд цаг уурын станцад ашиглагдах болно
Бөөрөлзгөнө Pi болон Weewx ашиглан 5 -аас 1 цаг агаарын станц (бусад цаг агаарын станцууд нийцтэй байдаг): 5 алхам (зурагтай)
Acurite 5 in 1 цаг уурын станц нь Raspberry Pi болон Weewx -ийг ашигладаг (бусад цаг уурын станцууд хоорондоо нийцтэй байдаг): Би Acurite 5 -ийг 1 цаг уурын станц худалдаж аваад би хол байхдаа гэртээ байгаа цаг агаарыг шалгахыг хүсч байсан. Гэртээ ирээд үүнийг тохируулсны дараа би дэлгэцээ компьютерт холбох эсвэл тэдний ухаалаг зангилааг худалдаж авах ёстой гэдгээ ойлгосон