Sadržaj:

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: Температура поднимается на холостом ходу 2024, Studeni
Anonim
HRV temperatura za OpenHAB putem ESP8266 (Primjer serijskog koda!)
HRV temperatura za OpenHAB putem ESP8266 (Primjer serijskog koda!)
HRV temperatura za OpenHAB putem ESP8266 (Primjer serijskog koda!)
HRV temperatura za OpenHAB putem ESP8266 (Primjer serijskog koda!)
HRV temperatura za OpenHAB putem ESP8266 (Primjer serijskog koda!)
HRV temperatura za OpenHAB putem ESP8266 (Primjer serijskog koda!)

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

Potrebni dijelovi / montaža
Potrebni dijelovi / montaža
Potrebni dijelovi / montaža
Potrebni dijelovi / montaža
Potrebni dijelovi / montaža
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

Učitavanje koda i testiranje
Učitavanje koda i testiranje
Učitavanje koda i testiranje
Učitavanje koda i testiranje
Učitavanje koda i testiranje
Učitavanje koda i testiranje
Učitavanje koda i testiranje
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

Preporučeni: