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, Juli
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 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

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 (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

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 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

Preporučuje se: