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, Januar
Anonim

HRV - bežično za OpenHAB

Ovo uputstvo je posebno za one koji imaju sistem 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 dobro poslužiti za učenje. Pretpostavlja se da razumno poznajete Arduino IDE i šta je čip ESP8266.

Uvod

U nastavku je opisano kako izgraditi ESP8266 koji se povezuje sa HRV sistemom i šalje temperature krova i kuće, temperaturu upravljačke ploče i brzinu ventilatora putem MQTT poruka u 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 sistem tipa HRV od zamjenskog dobavljača, morat ćete odrediti da li se podaci šalju kao TTL serijski i ako jesu, u koju strukturu se podaci šalju.

OpenHAB i Mosquitto

Kôd ESP8266 napisan je posebno za rad s OpenHAB -om (softver za kućnu automatizaciju otvorenog koda) i posrednikom MQTT, 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, zaista su vrlo jednostavne za upotrebu kada saznate kako rade. Koristim OpenHAB na NTC C. H. I. P -u (računar 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 odličan članak sa makeuseof web stranice) Također morate preuzeti i instalirati Mosquitto (MQTT broker) i s njim povezano OpenHAB vezivanje. Ovo možete instalirati bilo gdje drugdje na vašoj mreži, međutim većina ljudi instalira ovo samo na istu mašinu 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 -a 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 iz 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 iz izbornika idite na Sketch, Include Library, Manage Libraries. U okvir za pretraživanje filtera upišite PubSubClient, zatim označite rezultat pretraživanja i kliknite za Instaliranje (u vrijeme pisanja, najnovija verzija je 2.6.0) takođe je potrebno dodati ploču ESP8266 u Arduino IDE, što se može učiniti slijedeći upute ovdje

Šta mi ovo daje?

Kao što je ranije rečeno, ovaj projekt će vam omogućiti da vidite krov upravljačke ploče HRV -a, kuću, temperature kontrolne ploče i brzinu 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) Ovo će vam omogućiti da kliknete na 'Kuća' ili 'Krov' i dobijete povijest HRV temperatura za svaku u prošlosti sat, dan ili sedmica (ili duže, ako prilagodite konfiguraciju prema vlastitim potrebama) Prikazane slike su u celzijusima, i jasno je da je zima na južnoj hemisferi kada sam ovo napravio!

Dodatno, 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 sa kuća, krov i vanjska temperatura iscrtani). Ove podatke planiram koristiti u pravilima za uključivanje grijaćih uređaja prema potrebi. Jednostavno dodajte stavku Vreme 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 (ovo razdvaja signal od kontrolera na krovu do upravljačke ploče i ESP8266)
  • Neki vrpčni kabel i utikač RJ11 (za pokretanje žica od razdjelnika do ESP8266)
  • ESP8266-01 (ostale 3.3V verzije bi trebale raditi)
  • TTL pretvarač logičkog nivoa (za promjenu podataka sa 5V -> 3.3V)
  • AMS1117 3.3V regulator napona (ili sličan, za promjenu napona sa HRV 5V -> 3.3V na napajanje ESP8266)
  • 1N5817 schottky dioda (iz nekog razloga ovo 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 izglađivanje i stabilizaciju ulazne snage iz HRV -a)
  • 10V 1uF kondenzator (ili sličan, za ujednačavanje i stabilizaciju izlaznog napajanja na ESP)
  • Opcionalno klizno dugme za programiranje ESP -a (u suprotnom, potrebno je ručno povući GPIO0 u GND za programiranje)
  • FTDI adapter (za programiranje ESP -a, pretvara USB u serijski)

Sastavite prema šemi

Slika matične ploče prikazuje način na koji dijelovi trebaju biti sastavljeni. Imajte na umu da se 6 pinova spušta niz vrpčni kabel 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.

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

Razdjelnik koji vam je potreban bit će samo razdjelnik RJ11, samo se pobrinite da bude njegov 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č ga stavlja u način "programiranja". Ove opcije su opcionalne, ali se preporučuju (npr.: ako promijenite svoju WiFi lozinku jer se WiFi AP i lozinka teško programiraju u kôd, koji ćete morati učitati nakon što se vaš ESP8266 izgradi)

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 i jeste li odabrali ploču ESP8266 (Alati, ploča, generička ploča ESP8266) Uredite kôd i promijenite WiFi AP ime i lozinku te IP adresu vašeg brokera MQTT (to su jedine stvari koje trebate promijeniti) kako je prikazano u nastavku. Pritisnite gumb 'Verify' 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 točak.

// 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 priključeni vaš FTDI adapter 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 brokeru, tada na poslužitelju Mosquitto pokrenite jednu od sljedećih naredbi da biste se pretplatili 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 ništa), onda nema komunikacije. Kada vidite da broj 1 dolazi, to znači da ESP8266 komunicira s posrednikom MQTT (potražite "MQTT Last Will and Testament" za više informacija o tome kako to funkcionira, ili pogledajte ovaj zaista dobar zapis na blogu)

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 na upravljačkoj ploči, a zatim pritisnite gumb za temperaturu na samoj upravljačkoj ploči i trebali biste vidjeti da dolazi nova postavka temperature.

Kad počnete sa lemljenjem, 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 PCB ploči. Alternativno, možete ispisati plastično 3D kućište za ugradnju ploče.

Korak 3: OpenHAB promjene

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" Period grafikona "Broj roofTemp" Krov [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/rooftemp: state: default] "} Broj roofTemp_Chart_Period" Period grafikona "Broj controlTemp" Kontrola [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/controltemp: stanje: default] "} String fanSpeed" Brzina ventilatora [%s] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/fanspeed: state: default] "}*/

datoteka 'sitemap':

Oznaka okvira = "Temperatura HRV -a" {Tekst stavke = roofTemp {Okvir {Promijeni stavku = roofTemp_Chart_Period label = "Mapa razdoblja" = [0 = "Sat", 1 = "Dan", 2 = "Sedmica"] 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 OpenHAB serveru