Mundarija:

Raspberry Pi yopiq iqlimni nazorat qilish va nazorat qilish tizimi: 6 qadam
Raspberry Pi yopiq iqlimni nazorat qilish va nazorat qilish tizimi: 6 qadam

Video: Raspberry Pi yopiq iqlimni nazorat qilish va nazorat qilish tizimi: 6 qadam

Video: Raspberry Pi yopiq iqlimni nazorat qilish va nazorat qilish tizimi: 6 qadam
Video: Вздулся аккумулятор 2024, Noyabr
Anonim
Raspberry Pi yopiq iqlimni nazorat qilish va nazorat qilish tizimi
Raspberry Pi yopiq iqlimni nazorat qilish va nazorat qilish tizimi
Raspberry Pi yopiq iqlimni nazorat qilish va nazorat qilish tizimi
Raspberry Pi yopiq iqlimni nazorat qilish va nazorat qilish tizimi

Odamlar o'z uylarida qulay bo'lishni xohlashadi. Bizning hududimizdagi iqlim o'zimizga mos kelmasligi uchun, biz ichki muhitni sog'lom saqlash uchun ko'plab asboblardan foydalanamiz: isitgich, havo sovutgichi, namlagich, namlagich, tozalash moslamasi va boshqalar. Hozirgi vaqtda avtomatika bilan jihozlangan ba'zi qurilmalarni topish odatiy holdir. atrof -muhitni his qilish va o'zlarini nazorat qilish rejimi. Biroq:

  • Ularning ko'pchiligi qimmatga tushadi/ pulga arzimaydi.
  • Oddiy mexanik qismlarga qaraganda ularning elektr zanjirlarini sindirish osonroq va almashtirish qiyinroq
  • Uskunalar ishlab chiqaruvchining ilovasi tomonidan boshqarilishi kerak. Sizning uyingizda bir nechta aqlli qurilmalar bo'lishi odatiy holdir va ularning har biri o'z ilovasiga ega. Ularning echimi - bu dasturni Alexa, Google Assistant va IFTTT kabi platformalarga birlashtirish, shunda bizda "markazlashgan" nazoratchi bo'ladi.
  • Eng muhimi, ishlab chiqaruvchilar bizning ma'lumotlarimizga ega, Google/Amazon/IFTTT/va boshqalar bizning ma'lumotlarimizga ega. Biz yo'q. Siz maxfiylik haqida qayg'urmasligingiz mumkin, lekin ba'zida hammamiz sizning yotoqxonangizdagi namlikni ko'rib chiqishni xohlaymiz, masalan, derazalarni qaysi vaqtda ochishni hal qilamiz.

Ushbu qo'llanmada men Raspberry Pi-ga asoslangan nisbatan arzon narxdagi yopiq iqlim boshqaruvchisi prototipini quraman. RPi tashqi qurilmalar bilan SPI/I2C/USB interfeyslari orqali aloqa o'rnatadi:

  • Atmosfera sensori harorat, namlik va havo bosimini yig'ish uchun ishlatiladi.
  • Yuqori aniqlikdagi havo sifati sensori havo sifati indeksini (AQI) hisoblash uchun ishlatiladigan atmosfera zarrachalari (PM2.5 va PM10) ma'lumotlarini beradi.

Nazoratchi olingan ma'lumotlarni qayta ishlaydi va qo'llab -quvvatlanadigan WiFi Smart vilkalarini boshqaradigan IFTTT Webhook avtomatlashtirish xizmatiga so'rov yuborish orqali qurilma harakatlarini ishga tushiradi.

Prototip shunday tuzilganki, unga boshqa datchiklar, asboblar va avtomatlashtirish xizmatlarini osongina qo'shish mumkin.

1 -qadam: Uskuna

Uskuna
Uskuna
Uskuna
Uskuna
Uskuna
Uskuna

Buni qurish uchun tavsiya etilgan uskunalar:

  1. WiFi bilan Raspberry Pi (har qanday versiya). Men buni RPi B+yordamida quraman. RPi ZeroW juda yaxshi ishlaydi va ~ 15 dollar turadi
  2. Harorat, namlik, havo bosimi uchun BME280 sensori ~ 5 $
  3. Nova SDS011 yuqori aniqlikdagi lazer PM2.5/PM10 havo sifatini aniqlash sensori moduli ~ 25 $
  4. LED/LCD displey. Men SSD1305 2.23 dyuymli OLED ekranini ~ 15 $ ishlatardim
  5. Ba'zi WiFi/ZigBee/Z-Wave aqlli rozetkalari. Har biri 10-20 dollar
  6. Mexanik kalitli havo tozalovchi, namlagich, namlagich, isitgich, sovutgich va boshqalar. Masalan, men bu darslikni tayyorlash uchun arzon havo tozalagichdan foydalandim

Yuqoridagi umumiy xarajat <100 $ ni tashkil qiladi, bu, aytaylik, 200 dollar turadi.

2 -qadam: Raspbery Pi -ni ulash

Raspbery Pi -ni ulash
Raspbery Pi -ni ulash

O'chirish diagrammasi BMI280 sensori bilan RPi -ni I2C interfeysi va OLED displeyli HAT -ni SPI interfeysi yordamida qanday ulashni ko'rsatadi.

Waveshare OLED HAT GPIO ustiga biriktirilishi mumkin edi, lekin uni boshqa tashqi qurilmalar bilan bo'lishish uchun sizga GPIO ajratuvchi kerak. Orqa tarafdagi rezistorlarni lehimlash orqali I2C dan foydalanishni sozlash mumkin edi.

SSD1305 OLED HAT haqida qo'shimcha ma'lumotni bu erda topishingiz mumkin.

I2C va SPI interfeyslarini RPi -da yoqish kerak:

sudo raspi-config

Nova SDS011 chang sensori RPi-ga USB port orqali ulangan (Serial-USB adapteri bilan).

3 -qadam: Sensorlardan ma'lumotlarni yig'ish

Oddiy ko'rinadigan atmosfera ma'lumotlari BME280 sensoridan piton skriptidan yig'iladi.

21-Noyabr-20 19:19:25-INFO-kompensatsiyalangan o'qish (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, vaqt tamg'asi = 2020-11-21 19: 19: 25.604317, harorat = 20.956 ° C, bosim = 1019.08 gPa, namlik = 49.23 % rH)

Chang sensori ma'lumotlari biroz ko'proq ishlov berishni talab qiladi. Sensor moduli zarrachali moddalarni aniqlash uchun ba'zi havo namunalarini so'rib oladi, shuning uchun ishonchli natijalarga erishish uchun u bir muddat (30s) ishlashi kerak. Mening kuzatishlarimga ko'ra, men oxirgi 3 ta namunaning o'rtacha qiymatini hisobga olaman. Jarayon ushbu skriptda mavjud.

21 -Nov -20 19:21:07 - DEBUG - 0. PM2.5: 2.8, PM10: 5.9

21-Nov-20 19:21:09- DEBUG- 1. PM2.5: 2.9, PM10: 6.0 21-Nov-20 19:21:11- DEBUG- 2. PM2.5: 2.9, PM10: 6.0 21- 20-noyabr 19:21:13- DEBUG- 3. PM2.5: 2.9, PM10: 6.3 21-Nov-20 19:21:15- DEBUG- 4. PM2.5: 3.0, PM10: 6.2 21-Nov- 20 19:21:17 - DEBUG - 5. PM2.5: 2.9, PM10: 6.4 21 -Nov -20 19:21:19 - Debug - 6. PM2.5: 3.0, PM10: 6.6 21 -Nov -20 19: 21: 21 - DEBUG - 7. PM2.5: 3.0, PM10: 6.8 21 -Nov -20 19:21:23 - DEBUG - 8. PM2.5: 3.1, PM10: 7.0 21 -Nov -20 19:21: 25 - DEBUG - 9. PM2.5: 3.2, PM10: 7.0 21 -Nov -20 19:21:28 - DEBUG - 10. PM2.5: 3.2, PM10: 7.1 21 -Nov -20 19:21:30 - DEBUG - 11. PM2.5: 3.2, PM10: 6.9 21 -Nov -20 19:21:32 - DEBUG - 12. PM2.5: 3.3, PM10: 7.0 21 -Nov -20 19:21:34 - DEBUG - 13. PM2.5: 3.3, PM10: 7.1 21 -Nov -20 19:21:36 - DEBUG - 14. PM2.5: 3.3, PM10: 7.1

Chang sensori faqat PM2.5 va PM10 indekslarini beradi, AQI ni hisoblash uchun bizga python-aqi moduli kerak:

aqi_index = aqi.to_aqi ([(aqi. POLLUTANT_PM25, chang_data [0]), (aqi. POLLUTANT_PM10, chang_data [1])])

Ma'lumot yig'ish, ko'rsatish va asboblarni boshqarish bir vaqtning o'zida va asenkron tarzda amalga oshiriladi. Ma'lumotlar mahalliy ma'lumotlar bazasida saqlanadi. Agar atrof -muhit juda tez o'zgarmasa, ularni tez -tez ishlatishimiz shart emas. Men uchun 15 daqiqalik interval etarli. Bundan tashqari, chang sensori moduli ichkarida chang to'playdi, shuning uchun tozalash vazifasidan qochish uchun uni ortiqcha ishlatmaslik kerak.

4 -qadam: Uyni avtomatlashtirish xizmatini sozlash

Uyni avtomatlashtirish xizmatini sozlash
Uyni avtomatlashtirish xizmatini sozlash
Uyni avtomatlashtirish xizmatini sozlash
Uyni avtomatlashtirish xizmatini sozlash

Uyda avtomatlashtirish uchun juda ko'p platformalar mavjud va sizda aqlli soket mavjud platformani o'rnatish kerak. Agar siz maxfiylik haqida qayg'urmoqchi bo'lsangiz, o'z tizimingizni o'rnatishingiz kerak. Aks holda, ko'pchilik WiFi aqlli soketlari qo'llab -quvvatlaydigan mashhur platformalardan foydalanishingiz mumkin: Google Assistant, Alexa yoki IFTTT. O'zaro aloqada bo'lish uchun API bilan rozetkali platformani tanlashga harakat qiling (Webhook bu maqsad uchun juda mos keladi)

Men bu darslikda IFTTT -dan foydalanaman, chunki uni hatto yangi boshlanuvchilar uchun ham ishlatish juda oson. Ammo shuni bilingki: 1. IFTTT -ni qo'llab -quvvatlamaydigan juda ko'p aqlli rozetkalar bor. 2. Men yozganimda, IFTTT sizga faqat 3 ta applet (avtomatlashtirish vazifalari) ni bepul yaratishga imkon beradi, bu faqat 1 uchun etarli. qurilma.

Bu qadamlar:

1. Webhook xizmatidan foydalanib, jihozni yoqish va o'chirish uchun IFTTT -da ikkita applet yarating. Tafsilotlarni bu erda topishingiz mumkin.

2. API kalitini nusxalash va uni python skriptiga nusxalash. Xavfsizlik nuqtai nazaridan uni alohida faylda saqlashni tavsiya qilaman.

3. Bosh skriptda boshqaruv mantig'ini/parametrlarini aniqlang.

5 -qadam: Natijalar

Natijalar
Natijalar
Natijalar
Natijalar
Natijalar
Natijalar
Natijalar
Natijalar

OK, endi biz tizimni sinovdan o'tkazamiz.

OLED displeyda joriy harorat, namlik va hisoblangan havo sifati indeksi (AQI) ko'rsatilgan. Shuningdek, u oxirgi 12 soat ichida minimal va maksimal qiymatni ko'rsatadi.

Bir necha kun ichida AQIning vaqtli ma'lumotlari qiziqarli narsani ko'rsatadi. AQI naqshidagi keskinliklarga e'tibor bering? Bu kuniga ikki marta sodir bo'lgan, kichik tepalik soat 12:00 atrofida va eng yuqori cho'qqisi soat 19:00 atrofida. Xo'sh, siz taxmin qildingizki, o'sha paytda biz ovqat pishirganimizda, atrofimizga juda ko'p zarrachalarni tarqatib yuborgan edik. Bizning kundalik faoliyatimiz ichki muhitga qanday ta'sir qilishini ko'rish qiziq.

Bundan tashqari, rasmdagi oxirgi ko'tarilish avvalgilariga qaraganda ancha qisqa davom etdi. shunda biz tizimga havo tozalagichni qo'shamiz. RPi iqlim boshqaruvchisi AQI> 50 bo'lganda PURIFIER_ON so'rovini va AQI <20 bo'lganda PURIFIER_OFF yuboradi. Siz o'sha paytda IFTTT Webhook tetikini ko'rishingiz mumkin.

6 -qadam: Xulosa

Bo'ldi shu!

To'plangan ma'lumotni havo isitgichlari, sovutgichlar, namlagichlar va boshqalarni boshqarish uchun ham ishlatish mumkin. Siz shunchaki ko'proq aqlli rozetkalarni sotib olishingiz kerak va har bir eski qurilma "aqlli" bo'lib qoladi.

Agar siz ko'plab qurilmalarni boshqarishni xohlasangiz, qaysi uyni avtomatlashtirish xizmatidan foydalanishni diqqat bilan o'ylab ko'rishingiz kerak bo'ladi. Men ochiq manbali uy avtomatlashtirish platformasini o'rnatishni taklif qilardim, lekin agar bu juda murakkab bo'lsa, Google Assistant va IFTTT Webhook kabi oddiy echimlar yoki Zigbee aqlli soketlaridan foydalanish mumkin.

Ushbu prototipning to'liq bajarilishini Github omboridan topishingiz mumkin:

github.com/vuva/IndoorClimateControl

Maza qiling !!!

Tavsiya: