Obsah:

Teplota HRV na OpenHAB prostredníctvom ESP8266 (príklad sériového kódu!): 3 kroky
Teplota HRV na OpenHAB prostredníctvom ESP8266 (príklad sériového kódu!): 3 kroky

Video: Teplota HRV na OpenHAB prostredníctvom ESP8266 (príklad sériového kódu!): 3 kroky

Video: Teplota HRV na OpenHAB prostredníctvom ESP8266 (príklad sériového kódu!): 3 kroky
Video: Падает температура двигателя при включении печки 2024, Júl
Anonim
Teplota HRV na OpenHAB prostredníctvom ESP8266 (príklad sériového kódu!)
Teplota HRV na OpenHAB prostredníctvom ESP8266 (príklad sériového kódu!)
Teplota HRV na OpenHAB prostredníctvom ESP8266 (príklad sériového kódu!)
Teplota HRV na OpenHAB prostredníctvom ESP8266 (príklad sériového kódu!)
Teplota HRV na OpenHAB prostredníctvom ESP8266 (príklad sériového kódu!)
Teplota HRV na OpenHAB prostredníctvom ESP8266 (príklad sériového kódu!)

HRV - Bezdrôtové pripojenie k OpenHAB

Tento návod je určený špeciálne pre tých, ktorí majú systém HRV (recirkulácia vetrania s vykurovaním) - aj keď časti obvodovej dosky, konfigurácia openhab alebo kód Arduino (napríklad čítanie sériových dát TTL) môžu byť praktické pre vaše vlastné projekty alebo môžu dobre slúžiť na učenie. Predpokladá to, že máte primerané znalosti o Arduino IDE a o tom, čo je čip ESP8266.

Úvod

Nasledujúci prehľad popisuje, ako vytvoriť ESP8266, ktorý sa pripája k systému HRV a odosiela do systému OpenHAB teploty strechy a domu, teplotu ovládacieho panela a rýchlosť ventilátora prostredníctvom správ MQTT. Toto je navrhnuté tak, aby fungovalo s doskou ESP8266-01 (aj keď by malo fungovať s akoukoľvek verziou ESP8266 3.3V) Ak máte podobný systém typu HRV od alternatívneho dodávateľa, budete musieť určiť, či sú údaje odosielané ako sériové číslo TTL a ak áno, v akej štruktúre sa údaje odosielajú.

OpenHAB a Mosquitto

Kód ESP8266 bol napísaný špeciálne pre prácu s OpenHAB (softvér pre domácu automatizáciu s otvoreným zdrojovým kódom) a maklérom MQTT, ako je Mosquitto (protokol typu na prihlásenie sa na odber/publikovanie, ktorý je ľahký a vhodný na komunikáciu medzi zariadeniami) Nenechajte názvy alebo skratky vás desia, sú veľmi jednoduché na používanie, keď sa zoznámite s ich fungovaním. Používam OpenHAB na NTC C. H. I. P (počítač za 9 USD), avšak veľa ľudí používa Raspberry Pi alebo podobné. Tento tutoriál predpokladá, že ste implementovali OpenHAB (ak potrebujete pomoc s nastavením OpenHAB, postupujte podľa tohto vynikajúceho článku z webovej stránky makeuseof) Tiež si musíte stiahnuť a nainštalovať Mosquitto (maklér MQTT) a súvisiace väzby OpenHAB. Môžete to nainštalovať kdekoľvek vo svojej sieti, väčšina ľudí to však inštaluje na rovnaký počítač ako OpenHAB, aby to bolo jednoduché.

Ak chcete nainštalovať Mosquitto, podľa tohto odkazu potom vyberte typ zariadenia, ktoré používate, a postupujte podľa pokynov. Pretože C. H. I. P beží na Debiane (Jessie), môžete sa riadiť pokynmi Raspberry Pi, ak používate C. H. I. P pre svoje zariadenie domácej automatizácie (všimnite si tiež, že je najlepšie prekonfigurovať CHIP na zavedenie z CLI. Pokyny k tomu nájdete tu)

Keď spustíte OpenHAB a Mosquitto, musíte pripraviť Arduino IDE na ESP8266 a kód. Najprv musíte pridať knižnicu „PubSubClient“. V Arduino IDE z ponuky v ponuke Skica, Zahrnúť knižnicu, Spravovať knižnice Do vyhľadávacieho poľa filtra napíšte PubSubClient, potom zvýraznite výsledok vyhľadávania a kliknite na Inštalovať (v čase písania článku je najnovšia verzia 2.6.0). Tiež je potrebné pridať dosku Arduino IDE dosku ESP8266, čo je možné vykonať podľa týchto pokynov

Čo mi to dáva?

Ako už bolo uvedené, tento projekt vám umožní zobraziť strechu, dom, teploty ovládacieho panela a rýchlosť ventilátora HRV v grafickom rozhraní OpenHAB (v reálnom čase!) Obrázky ukazujú, ako to vyzerá z môjho iPhone, plus grafy, ktoré sa dostanete vŕtaním do rôznych teplôt.

Ak chcete získať grafy, budete musieť tiež nainštalovať a nakonfigurovať väzbu RRD4J (to je veľmi jednoduché) To vám umožní kliknúť buď na „Dom“alebo „Strecha“a získať históriu teplôt HRV pre každý z nich v minulosti. hodina, deň alebo týždeň (alebo dlhšie, ak zmeníte konfiguráciu tak, aby vyhovovala) Zobrazené obrázky sú v stupňoch Celzia a pri jeho vytváraní je zrejmé, že na južnej pologuli je zima!

Okrem toho som vytvoril zobrazenie OpenHAB, ktoré ukazuje porovnanie vonkajšej teploty (poskytovanej doplnkom Weather binding, v mojom prípade pomocou programu Wunderground) a teploty strechy a domu kliknutím na možnosť „Ovládať“(obrázok ukazuje graf s vynesená hodnota domu, strechy a vonkajšej teploty). Tieto údaje plánujem použiť v pravidlách na zapnutie vykurovacích zariadení podľa potreby. Jednoducho pridajte položku Weather do svojej adresy URL obrázku v súbore mapy webu a zahrňte ju do rovnakého grafu (napr.:… items = houseTemp, roofTemp, weatherTemp…)

Krok 1: Potrebné diely / montáž

Potrebné diely / montáž
Potrebné diely / montáž
Potrebné diely / montáž
Potrebné diely / montáž
Potrebné diely / montáž
Potrebné diely / montáž

Budete potrebovať nasledujúce diely

  • Rozdeľovač RJ11 (ten rozdeľuje signál z ovládača v streche na ovládací panel a ESP8266)
  • Nejaký plochý kábel a zástrčka RJ11 (na vedenie káblov z rozdeľovača na ESP8266)
  • ESP8266-01 (ostatné verzie 3,3 V by mali fungovať)
  • Konvertor logickej úrovne TTL (na zmenu údajov z 5 V -> 3,3 V)
  • AMS1117 3,3 V regulátor napätia (alebo podobný, na zmenu napätia z HRV 5 V -> 3,3 V na napájanie ESP8266)
  • 1N5817 schottky dióda (z nejakého dôvodu to pomohlo zastaviť resetovanie ovládacieho panela HRV pri zapnutí ESP)
  • Rezistor 10K ohm (vyťahovací odpor medzi regulátorom napätia 3,3 a ESP CH_PD)
  • 10V 10uF kondenzátor (alebo podobný, na vyhladenie a stabilizáciu prichádzajúceho napájania z HRV)
  • 10V 1uF kondenzátor (alebo podobný, na vyhladenie a stabilizáciu odchádzajúceho napájania do ESP)
  • Voliteľné posúvacie tlačidlo na naprogramovanie ESP (v opačnom prípade musíte na programovanie manuálne vytiahnuť GPIO0 na GND)
  • Adaptér FTDI (na programovanie ESP, prevádza USB na sériové)

Zostavte podľa schémy

Obrázok na bočnom paneli ukazuje, ako by mali byť diely zostavené. Všimnite si toho, že na plochý kábel z riadiacej jednotky HRV v strope klesá 6 kolíkov:

Piny 1 a 6 sú 5V VCC

Piny 2 a 5 sú GND

Piny 3 a 4 sú údaje.

Stačí použiť piny 1, 2, 3 a 6 (1 a 6 VCC napája ESP8266 a hornú stranu logického prevodníka TTL, 2 je spoločný základ a 3 je na čítanie sériových dát TTL)

Rozdeľovač, ktorý potrebujete, bude len rozdeľovač RJ11, uistite sa, že je to rozdeľovač, v ktorom sú kolíky rovné (napr.: kolík 1 ide na kolík 1, kolík 2 na kolík 2 a tak ďalej) Všimnite si, že ďalšie ženské kolíky (ako zobrazené na obrázkoch) slúžia na pripojenie FTDI na neskoršie preprogramovanie ESP a zobrazený prepínač ho uvedie do režimu „programovania“. Tieto sú voliteľné, ale odporúčané (napr.: ak zmeníte svoje heslo WiFi, pretože prístupový bod WiFi a heslo sú naprogramované napevno do kódu, ktorý budete musieť nahrať po zostavení vášho ESP8266)

Krok 2: Odovzdanie kódu a testovanie

Odovzdávanie kódu a testovanie
Odovzdávanie kódu a testovanie
Odovzdávanie kódu a testovanie
Odovzdávanie kódu a testovanie
Odovzdávanie kódu a testovanie
Odovzdávanie kódu a testovanie
Odovzdávanie kódu a testovanie
Odovzdávanie kódu a testovanie

Zmeny kódu

Alternatívny odkaz na stiahnutie kódu Arduino TU

Otvorte v Arduino IDE, uistite sa, že je nainštalovaná doska ESP a PubSubClient a že ste vybrali dosku ESP8266 (Nástroje, doska, generická doska ESP8266) Upravte kód a zmeňte názov a heslo prístupového bodu WiFi a adresu IP váš maklér MQTT (to sú jediné veci, ktoré by ste mali zmeniť), ako je uvedené nižšie. Kliknite na tlačidlo „Overiť“, aby ste sa presvedčili, že je v poriadku, potom skontrolujte, či je vybratý správny port COM (Nástroje, Port) a nahrajte kód do svojho ESP8266. Existuje veľa článkov o tom, ako to urobiť, nebudem tu znova objavovať koleso.

// Wifi

const char* ssid = "your_wifi_ssid_here"; const char* heslo = "vaše_wifi_password_here"; // IP adresa makléra MQTT MQTT_SERVER (192, 168, 222, 254);

Testovanie MQTT

Na testovanie môžete nechať svoj adaptér FTDI pripojený a otvoriť sériový monitor v Arduino IDE, v konzole by sa vám mali zobrazovať správy s vytlačením informácií o teplote. Ak potrebujete vyriešiť problémy s prichádzajúcimi správami MQTT z ESP8266 vášmu maklérovi MQTT, spustite na serveri Mosquitto jeden z nasledujúcich príkazov na prihlásenie sa na odber prichádzajúcich správ:

mosquitto_sub -d -t openhab/hrv/status

Prichádzajúce správy PUBLISH prichádzajúce z ESP8266 by ste mali vidieť každých 30 sekúnd s číslom „1“(čo znamená „žijem“) Ak vidíte konštantné „0“(alebo vôbec nič), potom neexistuje žiadna komunikácia. Akonáhle uvidíte prichádzať číslo 1, znamená to, že ESP8266 komunikuje s maklérom MQTT (ďalšie informácie o tom, ako to funguje, hľadajte v „MQTT Last Will and Testament“, alebo si pozrite tento skutočne dobrý článok na blogu)

Teraz môžete sledovať údaje o teplote a rýchlosti ventilátora, prihláste sa na odber jedného z nasledujúcich. Nezabudnite však, že kód odosiela údaje o teplote iba vtedy, ak sa nejaké údaje zmenili. Sleduje údaje o poslednej teplote, rýchlosti ventilátora atď., Ktoré boli odoslané, takže sa vám nemusia zobrazovať prichádzajúce informácie okamžite.

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

Tip: Prihláste sa na odber teploty ovládacieho panela vyššie a potom stlačte tlačidlo teploty na samotnom ovládacom paneli, mali by ste vidieť, ako príde nové nastavenie teploty.

Keď sa dostanete k spájkovaniu, doska plošných spojov 3 cm x 7 cm sa krásne zmestí do splachovacej skrinky za ovládacím panelom HRV. Odporúčam to urobiť iba vtedy, ak ide o plastovú splachovaciu skrinku, pretože kovová skrinka môže interferovať so signálmi Wifi alebo prípadne skratovať pripojenia na doske plošných spojov. Alternatívne môžete vytlačiť plastové 3D puzdro a namontovať doň dosku.

Krok 3: Zmeny OpenHAB

Konfigurácia OpenHAB

Požadované zmeny OpenHAB sú nasledujúce:

súbor 'items':

/* HRVNumber hrvStatus "Stav 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] "} Number houseTemp_Chart_Period" Chart Period "Number roofTemp" Roof [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/rooftemp: state: default] "} Number roofTemp_Chart_Period" Chart Period "Number controlTemp" Control [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/controltemp: state: default] "} Reťazec fanSpeed" Rýchlosť ventilátora [%s] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/fanspeed: state: default] "}*/

súbor „mapa webu“:

Štítok rámca = "Teplota HRV" {Textová položka = roofTemp {Rámček {Prepnúť položku = roofTemp_Chart_Period label = mapovanie "Obdobia" = [0 = "Hodina", 1 = "Deň", 2 = "Týždeň"] URL obrázku = "https:// localhost: 8080/rrdchart-p.webp

Dodatočné ikony pre OpenHAB sú zahrnuté (kliknite pravým tlačidlom myši a uložte obrázky)

Uložte tieto súbory do priečinka.. / OpenHAB Home / webapps / images na serveri OpenHAB

Odporúča: