Mundarija:
- 1 -qadam: Kerakli qismlar / yig'ish
- 2 -qadam: Kodni yuklash va sinov
- 3 -qadam: OpenHAB -dagi o'zgarishlar
Video: OpenHAB -ga ESP8266 orqali HRV harorati (Seriya kodi misoli!): 3 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:29
HRV - OpenHAB uchun simsiz aloqa
Bu ko'rsatma, ayniqsa, HRV (isitish sirkulyatsiya ventilyatsiyasi) tizimiga ega bo'lganlar uchun mo'ljallangan - garchi elektron plataning qismlari, ochiq konfiguratsiya yoki Arduino kodi (masalan, TTL ketma -ket ma'lumotlarini o'qish) sizning shaxsiy loyihalaringizga yordam berishi yoki o'rganish uchun yaxshi xizmat qilishi mumkin. Siz Arduino IDE va ESP8266 chipi haqida etarli ma'lumotga ega ekanligingizni taxmin qilasiz.
Kirish
Quyida HRV tizimiga ulanadigan va uy va uy harorati, boshqaruv paneli harorati va fan tezligini MQTT xabarlari orqali OpenHABga yuboradigan ESP8266 qanday qurilishi ko'rsatilgan. Bu ESP8266-01 platasi bilan ishlash uchun mo'ljallangan (garchi har qanday ESP8266 3.3V versiyasi bilan ishlashi kerak) Agar sizda boshqa sotuvchidan HRV tipidagi o'xshash tizim bo'lsa, siz ma'lumotlarning TTL seriyasi sifatida yuborilganligini yoki yo'qligini aniqlashingiz kerak bo'ladi., ma'lumotlar qanday tuzilish sifatida yuboriladi.
OpenHAB va Mosquitto
ESP8266 kodi OpenHAB (ochiq manbali uy avtomatlashtirish dasturi) va Mosquitto kabi MQTT brokeri bilan ishlash uchun maxsus yozilgan. Qisqartmalar sizni qo'rqitadi, ular qanday ishlashini bilib olgandan keyin ulardan foydalanish juda oddiy. Men OpenHAB -ni NTC C. H. I. P (9 AQSh dollari) kompyuterida ishlataman, lekin ko'p odamlar Raspberry Pi yoki shunga o'xshashlarni ishlatishadi. Ushbu qo'llanmada siz OpenHAB -ni amalga oshirgan deb taxmin qilinadi (agar sizga OpenHAB -ni sozlashda yordam kerak bo'lsa, makeuseof veb -saytidagi ushbu ajoyib maqolani kuzatib boring) Shuningdek, Mosquitto (MQTT broker) va unga tegishli OpenHAB -ni ulash va yuklab olishingiz kerak. Siz buni tarmoqning boshqa joyiga o'rnatishingiz mumkin, lekin ko'pchilik buni oddiy saqlash uchun OpenHAB bilan bir xil mashinaga o'rnatadi.
Mosquitto -ni o'rnatish uchun, ushbu havolani bosib, ishlatilayotgan qurilma turini tanlang va ko'rsatmalarga amal qiling. C. H. I. P Debian (Jessie) dasturini ishga tushirganligi sababli, agar siz uy avtomatizatsiyasi uchun C. H. I. P -dan foydalanayotgan bo'lsangiz, Raspberry Pi ko'rsatmalariga amal qilishingiz mumkin (shuningdek, CLI -dan yuklash uchun CHIP -ni qayta sozlash eng yaxshisi. Buning uchun ko'rsatmalar bor)
OpenHAB va Mosquitto -ni ishga tushirgandan so'ng, Arduino IDE -ni ESP8266 va kod uchun tayyorlashingiz kerak. Birinchidan, siz "PubSubClient" kutubxonasini qo'shishingiz kerak. Arduino IDE -da menyudan Sketch, Kutubxonani qo'shish, Kutubxonalarni boshqarish -ga o'ting Filtrni qidirish maydoniga PubSubClient kiriting, so'ng qidiruv natijasini belgilang va O'rnatish -ni bosing (yozish paytida oxirgi versiya 2.6.0). ESP8266 taxtasini Arduino IDE -ga qo'shish kerak, bu erda ko'rsatmalarga amal qiling
Bu menga nima beradi?
Yuqorida aytib o'tilganidek, ushbu loyiha sizga HRV boshqaruv paneli tomini, uyini, boshqaruv paneli haroratini va fan tezligini OpenHAB GUI -da ko'rish imkonini beradi (real vaqtda!) Rasmlar mening iPhone -dan qanday ko'rinishini ko'rsatadi, shuningdek siz chizgan grafikalar. burg'ulash orqali har xil haroratda bo'ladi.
Grafiklarni olish uchun siz RRD4J ulanishini o'rnatishingiz va sozlashingiz kerak bo'ladi (bu juda to'g'ri), bu sizga "Uy" yoki "Uyingizda" tugmachalarini bosish va o'tmishdagi har bir kishi uchun HRV harorati tarixini olish imkonini beradi. soat, kun yoki hafta (yoki undan ko'p, agar siz konfiguratsiyani mos keladigan tarzda o'zgartirsangiz) Ko'rsatilgan tasvirlar tselsiy bo'yicha, va men buni qilganimda uning janubiy yarim sharda qishi aniq!
Bundan tashqari, men OpenHAB ko'rinishini yaratdim, u "Boshqarish" opsiyasini bosish orqali tashqi haroratni (ob-havo majburiy qo'shimchasi bilan ta'minlangan, men Wunderground-dan foydalangan holda) tom va uy harorati o'rtasidagi taqqoslashni ko'rsatadi (rasmda grafik ko'rsatilgan uy, tom va tashqi harorat rejalashtirilgan). Men kerak bo'lganda isitish moslamalarini yoqish uchun ushbu ma'lumotni qoidalarda ishlatishni rejalashtirmoqdaman. Sayt xaritasi faylidagi rasm URL manziliga Ob -havo elementini qo'shish kifoya va uni xuddi shu grafikga qo'shing (masalan: … elementlar = houseTemp, roofTemp, weatherTemp …)
1 -qadam: Kerakli qismlar / yig'ish
Sizga quyidagi qismlar kerak bo'ladi
- RJ11 ajratuvchi (bu signalni uyingizda, boshqaruv paneliga va ESP8266 ga ajratadi)
- Ba'zi tasma kabeli va RJ11 vilkasi (simlarni ajratgichdan ESP8266gacha uzatish uchun)
- ESP8266-01 (boshqa 3.3V versiyalari ishlashi kerak)
- TTL mantiq darajasi konvertori (5V -> 3.3V dan ma'lumotlarni o'zgartirish uchun)
- AMS1117 3.3V kuchlanish regulyatori (yoki shunga o'xshash, HRV 5V -> 3.3V dan ESP8266 quvvatiga o'zgartirish uchun)
- 1N5817 schottky diodi (negadir bu HRV boshqaruv panelini ESP quvvatini qayta o'rnatishni to'xtatishga yordam berdi)
- 10K ohmli qarshilik (3.3 kuchlanish regulyatori va ESP CH_PD orasidagi tortishish qarshiligi)
- 10V 10uF kondansatör (yoki shunga o'xshash, HRVdan keladigan quvvatni tekislash va stablizlash uchun)
- 10V 1uF kondansatör (yoki shunga o'xshash, ESPga chiqadigan quvvatni tekislash va stabelizatsiyalash uchun)
- ESPni dasturlash uchun ixtiyoriy slayd tugmasi (aks holda, dasturlash uchun GPIO0 ni GND ga qo'lda tortish kerak bo'ladi)
- FTDI adapteri (ESPni dasturlash uchun USB -ni ketma -ket o'zgartiradi)
Sxemaga muvofiq yig'ing
Non paneli tasviri qismlarni qanday yig'ish kerakligini ko'rsatadi. E'tibor bering, shiftdagi HRV nazorat birligidan tasma kabelidan tushadigan 6 ta pin bor:
1 va 6 -pinlar 5V VCC
2 va 5 -pinlar GND
3 va 4 -pinlar ma'lumotlardir.
Siz faqat 1, 2, 3 va 6 -pinlardan foydalanishingiz kerak (1 va 6 VCC quvvatlari ESP8266 va TTL logik konvertorining yuqori tomoni, 2 - umumiy asos, 3 - TTL ketma -ket ma'lumotlarini o'qish uchun).
Sizga kerak bo'lgan ajratuvchi faqat RJ11 bo'lagichi bo'ladi, faqat uning pinlari to'g'ri joylashganligiga ishonch hosil qiling (masalan: 1 -pin 1 -pin, 2 -pin 2 -pin va boshqalar). rasmlarda ko'rsatilgan) keyinchalik ESPni qayta dasturlash uchun FTDIni ulash uchun mo'ljallangan va ko'rsatilgan kalit uni "dasturlash" rejimiga o'tkazadi. Bu ixtiyoriy, lekin tavsiya etiladi (masalan: agar siz WiFi parolingizni o'zgartirsangiz, chunki WiFi AP va parol kodga qattiq dasturlashtirilgan bo'lib, uni ESP8266 o'rnatilgandan so'ng yuklashingiz kerak bo'ladi)
2 -qadam: Kodni yuklash va sinov
Kodni o'zgartirish
Arduino kodiga muqobil yuklab olish havolasi BU YERDA
Arduino IDE -da oching, ESP taxtasi, shuningdek PubSubClient va ESP8266 kartasini tanlaganingizga ishonch hosil qiling (asboblar, kengash, umumiy ESP8266 kartasi) Kodni tahrir qiling va WiFi AP nomi va parolini va IP manzilini o'zgartiring. sizning MQTT brokeringiz (bularni o'zgartirish kerak bo'lgan yagona narsa) quyida ko'rsatilgan. Kompilyatsiya qilinganligiga ishonch hosil qilish uchun "Tasdiqlash" tugmasini bosing, so'ngra COM portining to'g'ri tanlanganligiga ishonch hosil qiling (Asboblar, port) va kodni ESP8266 -ga yuklang. Buni qanday qilish kerakligi haqida juda ko'p maqolalar bor, men bu erda g'ildirakni kashf qilmayman.
// Wifi
const char* ssid = "your_wifi_ssid_here"; const char* password = "your_wifi_password_here"; // MQTT Broker IPAddress MQTT_SERVER (192, 168, 222, 254);
MQTT testi
Sinov uchun siz FTDI adapterini ulangan holda qoldirib, Arduino IDE -da Serial Monitor -ni ochishingiz mumkin, siz konsolda harorat ma'lumotlarini chop etayotgan xabarlarni ko'rishingiz kerak. Agar sizga ESP8266 dan MQTT brokeriga kiruvchi MQTT xabarlari bilan bog'liq muammolarni bartaraf etish kerak bo'lsa, Mosquitto serverida kiruvchi xabarlarga obuna bo'lish uchun quyidagi buyruqlardan birini bajaring:
mosquitto_sub -d -t openhab/hrv/status
Siz har 30 soniyada ESP8266 -dan "1" raqami bilan kiruvchi PUBLISH xabarlarini ko'rishingiz kerak ("men tirikman" degan ma'noni anglatadi). Agar siz doimiy "0" ni (yoki umuman) ko'rsangiz, u holda hech qanday aloqa yo'q. Agar siz 1 raqami kirib kelayotganini ko'rsangiz, bu ESP8266 MQTT brokeri bilan aloqa o'rnatayotganini bildiradi (bu qanday ishlashi haqida qo'shimcha ma'lumot olish uchun "MQTT Oxirgi Vasiyat va Ahd" ni qidiring yoki bu blogning haqiqatan ham yaxshi yozuvini ko'ring).
Endi siz harorat va fan tezligi haqidagi ma'lumotlarni kuzatishingiz mumkin, quyidagilardan biriga obuna bo'ling. Shuni esda tutingki, agar kod har qanday ma'lumot o'zgargan bo'lsa, faqat harorat ma'lumotlarini yuboradi. U yuborilgan oxirgi harorat, fan tezligi va boshqalarni kuzatib boradi, shuning uchun siz ma'lumotni darhol ko'rmasligingiz mumkin.
mosquitto_sub -d -t openhab/hrv/rooftemp
mosquitto_sub -d -t openhab/hrv/housetemp
mosquitto_sub -d -t openhab/hrv/controltemp
mosquitto_sub -d -t openhab/hrv/fanspeed
Maslahat: yuqoridagi boshqaruv paneli haroratiga obuna bo'ling, so'ngra boshqaruv panelidagi harorat tugmachasini bosing, siz yangi harorat sozlamalari kelishini ko'rasiz.
Qachonki siz payvandlash ishlarini boshlasangiz, 3 sm x 7 sm o'lchamdagi tenglikni HRV boshqaruv paneli orqasidagi qutiga yaxshi joylashadi. Men buni faqat plastmassa quti bo'lsa tavsiya qilaman, chunki metall quti Wi -Fi signallariga xalaqit berishi yoki PCB kartasidagi ulanishlarni uzib qo'yishi mumkin. Shu bilan bir qatorda, taxtani o'rnatish uchun siz plastik 3D qutini chop etishingiz mumkin.
3 -qadam: OpenHAB -dagi o'zgarishlar
OpenHAB konfiguratsiyasi
OpenHAB -ni o'zgartirish uchun quyidagilar zarur:
'items' fayli:
/* HRVNumber hrvStatus "HRV holati [MAP (status.map):%d]" (gHRV) {mqtt = "<[mqttbroker: openhab/hrv/status: state: default]"} Number houseTemp "House [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/housetemp: state: default] "} Raqamli uyTemp_Chart_Period" Grafik davri "Raqamli uy tomi" Tom [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/rooftemp: state: default] "} Raqam shipTemp_Chart_Period" Grafik davri "Raqamni nazorat qilish Temasi" Nazorat [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/controltemp: holat: standart] "} String fanSpeed" Fan tezligi [%s] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/fanspeed: holat: standart] "}*//
"sayt xaritasi" fayli:
Kadr yorlig'i = "HRV harorati" {Matn elementi = roofTemp {Frame {Switch element = roofTemp_Chart_Period yorlig'i = "Davr" xaritalari = [0 = "Soat", 1 = "Kun", 2 = "Hafta"] Rasm url = "https:// localhost: 8080/rrdchart-p.webp
OpenHAB uchun qo'shimcha piktogrammalar kiritilgan (o'ng tugmasini bosib rasmlarni saqlang)
Bu fayllarni OpenHAB serveringizdagi.. / OpenHAB Home / webapps / images papkasida saqlang
Tavsiya:
MTP Arduino dasturlash misoli: 5 qadam
MTP Arduino dasturlash misoli: Ushbu yo'riqnomada biz SLG46824/6 GreenPAK ™ Multiple-Time Programmable (MTP) Dialog qurilmasini dasturlash uchun SLG46824/6 Arduino dasturlash eskizidan qanday foydalanishni ko'rsatamiz. Ko'pgina GreenPAK qurilmalari bir martalik dasturlashtiriladigan (OTP), ya'ni ular bir marta V-bo'lmagan
Geeetech kengashi Raspberry Pi orqali to'g'ridan -to'g'ri simli USB kabeli orqali: 4 qadam
Geeetech kengashi Raspberry Pi orqali to'g'ridan -to'g'ri maxsus USB kabeli orqali: Salom! Ushbu qo'llanmada JST XH 4-pinli maxsus USB-ni qanday qilish kerakligi ko'rsatilgan, shuning uchun siz Raspberry Pi yoki boshqa USB qurilmangizni Geeetech printeridagi A10 kabi Geeetech 2560 rev 3 kartasiga to'g'ridan-to'g'ri ulashingiz mumkin. Bu kabel qulay paralelga ulanadi
Bir nechta BMP280 datchiklari Arduino Uno orqali SPI orqali: 6 qadam
Bir nechta BMP280 datchiklari Arduino Uno -da SPI orqali: Bu qo'llanmada biz uchta BMP280 -ni Arduino Uno -ga SPI orqali ulashamiz, lekin har bir sensor uchun nSS (Slave Select) sifatida D3 dan D10 raqamli portlari yordamida Uno -da sakkizta BMP280 -ni ulashingiz mumkin. B o'lchagan atmosfera bosimi namunalarining
Braço Robo Controlado orqali uyali aloqa orqali: 3 qadam
Bracho Robô Controlado uyali aloqa tizimi orqali: yordamchi dasturlar bilan jihozlangan, ular bir -biridan farqli o'laroq, bir -biridan farqli o'laroq, elektron pochta orqali yuboriladi: axborot uzatish uchun telefon orqali yuboriladi
Belgilar LCD I2c adapteri (I2c ulanish misoli): 12 qadam (rasmlar bilan)
Belgilar LCD I2c adapteri (I2c ulanish misoli): Men i2c adapter belgisini ko'rsatish uchun ulanish sxemasini qilyapman, saytimdagi yangilanishlarni tekshiring, endi men simli ulanish sxemasini qo'shib qo'ydim. belgili LCD displeylar uchun, vilkalar proyekt