Mundarija:
- 1 -qadam: uskunani tayyorlash
- 2 -qadam: SSH -ni yoqish
- 3 -qadam: Cloud4RPi -ni o'rnatish
- 4 -qadam: Sensorni ulash
- 5 -qadam: Sensor o'qilishini bulutga yuborish
- 6 -qadam: jadvallar va signallar
Video: Raspberry Pi yordamida harorat va namlik monitoringi: 6 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Yoz keladi va konditsioner bo'lmaganlar uy ichidagi atmosferani qo'lda boshqarishga tayyor bo'lishlari kerak. Bu postda men inson farovonligining eng muhim parametrlarini o'lchashning zamonaviy usulini tasvirlayman: harorat va namlik. Bu to'plangan ma'lumotlar bulutga yuboriladi va u erda qayta ishlanadi.
Men Raspberry Pi 1 taxtasi va DHT22 sensoridan foydalanmoqdaman. Siz Internet, GPIO va Python -ga ega bo'lgan har qanday kompyuterda xuddi shunday qilishingiz mumkin. Bundan arzon DHT11 sensori ham yaxshi ishlaydi.
1 -qadam: uskunani tayyorlash
Eng boshidan boshlaylik, chunki men Raspberry Pi -ni uzoq vaqt ishlatmaganman.
Bizga kerak bo'ladi:
- Raspberry Pi taxtasi (yoki boshqa IoT-ga asoslangan platforma).
- SD yoki microSD karta (platformaga qarab).
- Micro-USB orqali 5V/1A.
- LAN kabeli, Internetga ulanishni ta'minlaydi.
- HDMI displeyi, RCA displeyi yoki UART porti (SSH -ni yoqish uchun).
Birinchi qadam - Raspbian -ni yuklab olish. Men Lite versiyasini tanladim, chunki men displey o'rniga SSHdan foydalanmoqchiman, oxirgi marta qilganimdan beri hamma narsa o'zgardi: endi Etcher deb nomlangan ajoyib dasturiy ta'minot mavjud, u mukammal ishlaydi va ajoyib dizaynga ega..
Rasm yozish tugagandan so'ng, men SD -kartani Pi -ga joylashtirdim, LAN va quvvat kabellarini uladim va bir muncha vaqt o'tgach, yo'riqnoma yangi qurilmani ro'yxatdan o'tkazdi.
2 -qadam: SSH -ni yoqish
SSH sukut bo'yicha o'chirilgan. Men UART-USB konvertoridan foydalanishim yoki qobiqqa kirish va SSH-ni yoqish uchun displeyni ulashim mumkin.
Qayta ishga tushirilgandan so'ng, men nihoyat kiraman. Birinchi navbatda, yangilaylik:
sudo apt update && sudo apt upgrade -y
Keling, bu yangi qurilmani Bulutga ulaylik.
3 -qadam: Cloud4RPi -ni o'rnatish
Men IoT uchun mo'ljallangan Cloud4RPi deb nomlangan bulutli platformani sinab ko'rishga qaror qildim.
Hujjatlarga ko'ra, uni ishga tushirish uchun bizga quyidagi paketlar kerak bo'ladi:
sudo apt install git python python -pip -y
Mijozlar kutubxonasi bitta buyruqda o'rnatilishi mumkin:
sudo pip cloud4rpi -ni o'rnatadi
Endi uning ishlashini ta'minlash uchun bizga namuna kodi kerak.
git klon https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python && cd cloud4rpi-raspberrypi-python git klon https://gist.github.com/f8327a1ef09ceb1ef142fa68701270de.git e && mv e/mv e/mv && rmdir -re
Minimal.py -ni ishga tushirishga qaror qildim, lekin menga soxta ma'lumotlar yoqmaydi. Yaxshiyamki, men bu misolda tashxis ma'lumotlarini haqiqatga aylantirishning oson yo'lini payqadim. Import bo'limiga yana bitta import qo'shing:
rpi importidan *
Keyin soxta ma'lumotlarni ta'minlaydigan bu funktsiyalarni o'chiring (rpi.py ularni hozir aniqlaydi):
def cpu_temp ():
qaytish 70 def ip_address (): '8.8.8.8' qaytarish host_name (): 'hostname' qaytish def os_name (): return 'osx'
Endi bizga Cloud4RPi -ga qurilmalarni hisoblar bilan bog'lash imkonini beradigan belgi kerak. Uni olish uchun cloud4rpi.io -da hisob yarating va ushbu sahifadagi "Yangi qurilma" tugmasini bosing. Minimal.py faylidagi _YOUR_DEVICE_TOKEN_ qatorini qurilmangiz belgisi bilan almashtiring va faylni saqlang. Endi biz birinchi ishga tushirishga tayyormiz.
python minimal.py
Qurilma sahifasini oching va u erda ma'lumotlar mavjudligini tekshiring.
Endi haqiqiy ma'lumotlarga o'tamiz.
4 -qadam: Sensorni ulash
Bizga kerak bo'ladi:
- DHT22 yoki DHT11 namlik sensori
- Yuk ko'tarish qarshiligi (5-10 KΩ)
- Simlar
DHT22 sensori bir vaqtning o'zida harorat va namlikni o'lchaydi. Aloqa protokoli standartlashtirilmagan, shuning uchun uni raspi -configda yoqishning hojati yo'q - oddiy GPIO pin etarli.
Ma'lumot olish uchun men DHT datchiklari uchun Adafruit -ning ajoyib kutubxonasidan foydalanaman, lekin u ishlamasligi mumkin. Men bir marta kodda g'alati doimiy kechikish topdim, bu mening uskunam uchun ishlamadi va ikki yildan keyin tortishish so'rovim hali ham kutilmoqda. Men taxtalarni aniqlashning doimiy parametrlarini ham o'zgartirdim, chunki BCM2835 bilan Raspberry Pi 1 hayratlanarli darajada Raspberry Pi 3 sifatida aniqlandi. Agar bu to'g'ri bo'lsa edi … Shunday qilib, men vilkalarimdan foydalanishni maslahat beraman. Agar siz u bilan biron bir muammoga duch kelsangiz, iltimos, asl omborni sinab ko'ring, ehtimol u kimdir uchun ishlaydi, lekin men ulardan emasman.
git klon https://github.com/Himura2la/Adafruit_Python_DHT…. Adafruit_Python_DHT
Kutubxona C tilida yozilganligi uchun kompilyatsiya talab qilinadi, shuning uchun sizga build-essential va python-dev paketlari kerak bo'ladi.
sudo apt install build-essential python-dev -ysudo python setup.py install
Paketlar o'rnatilayotganda, DHT22 ni rasmda ko'rsatilgandek ulang.
Va sinab ko'ring:
cd ~ python -c "Adafruit_DHT ni d sifatida import qilish; d.read_retry ni chop etish (d. DHT22, 4)"
Agar siz (39.20000076293945, 22.600000381469727) kabi narsalarni ko'rsangiz, shuni bilingki, bu Selsiydagi namlik va foizlarda.
Endi hamma narsani birgalikda yig'amiz!
5 -qadam: Sensor o'qilishini bulutga yuborish
Minimal.py -ni asos sifatida ishlataman va unga DHT22 o'zaro ta'sirini qo'shaman.
cd bulut4rpi-raspberrypi-python
cp minimal.py ~/cloud_dht22.py cp rpi.py ~/rpi.py cd vi cloud_dht22.py
DHT22 harorati va namligini bitta qo'ng'iroqda qaytarganligi sababli, men ularni butun dunyo bo'ylab saqlayman va so'rovda faqat bir marta yangilayman, chunki ularning orasidagi kechikish 10 sekunddan oshadi. DHT22 ma'lumotlarini oladigan quyidagi kodni ko'rib chiqing:
Adafruit_DHT import qilish
temp, hum = Yo'q, None last_update = time.time () - 20 def update_data (): global last_update, hum, temp if time.time () - last_update> 10: hum, temp = Adafruit_DHT.read_retry (Adafruit_DHT. DHT22, 4) last_update = time.time () def get_t (): update_data () qaytish davri (temp, 2) agar temp bo'lmasa Hech kim yo'q get_h (): update_data () qaytish davri (hum, 2) Boshqa hech kim Yo'q
Ushbu kodni mavjud importdan keyin kiriting va o'zgaruvchilar bo'limini o'zgartiring, shunda u yangi funktsiyalarni ishlatadi:
o'zgaruvchilar = {
'DHT22 Temp': {'turi': 'raqamli', 'bog'lanish': get_t}, 'DHT22 namligi': {'turi': 'raqamli', 'bog'lash': get_h}, 'CPU harorati': {'turi ':' raqamli ',' bog'lash ': cpu_temp}}
Ma'lumot uzatishni boshlash uchun qizil tugmani bosing:
python bulut_dht22.py
Keyin qurilma sahifasini tekshirishingiz mumkin.
Siz uni avvalgidek qoldirishingiz mumkin, lekin men hamma narsaga xizmat ko'rsatishni afzal ko'raman. Bu skriptning doimo ishlashini ta'minlaydi. To'liq avtomatlashtirilgan skript yordamida xizmat yaratish:
wget -O https://github.com/cloud4rpi/cloud4rpi-raspberrypi-python/blob/master/service_install.sh | sudo bash -s cloud_dht22.py
Xizmatni ishga tushirish:
sudo service cloud4rpi boshlanishi
Va tekshirish:
pi@raspberrypi: ~ $ sudo xizmati cloud4rpi holati -l
● cloud4rpi.service-Cloud4RPi demoni yuklandi: yuklandi (/lib/systemd/system/cloud4rpi.service; yoqilgan) Faol: faol (ishlayapti) Chor 2017-05-17 20:22:48 UTC; 1 daqiqa oldin Asosiy PID: 560 (python) CGroup: /system.slice/cloud4rpi.service └─560/usr/bin/python /home/pi/cloud_dht22.pyMay 17 May 20:22:51 raspberrypi python [560]: nashriyot iot -hub/messages: {'type': 'config', 'ts': '2017-05-17T20… y'}]} 17 may 20:22:53 raspberrypi python [560]: iot-hub/xabarlar nashr etilmoqda: {'type': 'data', 'ts': '2017-05-17T20: 2… 40'}} 17 may 20:22:53 raspberrypi python [560]: iot-hub/xabarlarni nashr qilish: {'turi': 'tizim', 'ts': '2017-05-17T20….4'}}
Agar hamma narsa kutilganidek ishlayotgan bo'lsa, biz Cloud4RPi platformasining imkoniyatlaridan foydalanib, ma'lumotlarni qayta ishlashimiz mumkin.
6 -qadam: jadvallar va signallar
Birinchidan, keling, o'zgaruvchilar qanday o'zgarishini bilib olaylik. Buni yangi Boshqarish panelini qo'shish va kerakli jadvallarni qo'yish orqali amalga oshirish mumkin.
Bu erda qila oladigan yana bir narsa - bu ogohlantirishni o'rnatish. Bu xususiyat o'zgaruvchining xavfsiz oralig'ini sozlash imkonini beradi. Diapazon oshib ketishi bilan u elektron pochta xabarini yuboradi. Boshqarish paneli tahrirlash sahifasida siz ogohlantirishlarga o'tishingiz va sozlashni o'rnatishingiz mumkin.
Shundan so'ng, mening xonamdagi namlik hech qanday sababsiz tez pasaya boshladi va tez orada signal eshitildi.
Siz Cloud4RPi -ni Python -ni bajaradigan har qanday uskuna bilan bepul ishlatishingiz mumkin, men hozir esa havo namlagichini qachon yoqish kerakligini doim bilaman va hatto uni Cloud4RPi orqali masofadan boshqarish o'rni bilan ulashim mumkin. Men issiqlikka tayyorman! Xush kelibsiz, Yoz!
Tavsiya:
NODE MCU VA BLYNK yordamida harorat va namlik monitoringi: 5 qadam
NODE MCU VA BLYNK yordamida harorat va namlik monitoringi: Salom bolalar, bu ko'rsatmada biz MCT va BLYNK tugunlari yordamida DHT11-harorat va namlik sensori yordamida atmosfera harorati va namligini qanday olishni bilib olamiz
ESP-01 va DHT va AskSensors Cloud yordamida harorat va namlik monitoringi: 8 qadam
ESP-01 & DHT va AskSensors Cloud yordamida harorat va namlikni kuzatish: Bu yo'riqnomada biz IOT-MCU/ESP-01-DHT11 platasi va AskSensors IoT platformasi yordamida harorat va namlikni o'lchashni o'rganamiz. Men ushbu dastur uchun IOT-MCU ESP-01-DHT11 modulini tanlayman, chunki u
Blynk yordamida harorat va namlik monitoringi: 6 qadam
Blynk yordamida harorat va namlik monitoringi: Ushbu qo'llanmada DHT11 yordamida harorat va namlikni kuzatish va BlynkComponentlari yordamida ma'lumotlarni bulutga yuborish kerak: Arduino UnoDHT11 harorat va namlik sensori ESP8266-01 WiFi moduli
AWS-ESP32 yordamida harorat va namlik monitoringi: 8 qadam
AWS-ESP32 yordamida harorat va namlikni kuzatish: Ushbu qo'llanmada biz harorat va namlik sensori yordamida har xil harorat va namlik ma'lumotlarini o'lchaymiz. Shuningdek, siz ushbu ma'lumotlarni AWS -ga qanday yuborishni bilib olasiz
SHT25 va Raspberry Pi yordamida harorat va namlik monitoringi: 5 qadam
SHT25 va Raspberry Pi yordamida harorat va namlik monitoringi: Yaqinda biz harorat va namlikni kuzatishni talab qiladigan turli loyihalarda ishladik, so'ngra bu ikki parametr tizimning ish samaradorligini baholashda hal qiluvchi rol o'ynashini angladik. Har ikkisi ham indusda