Mundarija:
- 1 -qadam: SD -kartani va Raspberry PI -ni o'rnating
- 2 -qadam: WeatherHAT kutubxonalarini o'rnating
- 3-qadam: Weather-api va GetWeather skriptini o'rnatish
- 4 -qadam: Yangilangan ma'lumotlar: Openweathermap API
Video: Raspberry PI va Cyntech WeatherHAT yordamida oddiy ob -havo ko'rsatkichi: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:23
* 2019 yilda Yahoo API -ni o'zgartirdi va u ishlamay qoldi. Men o'zgarishdan bexabar edim. 2020 yil sentyabr oyida ushbu loyiha OPENWEATHERMAP API -dan foydalanish uchun yangilandi Quyidagi yangilangan bo'limga qarang, ammo qolgan ma'lumotlar hali ham yaxshi. Yahoo -dagi o'zgarish haqida menga xabar berganingiz uchun tashakkur. *
Yaqinda men Cyntech WeatherHAT -ni sotib oldim, lekin buning uchun dasturiy ta'minot yo'qligidan biroz hafsalam pir bo'ldi.
HAT o'zi yaxshi qurilgan ko'rinadi, yomg'ir tomchilari ko'rinishidagi 6 ko'k LED, momaqaldiroq shaklidagi 6 to'q sariq LED, bulut shaklidagi 6 oq LED. Quyosh uchun 1 (menimcha, RGB LED) - u to'q sariq rangni aks ettiradi (shuning uchun men RGB ekanligimda xato qilishim mumkin). Va 6 ta WS2812 LED (bu RGB:-))
Cyntech -da boshlang'ich qo'llanma mavjud va bu juda yaxshi - HATni o'rnatish va ishlatish oson.
Men hech qanday dasturiy ta'minotni ko'rmaganimdan hayron bo'ldim (boshqa Cyntech tomonidan taqdim etilgan demo). Buni ishlatadigan hech kimni topa olmaganimdan hayron bo'ldim - Balki odamlar harorat va "har xil ma'lumotlarga ega" chiroyli displeyni xohlaydilar. Men uchun bir nechta LED -larni ko'rib, yomg'ir yoki momaqaldiroq yoki bulutli bo'lishini bilish juda yoqimli, agar menga ko'proq ma'lumot kerak bo'lsa, men planshetimga yoki telefonimga qarashim mumkin.:-)
Bir oz ko'proq - bu men birinchi marta pythondan foydalanyapman, men bunga unchalik yaxshi emasman. Ishonchim komilki, pitonni yaxshi biladigan odamlar menga buni yaxshiroq qilish yo'lini aytib berishadi.
Qani boshladik:
Bizga SD -karta kerak (kamida 8 gigabayt)
Raspberry PI (men Zero W dan foydalanayapman) Internetga kirishi kerak.
va bizga Cyntech ob -havo kerakHAT
Agar siz Raspberry PI Zero W -dan foydalansangiz, siz taxtaga sarlavhalar to'plamini lehimlashingiz kerak bo'ladi.
Aks holda, dasturiy ta'minotdan foydalanish va SD -kartani sozlash qobiliyati talab qilinadi.
1 -qadam: SD -kartani va Raspberry PI -ni o'rnating
Siz Raspbian-ning so'nggi versiyasini yuklab olishingiz kerak bo'ladi (Raspbian Stretch March 2018 (2018-03-13))
www.raspberrypi.org/downloads/raspbian/
Men ish stoli nashridan foydalandim, hatto siz men boshimni o'rnatmayman va ko'p narsalarni CLI (buyruq qatori interfeysi) dan ssh orqali bajaraman.
Bu erda topilgan sozlash qo'llanmasiga amal qiling:
www.raspberrypi.org/documentation/installa…
Etcher tugagandan so'ng, SD -kartani chiqarib oling va uni kompyuterga qayta joylashtiring.
* Agar siz boshsiz o'rnatishni rejalashtirmoqchi bo'lsangiz, bu qadamni quyida qilishingiz kerak
Raspberry PI -da SD -kartani ishlatishdan oldin biz SSH va WIFI -ni sozlashimiz kerak. Kartaning BOOT bo'limida tirnoqsiz "ssh" nomli fayl yarating. bu faylda hech narsa bo'lmasligi kerak. PI yuklanganda, u faylni ko'radi va SSH -ni yoqadi.
Shuningdek, biz "wpa_supplicant.conf" nomli fayl yaratishimiz kerak. Bu faylni wifi sozlamalari yordamida tahrir qilishimiz kerak.
Bu shunday ko'rinishi kerak:
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev
update_config = 1 tarmoq = {ssid = "yourwifiSSID" psk = "sizning wifipassword" skan_ssid = 1}
* Agar siz boshsiz o'rnatishni rejalashtirmoqchi bo'lsangiz, buni qilishingiz kerak
Bu amalga oshgandan so'ng, SD -kartani xavfsiz chiqarib oling va Raspberry PI -ga joylashtiring (PIda quvvat yo'qligiga ishonch hosil qiling).
WeatherHAT -ni ulang va Raspberry PI -ni yoqing.
2 -qadam: WeatherHAT kutubxonalarini o'rnating
Ushbu qadam uchun biz "Ishga tushirish" qo'llanmasiga amal qilamiz
guides.cyntech.co.uk/weatherhat/getting-sta…
Agar siz boshsiz o'rnatayotgan bo'lsangiz, ssh [email protected] manziliga o'tishni xohlaysiz
Agar sizda ssh mijozi bo'lmasa - PUTTY yaxshi.
Agar siz klaviatura va monitordan foydalansangiz - yuqoridagi ko'rsatmaga amal qilish yaxshidir, u sizni GUI ish stolidan boshlaydi.
Bu erda muhim qadamlar WS281x kutubxonasi va WeatherHAT kutubxonalarini o'rnatish va har biriga bog'liqlikdir.
sudo apt-get yangilanishi
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 klon https://github.com/ jgarff/rpi_ws281x.git> cd rpi_ws281x scon cd python sudo python setup.py ni o'rnatish
Endi biz I2C yoqilganligiga ishonch hosil qilishimiz kerak.
sudo raspi-config
Qo'llanma raspi-config-ning eski versiyasi uchun yozilgan va "Kengaytirilgan variantlar" ga aytilgan, menimcha "Interfeyslar" bilan almashtirilgan.
I2C -ni yoqgandan so'ng, siz qayta ishga tushirishingiz kerak bo'ladi.
Endi HATni sinovdan o'tkazish vaqti keldi
CD Ob -havo
sudo python cycle.py
Agar hamma narsa yaxshi bo'lsa, siz barcha xususiyatlarni va kamalakni ko'rishingiz kerak.
ctrl-z dasturni to'xtatadi.
*Maxsus eslatmalar: Raspberry PI 3 ning vaqtlari boshqacha ekanligini va kamalak to'g'ri ishlamasligini bilib oldim. Agar sizda bu muammo bo'lsa, uni qanday tuzatish kerak.
github.com/CyntechUK/WeatherHAT/issues/3
guides.cyntech.co.uk/raspberry-pi/assemblin…
Hammasi ishlagandan so'ng, biz keyingi bosqichga o'tishimiz mumkin.
Yangilanish: (2020 yil 6 -oktabr) Bu omborda mening getWeather.py skriptim bor, bu ajoyib yangilik, chunki qiziqish yana paydo bo'ldi va yangi narsalar bo'lishi shart.
3-qadam: Weather-api va GetWeather skriptini o'rnatish
Shunday qilib, men skript uchun CyntechUK -ga PULL so'rovini qo'ydim - umid qilamanki, ular so'rovni qabul qilishadi va siz mening omborimni yuklab olishni o'tkazib yuborishingiz mumkin. (ular mening kodimni kiritishni xohlamasligi mumkin)
(6 oktyabr, 2020) PULL so'rovi ma'qullandi, mening getWeather skriptim endi Weatherhat omboriga kiritilgan.
********* Agar xohlasangiz, bu ma'lumotdan foydalanishingiz mumkin, ammo getWeather.py ob -havo ma'lumoti omboriga kiritilgan ******************* *****************
Mening omborimni bu erda topishingiz mumkin:
github.com/kd8bxp/WeatherHAT/tree/getWeath…
va mening skriptim getWeather.py deb nomlanadi
Agar ular so'rovni qabul qilsalar, sizda bu skript bo'ladi - agar bo'lmasa, siz omborni klonlashingiz kerak bo'ladi.
uy katalogiga (/home/pi) yozing:
git klon https://github.com/kd8bxp/WeatherHAT.git getWeather
bu omborni getWeather deb nomlangan katalogga klonlaydi, keyin biz getWeather filialini tekshirishimiz kerak.
cd getWeather
git checkout getWeather
**********************************************************************
Siz ilgari klonlangan weatherHAT katalogiga CD yozishingiz kerak bo'ladi
Sizning joylashuvingiz uchun getWeather.py skriptini tahrir qilishimiz kerak.
nano getWeather.py
Siz boshlanadigan qatorni ko'rishingiz kerak
joylashuv va qidirish bilan tugaydi (45042) - Bu mening pochta indeksim, u siz o'ylagandek ishlamayotganini aniqladim.
va uning tepasida izoh berilgan chiziq shahar nomi bilan yaxshiroq ishlaydi. Bu, ehtimol siz foydalanmoqchi bo'lgan narsadir. Shunday qilib, pochta indeksiga (#) izoh qoldiring va sharh qoldiring va shahar nomini o'zgartiring.
*********** YAHOO OLDINING MA'LUMOTI - Endi kerak emas ***********
Yahoo ob-havo API-ni o'rash uchun ob-havo-api ishlashi uchun biz yana bitta kutubxonani o'rnatishimiz kerak.
pypi.python.org/pypi/weather-api/0.0.5
O'rnatish oson -
pip ob-havo-api-ni o'rnating
***********************************************************************************
Endi biz skriptni ishga tushirishimiz mumkin:
sudo python getWeather.py va
& Skriptni orqa fonda ishlashiga ruxsat beradi. Skript taxminan 5 daqiqa uxlaydi va keyin biror narsa o'zgarganligini Yahoo Weather -da tekshiradi - agar u displeyni yangilasa. 5 daqiqalik vaqtni o'zgartirish mumkin, bu skriptning pastki qismiga yaqin.
uxlash (60 * 5)
Siz har bir yuklashda skriptni ishga tushiradigan crontab ishini o'rnatishingiz mumkin (buni root sifatida ishlatish kerakligini unutmang).
foydalanish:
sudo crontab -e
kiriting:
@qayta yuklash python /home/pi/weatherHAT/getWeather.py
Menimcha, bu ishlashi kerak - men hali tizimimda cron -ni o'rnatmaganman.
Bu deyarli -
Aytganimdek, bu mening birinchi python dasturlarimdan biri va men bilaman, kim bilsa, buni qilishning yaxshiroq yo'lini ko'radi.
Men bu borada faqat cheklangan sinovlarni o'tkazdim - men hozirgacha "Qor" "Yomg'ir" va "Momaqaldiroq" ishlarini ko'rdim, Men qanday hal qilishni bilmayotgan ba'zi shartlar bor - men g'oyalarni ma'qullayman.
4 -qadam: Yangilangan ma'lumotlar: Openweathermap API
2020 yil sentyabr oyida men https://openweathermap.org API -dan foydalanish uchun skriptni yangiladim.
QAYD: Bu men uchun "tezkor" tuzatish edi va cheklangan sinovdan o'tkazildi - (So'nggi bir necha kun mobaynida bulutli edi va men faqat bulut va yomg'irli displeyni ko'rmoqdaman) - Men ishonamanki, men oson bo'lgan barcha shartlarni o'zlashtirdim. displey, ehtimol bu tuzatish qanchalik tez amalga oshirilgani uchun er -xotinni sog'indim. Aytgancha, agar sizda muammo bor deb o'ylasangiz, iltimos, izoh qoldiring va men buni ko'rib chiqaman - yoki sizni to'g'ri yo'nalishga yo'naltirishga harakat qiling. *
Siz yuqoridagi havola orqali API kalitiga ro'yxatdan o'tishingiz kerak bo'ladi, siz o'z shahringizni joylashtirish uchun skriptni tahrir qilganingizda kalit uchun joy ko'rasiz. Faqat nusxa ko'chiring va joylashtiring, shunda siz yaxshi bo'lishingiz kerak.
Boshqa eslatmalar:
Bu skript endi "Hozirgi ob -havo ma'lumoti API" dan foydalanadi, bu API haqida ma'lumotni bu erda topish mumkin:
openweathermap.org/current Shuni ta'kidlash kerakki, siz shahar, shtat va mamlakatdan foydalanishingiz mumkin.
IE: "Dayton" shahri "Dayton, OH, AQSh" ga aylanadi, shtat va mamlakat kodlari qanday katta harf bilan yozilganiga e'tibor bering. API faqat "Dayton, OH" dan foydalanishi mumkinligini aytadi, lekin men buni qilganimda skriptdan xatolar oldim - va bu tezkor tuzatish bo'lganligi sababli, men buning sababini o'rganmaganman. Shunday qilib, men "shahar, shtat, mamlakat" dan foydalanishni tavsiya qilaman.
Agar biron sababga ko'ra siz shahar nomidan yaxshi ma'lumot olmasangiz, siz shahar identifikatorini qidirishingiz yoki kenglik va uzunlik yoki pochta indeksidan foydalanishingiz mumkin. Har bir holatda, URLni o'zgartirish kerak bo'ladi, agar siz API veb -saytining o'ng tomonidagi havolani bossangiz, u URL nima bo'lishi kerakligini ko'rsatib beradi.
Skriptdagi URL manzilini ham o'zgartirish kerak.
Yana eslatmalar: 2020 yil 3 oktyabr
@Itsmedoofer, ular kutubxona python-so'rovlarini yangi yangilanish bilan o'rnatishlari kerakligini ta'kidladi. Men bunga muhtoj ekanligimga ishonchim komil emas (men uni yillar oldin o'rnatganman yoki pythonning turli xil versiyalari sukut bo'yicha turli kutubxonalarni o'rnatgan bo'lishi mumkin). Shunday qilib, agar skript python-so'rovlari haqida xato qilsa, uni tuzatish oson.
bu buyruqni CLIga kiriting: python -m pip o'rnatish so'rovlari
va siz yaxshi bo'lishingiz kerak.
Umid qilamanki, bu tezda tuzatish edi va ehtimol, bir kun kelib, men uni yaxshiroq tozalash ustida ishlashim mumkin.
Yangilanish (2020 yil 6 -oktabr) Github tortish so'rovi qabul qilindi, asl CyntechUK asl ombori endi bu skriptni o'z ichiga oladi. https://github.com/CyntechUK/WeatherHAT Boeerb foydalanuvchisi hozirda ko'rsatilmagan ba'zi shartlarni, shuningdek foydalanish uchun boshqa g'oyalarni ko'rsatish bo'yicha ba'zi fikrlarga ega. Shunday qilib, bu omborni kuzatib boring. Va umid qilamanki, voqealar sodir bo'ladi.
Yangilanish: (8 -oktabr, 2020 -yil) Ochiq ob -havo xaritasida APIni sozlash va ishlatish bo'yicha qisqa qo'llanma mavjud, https://openweathermap.org/appid Boshlash uchun yaxshi joy.
Tavsiya:
ULN 2003 IC yordamida suv sathi ko'rsatkichi: 4 qadam
ULN 2003 IC yordamida suv sathi indikatori: suv omboridan suv oqishi hamma uchun va har bir xonadon uchun muammo. Bu, shuningdek, elektr energiyasini isrof qilish bilan bir qatorda, ko'p suv isrof bo'lishiga olib keladi va yangi qonunlar qabul qilinsa, hatto tank to'kilganida ham suv isrof qilinishi jazolanishi mumkin
Oddiy oddiy ovoz kuchaytirgichi: 5 qadam
Oddiy oddiy ovoz kuchaytirgichi: Musiqa hayotiy ahamiyatga ega bo'lishi mumkin. Bu qanday his -tuyg'ularni aniqlash, men shaxsan tonna musiqa eshitaman. Bu mening energiyamning siridir. Hatto, sizlar uchun postlar yozayotganda, men musiqaga e'tibor beraman. Shunday qilib, keling, Tran bilan asosiy kuchaytirgich mavzusiga o'tamiz
Raspberry Pi yordamida oddiy vaqt oralig'idagi kamera: 3 qadam
Raspberry Pi-dan foydalangan holda oddiy vaqt oralig'idagi kamera: Bu xabar sizga Raspberry Pi-dan foydalanib, qanday qilib tez suratga oluvchi kamera yaratishingiz mumkinligini ko'rsatadi. Ruxsat, davomiylik va vaqtni skriptda osongina yangilash mumkin. Biz shunga o'xshash narsani ESP32-CAM kartasi yordamida yaratdik, lekin Raspberry Pi kamerasi
Arduino yordamida yorug'lik ko'rsatkichi: 4 qadam
Arduino yordamida yorug'lik ko'rsatkichi: Hammaga salom, bu erda Arduino UNO, LDR va LED -lar yordamida yorug'lik ko'rsatkichi sifatida ishlaydigan yana bir oddiy va qiziqarli Arduino loyihasi. Kerakli qismlar: 1x Arduino (UNO) 1x Breadboard 12x 5mm LEDlar 15x simlar 1x LDR 1x 100Om qarshilik 1x 10kOm qarshilik 1x yaxshi
Ipod yoki boshqa Mp3 pleerni oddiy va baland ovozli kuchaytirgichsiz oddiy uy dinamiklariga ulang !: 4 qadam
Ipod yoki boshqa Mp3 pleerni oddiy va baland ovozli kuchaytirgichsiz oddiy uy ma'ruzachilariga ulang !: Sizda qo'shimcha stereo karnaylar bormi, ular chalg'igan stereolari bilan kelganmi yoki sizda hech qanday sabab yo'qmi? Bu yo'riqnomada men ularni qanday qilib har qanday Mp3 pleerga yoki ovoz porti bo'lgan har qanday qurilmaga ulash mumkinligini ko'rsataman