HRV temperatura za OpenHAB putem ESP8266 (Primjer serijskog koda!): 3 koraka
HRV temperatura za OpenHAB putem ESP8266 (Primjer serijskog koda!): 3 koraka

Video: HRV temperatura za OpenHAB putem ESP8266 (Primjer serijskog koda!): 3 koraka

Video: HRV temperatura za OpenHAB putem ESP8266 (Primjer serijskog koda!): 3 koraka
Video: Температура поднимается на холостом ходу 2025, Siječanj
Anonim

HRV - bežično za OpenHAB

Ovo uputstvo je posebno za one koji imaju sustav HRV (ventilacija s recirkulacijom grijanja) - iako bi dijelovi ploče, konfiguracija otvorenog prostora ili Arduino kôd (poput čitanja serijskih podataka TTL -a) mogli biti korisni za vaše vlastite projekte ili poslužiti za učenje. Pretpostavlja se da imate razumno znanje o Arduino IDE -u i što je čip ESP8266.

Uvod

U nastavku je prikazano kako izgraditi ESP8266 koji se povezuje sa HRV sustavom i šalje temperature krova i kuće, temperaturu upravljačke ploče i brzinu ventilatora putem poruka MQTT na OpenHAB. Ovo je dizajnirano za rad s pločom ESP8266-01 (iako bi trebalo raditi s bilo kojom verzijom ESP8266 3.3V) Ako imate sličan sustav tipa HRV od zamjenskog dobavljača, morat ćete utvrditi šalju li se podaci kao TTL serijski i ako je tako, u koju strukturu se podaci šalju.

OpenHAB i Mosquitto

Kôd ESP8266 napisan je posebno za rad s OpenHAB -om (softver otvorene kode za kućnu automatizaciju) i posrednikom MQTT -a poput Mosquitta (protokol za pretplatu/objavljivanje poruka koji je lagan i odličan za komunikaciju između uređaja) Nemojte dopustiti da imena ili Kratice vas plaše, doista su vrlo jednostavne za upotrebu kada upoznate kako rade. Koristim OpenHAB na NTC C. H. I. P -u (računalo od 9 USD), međutim mnogi ljudi koriste Raspberry Pi ili slično. Ovaj vodič pretpostavlja da ste implementirali OpenHAB (ako vam je potrebna pomoć pri postavljanju OpenHAB -a, slijedite ovaj izvrstan članak s makeuseof web stranice) Također morate preuzeti i instalirati Mosquitto (MQTT posrednik) i povezano OpenHAB vezivanje. Ovo možete instalirati bilo gdje drugdje u svojoj mreži, međutim većina ljudi instalira ovo samo na isti stroj kao i OpenHAB kako bi bilo jednostavno.

Da biste instalirali Mosquitto, slijedite ovu vezu, a zatim odaberite vrstu uređaja koji koristite i slijedite upute. Budući da C. H. I. P pokreće Debian (Jessie), možete slijediti upute Raspberry Pi ako koristite C. H. I. P za svoj uređaj za kućnu automatizaciju (također imajte na umu da je najbolje ponovno konfigurirati CHIP za pokretanje s CLI -ja. Ovdje postoje upute za to)

Nakon što pokrenete OpenHAB i Mosquitto, morate pripremiti Arduino IDE za ESP8266 i kod. Prvo morate dodati biblioteku "PubSubClient". U Arduino IDE -u s izbornika idite na Sketch, Include Library, Manage Libraries. U okvir za pretraživanje filtra upišite PubSubClient, a zatim označite rezultat pretraživanja i kliknite za instalaciju (u trenutku pisanja najnovija verzija je 2.6.0) također je potrebno dodati ploču ESP8266 u Arduino IDE što se može učiniti slijedeći upute ovdje

Što mi ovo daje?

Kao što je ranije rečeno, ovaj će vam projekt omogućiti pregled krova upravljačke ploče HRV -a, kuće, temperature upravljačke ploče i brzine ventilatora u OpenHAB GUI -ju (u stvarnom vremenu!) Slike prikazuju kako to izgleda s mog iPhonea, plus grafikoni koje vidite doći će bušenjem na različite temperature.

Da biste dobili grafikone, morat ćete također instalirati i konfigurirati povezivanje RRD4J (ovo je vrlo jednostavno) To će vam omogućiti da kliknete na "Kuća" ili "Krov" i dobijete povijest HRV temperatura za svaku u prošlosti sat, dan ili tjedan (ili dulje, ako promijenite konfiguraciju prema vlastitim potrebama) Prikazane slike su u Celzijusima, a jasno je i zima na južnoj hemisferi kad sam ovo napravio!

Osim toga, stvorio sam OpenHAB prikaz koji prikazuje usporedbu između vanjske temperature (koju pruža dodatak za vezivanje vremenskih uvjeta, u mom slučaju koristeći Wunderground) s temperaturom krova i kuće klikom na opciju 'Kontrola' (slika prikazuje grafikon s kuća, krov i vanjska temperatura iscrtani). Ove podatke namjeravam koristiti u pravilima za uključivanje grijaćih uređaja prema potrebi. Jednostavno dodajte stavku Vrijeme u URL slike u datoteci karte web stranice i uključite je u isti grafikon (npr.:… items = houseTemp, roofTemp, weatherTemp…)

Korak 1: Potrebni dijelovi / Montaža

Trebat će vam sljedeći dijelovi

  • Razdjelnik RJ11 (ovaj razdvaja signal od kontrolera na krovu do upravljačke ploče i ESP8266)
  • Neki vrpčani kabel i utikač RJ11 (za pokretanje žica od razdjelnika do ESP8266)
  • ESP8266-01 (ostale 3.3V verzije bi trebale raditi)
  • TTL pretvarač logičke razine (za promjenu podataka od 5 V do> 3,3 V)
  • AMS1117 3.3V regulator napona (ili sličan, za promjenu napona s HRV 5V -> 3.3V na napajanje ESP8266)
  • 1N5817 schottky dioda (iz nekog razloga to je pomoglo u zaustavljanju resetiranja upravljačke ploče HRV -a pri uključivanju ESP -a)
  • Otpornik od 10K ohma (otpornik između 3,3 regulatora napona i ESP CH_PD)
  • 10V 10uF kondenzator (ili sličan, za ujednačavanje i stabilizaciju ulazne snage iz HRV -a)
  • 10V 1uF kondenzator (ili sličan, za ujednačavanje i stabilizaciju izlazne energije prema ESP -u)
  • Opcijski klizni gumb za programiranje ESP -a (u protivnom morate ručno povući GPIO0 u GND za programiranje)
  • FTDI adapter (za programiranje ESP -a, pretvara USB u serijski)

Sastavite prema shemi

Slika matične ploče prikazuje način na koji se dijelovi trebaju sastaviti. Imajte na umu da se 6 pinova spušta vrpčnim kabelom s jedinice kontrolera HRV -a u stropu:

Igle 1 i 6 su 5V VCC

Igle 2 i 5 su GND

Igle 3 i 4 su podaci.

Morate koristiti samo pinove 1, 2, 3 i 6 (1 i 6 VCC snage ESP8266 i visoka strana TTL logičkog pretvarača, 2 je zajedničko tlo, a 3 je za čitanje serijskih podataka TTL -a)

Razdjelnik koji vam je potreban bit će samo razdjelnik RJ11, samo provjerite je li to razdjelnik na mjestu gdje su igle ravno (npr.: pin 1 ide na pin 1, pin 2 na pin 2 i tako dalje) Imajte na umu da dodatni ženski pinovi (kao prikazane na slikama) služe za povezivanje FTDI -ja za kasnije reprogramiranje ESP -a, a prikazani prekidač stavlja ga u način "programiranja". Ove opcije su izborne, ali se preporučuju (npr.: ako promijenite svoju WiFi lozinku jer su WiFi AP i lozinka teško programirani u kôd, koji ćete morati učitati nakon što se izgradi vaš ESP8266)

Korak 2: Učitavanje koda i testiranje

Promjene koda

Alternativna veza za preuzimanje Arduino koda OVDJE

Otvorite u Arduino IDE -u, provjerite je li instalirana ESP ploča, kao i PubSubClient te jeste li odabrali ploču ESP8266 (Alati, ploča, generička ploča ESP8266) Uredite kôd i promijenite naziv i lozinku WiFi AP -a i IP adresu vašeg brokera MQTT (to su jedine stvari koje trebate promijeniti) kako je prikazano u nastavku. Pritisnite gumb 'Potvrdi' kako biste bili sigurni da je u redu, a zatim provjerite je li odabran ispravan COM port (Alati, Port) i prenesite kôd na svoj ESP8266. Ima dosta članaka o tome kako to učiniti, neću ovdje izmišljati kotač.

// Wifi

const char* ssid = "your_wifi_ssid_here"; const char* password = "your_wifi_password_here"; // MQTT posrednik IP adresaMQTT_SERVER (192, 168, 222, 254);

MQTT testiranje

Za testiranje možete ostaviti svoj FTDI adapter spojen i otvoriti serijski monitor u Arduino IDE -u, trebali biste vidjeti poruke koje ispisuju podatke o temperaturi na konzoli. Ako trebate riješiti probleme s dolaznim MQTT porukama s ESP8266 vašem MQTT posredniku, tada na poslužitelju Mosquitto pokrenite jednu od sljedećih naredbi za pretplatu na dolazne poruke:

mosquitto_sub -d -t openhab/hrv/status

Trebali biste vidjeti dolazne OBJAVNE poruke koje dolaze s ESP8266 svakih 30 -ak sekundi s brojem "1" (što znači "živ sam"). Ako vidite konstantne "0" (ili uopće ništa), onda nema komunikacije. Kada vidite da broj 1 dolazi, to znači da ESP8266 komunicira s posrednikom MQTT (potražite "Zadnja volja i zavjet MQTT -a" za više informacija o tome kako to funkcionira ili pogledajte ovaj stvarno dobar unos na blog)

Sada možete pratiti podatke o temperaturi i brzini ventilatora, pretplatite se na jedno od sljedećeg. Međutim, imajte na umu da kôd šalje podatke o temperaturi samo ako su se neki podaci promijenili. On prati posljednju temperaturu, brzinu ventilatora itd. Podatke koji su poslani, tako da možda nećete vidjeti informacije koje dolaze odmah.

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

Savjet: pretplatite se na gornju temperaturu upravljačke ploče, zatim pritisnite gumb za temperaturu na samoj upravljačkoj ploči i trebali biste vidjeti da dolazi nova postavka temperature.

Kada ovo počnete lemiti, PCB dimenzija 3 cm x 7 cm lijepo se uklapa u kutiju za ispiranje iza upravljačke ploče HRV -a. Preporučio bih to samo ako se radi o plastičnoj kutiji za ispiranje jer metalna kutija može ometati Wifi signale ili eventualno prekinuti veze na ploči PCB -a. Alternativno, možete ispisati plastično 3D kućište za ugradnju ploče.

Korak 3: Promjene OpenHAB -a

OpenHAB konfiguracija

Potrebne promjene OpenHAB -a su sljedeće:

datoteka 'items':

/* HRVNumber hrvStatus "HRV Status [MAP (status.map):%d]" (gHRV) {mqtt = "<[mqttbroker: openhab/hrv/status: state: default]"} Broj houseTemp "Kuća [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/housetemp: stanje: zadano] "} Broj houseTemp_Chart_Period" Razdoblje grafikona "Broj roofTemp" Krov [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/rooftemp: state: default] "} Broj roofTemp_Chart_Period" Razdoblje grafikona "Broj controlTemp" Kontrola [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/controltemp: stanje: zadano] "} String fanSpeed" Brzina ventilatora [%s] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/fanspeed: state: default] "}*/

datoteka "karte web stranice":

Oznaka okvira = "Temperatura HRV -a" {Tekstualna stavka = roofTemp {Okvir {Promijeni stavku = roofTemp_Chart_Period label = "Mapa razdoblja" = [0 = "Sat", 1 = "Dan", 2 = "Tjedan"] URL slike = "https:// localhost: 8080/rrdchart-p.webp

Uključene su dodatne ikone za OpenHAB (desni klik i spremanje slika)

Spremite ove datoteke u mapu.. / OpenHAB Home / webapps / images na vašem poslužitelju OpenHAB