Мазмұны:
- 1 -қадам: Қажетті бөлшектер / құрастыру
- 2 -қадам: кодты жүктеу және тестілеу
- 3 -қадам: OpenHAB өзгерістері
Бейне: HRV температурасы OpenHAB -ке ESP8266 арқылы (сериялық кодтың мысалы!): 3 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:29
HRV - OpenHAB сымсыз байланысы
Бұл нұсқаулық арнайы HRV (жылыту рециркуляциялы желдету) жүйесі барларға арналған, бірақ схеманың бөліктері, ашық конфигурация немесе Arduino коды (мысалы, TTL сериялық деректерін оқу) сіздің жеке жобаларыңыз үшін пайдалы болуы мүмкін немесе үйренуге жақсы қызмет етеді. Сізде Arduino IDE және ESP8266 чипі туралы жеткілікті ақпарат бар деп ойлайсыз.
Кіріспе
Төменде HRV жүйесіне қосылатын және шатыр мен үйдің температурасын, басқару панелінің температурасы мен желдеткіштің жылдамдығын MQTT хабарламалары арқылы OpenHAB -қа жіберетін ESP8266 қалай құру керектігі көрсетілген. Бұл ESP8266-01 тақтасымен жұмыс істеуге арналған (бірақ кез келген ESP8266 3.3V нұсқасымен жұмыс істеуі керек) Егер сізде басқа жеткізушіден HRV түріндегі ұқсас жүйе болса, сіз деректердің TTL сериясы ретінде жіберілетінін немесе болмайтынын анықтауыңыз керек., деректер қандай құрылым ретінде жіберіледі.
OpenHAB және Mosquitto
ESP8266 коды OpenHAB (ашық бастапқы коды бар үй автоматтандыру бағдарламалық жасақтамасы) және Mosquitto сияқты MQTT брокерімен жұмыс істеу үшін арнайы жазылған (хабар алмасуға жазылу/жариялау типі протоколы жеңіл және құрылғылар арасындағы байланыс үшін тамаша). қысқартулар сізді қорқытады, олардың қалай жұмыс істейтінін білгеннен кейін оларды қолдану өте қарапайым. Мен OpenHAB -ты NTC C. H. I. P (9 АҚШ доллары) компьютерінде қолданамын, бірақ көптеген адамдар Raspberry Pi немесе соған ұқсас құралдарды пайдаланады. Бұл оқулықта сіз OpenHAB -ты енгіздіңіз деп болжайды (егер сізге OpenHAB -ты орнатуға көмек қажет болса, makeuseof веб -сайтынан осы тамаша мақаланы орындаңыз) Сондай -ақ, Mosquitto (MQTT брокері) мен байланысты OpenHAB байланыстыруын жүктеп, орнату қажет. Сіз мұны желінің кез келген жерінде орната аласыз, бірақ көптеген адамдар оны қарапайым ұстау үшін OpenHAB құрылғысына орнатады.
Mosquitto -ны орнату үшін осы сілтемені басып, пайдаланылатын құрылғы түрін таңдап, нұсқауларды орындаңыз. C. H. I. P Debian (Jessie) жүйесінде жұмыс істейтіндіктен, егер сіз үйде автоматтандыру құрылғысы үшін C. H. I. P қолдансаңыз, Raspberry Pi нұсқауларын орындауға болады (сонымен қатар CLI -ден жүктеу үшін CHIP -ті қайта конфигурациялаудың ең жақсысы. Бұл үшін нұсқаулар бар)
OpenHAB және Mosquitto іске қосылғаннан кейін Arduino IDE -ді ESP8266 мен кодқа дайындау керек. Алдымен сіз «PubSubClient» кітапханасын қосуыңыз керек. Arduino IDE мәзірінде эскиз, кітапхананы қосу, кітапханаларды басқару тармағына өтіңіз Сүзгі іздеу жолағына PubSubClient теріңіз, содан кейін іздеу нәтижесін бөлектеңіз және Орнату түймесін басыңыз (жазу кезінде соңғы нұсқа 2.6.0). сонымен қатар ESP8266 тақтасын Arduino IDE -ге қосу керек, мұны мына нұсқауларды орындау арқылы жасауға болады
Бұл маған не береді?
Жоғарыда айтылғандай, бұл жоба HRV басқару панелінің төбесін, үйін, басқару панелінің температурасын және желдеткіштің жылдамдығын OpenHAB GUI -де қарауға мүмкіндік береді (нақты уақытта!) Суреттер менің iPhone -дан қалай көрінетінін, сонымен қатар сіздің графиктеріңізді көрсетеді. әр түрлі температураға дейін бұрғылау арқылы жетеді.
Графиктерді алу үшін сізге RRD4J байланыстырғышын орнату және конфигурациялау қажет болады (бұл өте қарапайым) Бұл сізге «Үй» немесе «Шатыр» батырмасын шертіп, өткен уақыт ішінде HRV температурасының тарихын алуға мүмкіндік береді. сағат, күн немесе апта (немесе одан да ұзақ, егер сіз конфигурацияны сәйкесінше өзгертсеңіз) Көрсетілген суреттер Цельсий бойынша, және мен мұны жасаған кезде оның оңтүстік жарты шарда қысы анық!
Сонымен қатар, мен «Бақылау» опциясын басу арқылы сыртқы температураны (ауа райы байланыстыратын қондырмамен қамтамасыз етілген, менің жағдайда Wunderground қолданылған) шатыр мен үй температурасын салыстыруды көрсететін OpenHAB көрінісін құрдым (суретте диаграмма көрсетілген үйдің, шатырдың және сыртқы температураның графигі). Мен қажет болған жағдайда жылыту құрылғыларын қосу үшін осы деректерді ережеде қолдануды жоспарлап отырмын. Сайт картасының файлындағы суреттің URL мекенжайына ауа райы элементін қосыңыз және оны сол графикке қосыңыз (мысалы:… items = houseTemp, roofTemp, weatherTemp…)
1 -қадам: Қажетті бөлшектер / құрастыру
Сізге келесі бөліктер қажет болады
- RJ11 бөлгіш (бұл сигналды шатырдағы контроллерден басқару пультіне және ESP8266 -ға бөледі)
- Кейбір таспалы кабель мен RJ11 штепселі (сплиттерден ESP8266 -ға дейінгі сымдарды жүргізу үшін)
- ESP8266-01 (басқа 3.3V нұсқалары жұмыс істеуі керек)
- TTL логикалық деңгейлік түрлендіргіші (деректерді 5В -> 3.3V аралығында өзгерту үшін)
- AMS1117 3.3V кернеу реттегіші (немесе кернеуді HRV 5V -> 3.3V ESP8266 қуатына өзгерту үшін)
- 1N5817 schottky диоды (қандай да бір себептермен бұл HRV басқару тақтасының ESP қуатын қалпына келтіруді тоқтатуға көмектесті)
- 10K Ом резисторы (3.3 кернеу реттегіші мен ESP CH_PD арасындағы тартқыш резистор)
- 10V 10uF конденсаторы (немесе ұқсас, HRV кіретін қуатты тегістеу және тұрақтандыру үшін)
- 10V 1uF конденсаторы (немесе ұқсас, ESP шығыс қуатын тегістеу және тұрақтандыру үшін)
- ESP бағдарламалау үшін қосымша слайд түймесі (әйтпесе, GPIO0 бағдарламасын GND қолмен тарту қажет)
- FTDI адаптері (ESP бағдарламалау үшін, USB сериялық түрлендіреді)
Схемаға сәйкес жинаңыз
Нан тақтасының суреті бөлшектерді қалай жинау керектігін көрсетеді. Төбедегі HRV контроллер блогынан таспа кабелінен түсетін 6 түйреуіш бар екенін ескеріңіз:
1 және 6 түйреуіштер - 5 В кернеу
2 және 5 түйреуіштер - GND
3 және 4 түйреуіштер - бұл деректер.
Сізге тек 1, 2, 3 және 6 түйреуіштерді қолдану қажет (1 және 6 VCC қуаттары ESP8266 және TTL логикалық түрлендіргішінің жоғарғы жағы, 2 - ортақ жер, 3 - TTL сериялық деректерін оқу үшін)
Сізге қажет бөлгіш тек RJ11 сплиттері болады, оның түйреуіштер тік тұрғанына көз жеткізіңіз (мысалы: 1 -түйреуіш 1 -түйрекке, 2 -түйреуіш 2 -ге дейін және т.б.) Қосымша аналық түйреуіштер (мысалы, суреттерде көрсетілген) кейін ESP қайта бағдарламалау үшін FTDI қосуға арналған, ал көрсетілген қосқыш оны «бағдарламалау» режиміне қояды. Бұл міндетті емес, бірақ ұсынылады (мысалы: егер сіз WiFi құпия сөзін өзгертсеңіз, егер WiFi AP мен құпия сөз ESP8266 орнатылғаннан кейін жүктеу қажет болатын кодқа бағдарламаланған болса)
2 -қадам: кодты жүктеу және тестілеу
Кодты өзгерту
Arduino кодына балама жүктеу сілтемесі мына жерде
Arduino IDE -де ашыңыз, ESP тақтасы, сондай -ақ PubSubClient орнатылғанына және ESP8266 тақтасын таңдағаныңызға көз жеткізіңіз (Құралдар, тақта, жалпы ESP8266 тақтасы) Кодты өңдеңіз және WiFi AP атауын, паролін және IP мекенжайын өзгертіңіз. сіздің MQTT брокері (бұл сізге өзгерту керек) төменде көрсетілгендей. «Тексеру» түймесін басыңыз, ол дұрыс құрастырылғанына көз жеткізіңіз, содан кейін COM портының дұрыс таңдалғанына көз жеткізіңіз (Құралдар, порт) және кодты ESP8266 -ге жүктеңіз. Мұны қалай жасауға болатыны туралы көптеген мақалалар бар, мен мұнда дөңгелекті қайта ойлап таппаймын.
// Сымсыз дәлдiк
const char* ssid = «your_wifi_ssid_here»; const char* password = «your_wifi_password_here»; // MQTT Broker IPAddress MQTT_SERVER (192, 168, 222, 254);
MQTT тестілеуі
Тексеру үшін сіз FTDI адаптерін қосулы күйде қалдыра аласыз және Arduino IDE сериялық мониторын ашасыз, консольдегі температура туралы ақпаратты басып шығаратын хабарларды көресіз. Егер сізге ESP8266 -дан MQTT брокеріне келетін MQTT хабарламаларының ақаулықтарын жою қажет болса, онда Mosquitto серверінде кіріс хабарламаларына жазылу үшін келесі пәрмендердің бірін орындаңыз:
mosquitto_sub -d -t openhab/hrv/мәртебесі
Сіз ESP8266 -дан 30 секунд сайын «1» санымен («мен тірімін» деген мағынада) келетін PUBLISH хабарларын көруге тиіспіз. Егер сіз тұрақты «0» (немесе мүлде) көрмесеңіз, онда байланыс болмайды. Сіз 1 нөмірі кіргенін көргенде, бұл ESP8266 MQTT брокерімен байланысып жатқанын білдіреді (бұл қалай жұмыс істейтіні туралы қосымша ақпарат алу үшін «MQTT Last Will and Testament» іздеңіз немесе блогтың шынымен жақсы жазбасын қараңыз).
Енді сіз температура мен желдеткіш жылдамдығын бақылай аласыз, төмендегілердің біріне жазылыңыз. Дегенмен, код температура туралы деректерді кез келген деректер өзгерген жағдайда ғана жіберетінін ескеріңіз. Ол жіберілген соңғы температураны, желдеткіштің жылдамдығын және т.б деректерді қадағалайды, сондықтан сіз ақпаратты бірден көре алмайсыз.
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
Кеңес: жоғарыдағы басқару панелінің температурасына жазылыңыз, содан кейін басқару панеліндегі температура түймесін басыңыз, сонда сіз жаңа температура параметрі кіретінін көресіз.
Сіз оны дәнекерлеуге келгенде, 3 см х 7 см ПХД HRV басқару тақтасының артқы жағындағы қорапқа жақсы сәйкес келеді. Мен мұны тек пластикалық ағызатын қорап болса ғана жасауға кеңес берер едім, себебі металл қорап Wifi сигналдарына кедергі келтіруі мүмкін немесе ПХД тақтасындағы қосылымдарды үзуі мүмкін. Сонымен қатар, тақтаны орнату үшін пластикалық 3D корпусты басып шығаруға болады.
3 -қадам: OpenHAB өзгерістері
OpenHAB конфигурациясы
OpenHAB -ке келесі өзгерістер қажет:
'items' файлы:
/* HRVNumber hrvStatus «HRV күйі [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] «} HouseTemp_Chart_Period» Диаграмма кезеңі «Number roofTemp» Шатыр [%.1f C] «(gHRV) {mqtt =» <[mqttbroker: openhab/hrv/rooftemp: state: default] «} NumberTampTemp_Chart_Period» Диаграмма кезеңі «Сандық бақылауTemp» Бақылау [%.1f C] «(gHRV) {mqtt =» <[mqttbroker: openhab/hrv/controltemp: күй: әдепкі] «} Жолдық fanSpeed» Желдеткіш жылдамдығы [%s] «(gHRV) {mqtt =» <[mqttbroker: openhab/hrv/fanspeed: күй: әдепкі] «}*//
'сайт картасы' файлы:
Frame label = «HRV температурасы» {Мәтін элементі = roofTemp {Frame {Switch item = roofTemp_Chart_Period белгісі = «Период» салыстырулары = [0 = «Сағат», 1 = «Күн», 2 = «Апта»] Суреттің url = «https:// localhost: 8080/rrdchart-p.webp
OpenHAB қосымша белгішелері қосылған (тінтуірдің оң жақ түймесімен басып, суреттерді сақтаңыз)
Бұл файлдарды OpenHAB серверіндегі.. / OpenHAB Home / webapps / images қалтасына сақтаңыз
Ұсынылған:
Пакеттерді сериялық жіберу арқылы Dynamixel 12A басқару: 5 қадам
Пакеттерді сериялық жіберу арқылы Dynamixel 12A басқару: DYNAMIXEL 12A
HC-05 Bluetooth арқылы сериялық конфигурация: 10 қадам
HC-05 Bluetooth арқылы сериялық конфигурация: Кейбір Arduino жобалары үшін Android құрылғылары мен HC-05 Bluetooth SPP модульдерін қолданған кезде, мен HC-05 беру жылдамдығын және басқа параметрлерді компьютердің USB портына қосылмай тексеріп, өзгерткім келді. HC-05 модульдері сериялық және Blu қосады
Arduino Uno -дан ICSP / ISP арқылы дәйекті Arduino 3.3V Вт / 8 МГц сағаты бағдарламаланған (сериялық бақылаумен!): 4 қадам
Arduino Uno -дан ICSP / ISP арқылы дәйекті Arduino 3.3V Вт / Сыртқы 8 МГц сағаты (сериялық бақылаумен!): Мақсаты: 8 МГц сыртқы сағаттан 3,3В жұмыс істейтін автономды Arduino құрастыру. Оны Arduino Uno (5В жұмыс істейтін) провайдерімен (сонымен қатар ICSP деп аталады) тізбектей бағдарламалау үшін жүктеуші файлын өңдеу және
UChip - IR арқылы сериялық!: 4 қадам
UChip-IR арқылы сериялық! оңай тапсырма және көп нәрсені қажет етеді
Bluetooth арқылы сериялық мониторды қарау: 4 қадам
Bluetooth арқылы сериялық мониторды қарау: Бұл жоба сериялық мониторды қарау үшін қолданылатын дәстүрлі сымды қосылымды алмастыру үшін HC -05 Bluetooth модулін қолданады. /2RYqiSK Jumper сымдары - https://amzn.to/2RYqiSK H