Cuprins:

Temperatura HRV la OpenHAB prin ESP8266 (Exemplu de cod serial!): 3 pași
Temperatura HRV la OpenHAB prin ESP8266 (Exemplu de cod serial!): 3 pași

Video: Temperatura HRV la OpenHAB prin ESP8266 (Exemplu de cod serial!): 3 pași

Video: Temperatura HRV la OpenHAB prin ESP8266 (Exemplu de cod serial!): 3 pași
Video: Симптомы и признаки неисправности датчика температуры ОЖ. Назначение и проверка ДТОЖ 2024, Noiembrie
Anonim
Temperatura HRV la OpenHAB prin ESP8266 (Exemplu de cod serial!)
Temperatura HRV la OpenHAB prin ESP8266 (Exemplu de cod serial!)
Temperatura HRV la OpenHAB prin ESP8266 (Exemplu de cod serial!)
Temperatura HRV la OpenHAB prin ESP8266 (Exemplu de cod serial!)
Temperatura HRV la OpenHAB prin ESP8266 (Exemplu de cod serial!)
Temperatura HRV la OpenHAB prin ESP8266 (Exemplu de cod serial!)

HRV - Wireless la OpenHAB

Acest instructable este specific pentru cei care au un sistem HRV (ventilație prin recirculare a încălzirii) - deși părți ale plăcii de circuite, configurație openhab sau cod Arduino (cum ar fi citirea datelor seriale TTL) ar putea fi la îndemâna propriilor proiecte sau ar putea servi bine pentru învățare. Se presupune că aveți o cunoaștere rezonabilă a Arduino IDE și a ceea ce este un cip ESP8266.

Introducere

În cele ce urmează se prezintă modul de construire a unui ESP8266 care se conectează la un sistem HRV și trimite temperaturile acoperișului și ale casei, temperatura panoului de control și viteza ventilatorului prin intermediul mesajelor MQTT către OpenHAB. Acesta este conceput pentru a funcționa cu o placă ESP8266-01 (deși ar trebui să funcționeze cu orice versiune ESP8266 3.3V) Dacă aveți un sistem de tip HRV similar de la un furnizor alternativ, va trebui să determinați dacă datele sunt trimise ca serial TTL și dacă da, în ce structură sunt trimise datele.

OpenHAB și Mosquitto

Codul ESP8266 a fost scris special pentru a funcționa cu OpenHAB (software de automatizare a sursei open source) și un broker MQTT, cum ar fi Mosquitto (un protocol de tip abonare / publicare de mesagerie ușor și excelent pentru comunicarea între dispozitive) Nu lăsați numele sau acronimele te sperie, sunt într-adevăr destul de simple de utilizat odată ce ai aflat cum funcționează. Folosesc OpenHAB pe un NTC C. H. I. P (computer de 9 USD), însă mulți oameni folosesc un Raspberry Pi sau similar. Acest tutorial presupune că ați implementat OpenHAB (dacă aveți nevoie de ajutor pentru configurarea OpenHAB, urmați acest excelent articol de pe site-ul makeuseof) De asemenea, trebuie să descărcați și să instalați Mosquitto (broker MQTT) și legarea OpenHAB conexă. Puteți instala acest lucru în altă parte în rețeaua dvs., cu toate acestea, majoritatea oamenilor instalează acest lucru pe aceeași mașină ca OpenHAB pentru a fi simplă.

Pentru a instala Mosquitto, urmând acest link, selectați tipul de dispozitiv pe care îl utilizați și urmați instrucțiunile. Deoarece C. H. I. P rulează Debian (Jessie), puteți urma instrucțiunile Raspberry Pi dacă utilizați C. H. I. P pentru dispozitivul dvs. de automatizare la domiciliu (de asemenea, rețineți că este mai bine să reconfigurați CHIP pentru a porni din CLI. Există instrucțiuni pentru acest lucru aici)

Odată ce ai rulat OpenHAB și Mosquitto, trebuie să pregătești Arduino IDE pentru ESP8266 și cod. Mai întâi, trebuie să adăugați biblioteca „PubSubClient”. În IDE-ul Arduino, din meniu accesați Sketch, Include Library, Manage Libraries În caseta de căutare a filtrului, tastați PubSubClient, apoi evidențiați rezultatul căutării și faceți clic pe Instalare (în momentul scrierii, ultima versiune este 2.6.0) De asemenea, trebuie să adăugați placa ESP8266 la Arduino IDE, ceea ce se poate face urmând instrucțiunile de aici

Ce-mi dă asta?

După cum sa menționat anterior, acest proiect vă va permite să vizualizați acoperișul panoului de control HRV, casa, temperaturile panoului de control și viteza ventilatorului în OpenHAB GUI (în timp real!) Imaginile arată cum arată de pe iPhone-ul meu, plus graficele va ajunge prin forarea în diferite temperaturi.

Pentru a obține graficele, va trebui să instalați și să configurați legarea RRD4J (aceasta este foarte simplă) Acest lucru vă va permite să faceți clic pe „Casă” sau „Acoperiș” și să obțineți un istoric al temperaturilor HRV pentru fiecare din trecut ora, ziua sau săptămâna (sau mai mult, dacă modificați configurația pentru a se potrivi) Imaginile afișate sunt în grade Celsius și clar iarna ei în emisfera sudică când am făcut asta!

În plus, am creat o vizualizare OpenHAB care arată o comparație între temperatura exterioară (furnizată de programul de legare Weather, în cazul meu folosind Wunderground) și temperatura acoperișului și a casei, făcând clic pe opțiunea „Control” (imaginea prezintă graficul cu casa, acoperișul și temperatura exterioară reprezentate). Am de gând să folosesc aceste date în reguli pentru a porni aparatele de încălzit, după cum este necesar. Pur și simplu adăugați elementul meteo la adresa URL a imaginii în fișierul sitemap și includeți-l pe același grafic (de exemplu: … articole = houseTemp, roofTemp, weatherTemp …)

Pasul 1: Piese necesare / Asamblare

Piese necesare / asamblare
Piese necesare / asamblare
Piese necesare / asamblare
Piese necesare / asamblare
Piese necesare / asamblare
Piese necesare / asamblare

Veți avea nevoie de următoarele părți

  • Un separator RJ11 (acesta împarte semnalul de la controler în acoperiș, la panoul de control și ESP8266)
  • Câteva cabluri panglică și o priză RJ11 (pentru a rula firele de la splitter la ESP8266)
  • ESP8266-01 (alte versiuni de 3,3V ar trebui să funcționeze)
  • Convertor de nivel logic TTL (pentru a schimba datele de la 5V -> 3.3V)
  • AMS1117 Regulator de tensiune de 3,3V (sau similar, pentru a schimba tensiunea de la HRV 5V -> 3,3V la alimentarea ESP8266)
  • 1N5817 diodă schottky (din anumite motive, acest lucru a ajutat la oprirea resetării panoului de control HRV la pornirea ESP)
  • Rezistor de 10K ohm (rezistență de tragere între regulatorul de tensiune 3,3 și ESP CH_PD)
  • Condensator 10V 10uF (sau similar, pentru a netezi și stabeliza puterea de intrare de la HRV)
  • Condensator 10V 1uF (sau similar, pentru a netezi și stabeliza puterea de ieșire la ESP)
  • Buton de glisare opțional pentru a programa ESP (în caz contrar, trebuie să trageți manual GPIO0 pe GND pentru a programa)
  • Un adaptor FTDI (pentru a programa ESP, convertește USB în serie)

Asamblați conform schemei

Imaginea panoului de afișare arată cum ar trebui asamblate piesele. Rețineți că există 6 pini care coboară cablul panglică de la unitatea de control HRV din tavan:

Pinii 1 și 6 sunt VCC de 5V

Pinii 2 și 5 sunt GND

Pinii 3 și 4 sunt date.

Trebuie doar să utilizați pinii 1, 2, 3 și 6 (1 și 6 puteri VCC ESP8266 și partea superioară a convertorului logic TTL, 2 este un teren comun și 3 este pentru citirea datelor seriale TTL)

Splitterul de care aveți nevoie va fi doar un splitter RJ11, asigurați-vă că este un splitter unde pinii sunt drepți (de exemplu: pinul 1 merge la pinul 1, pinul 2 la pinul 2 și așa mai departe) Rețineți că pinii feminini suplimentari (ca afișate în imagini) sunt pentru conectarea unui FTDI pentru reprogramarea ESP mai târziu, iar comutatorul afișat îl pune în modul „programare”. Acestea sunt opționale, dar recomandate (de exemplu: dacă vă schimbați parola WiFi deoarece AP-ul și parola WiFi sunt greu programate în cod, pe care va trebui să le încărcați după ce ESP8266 este construit)

Pasul 2: încărcarea codului și testarea

Încărcarea codului și testarea
Încărcarea codului și testarea
Încărcarea codului și testarea
Încărcarea codului și testarea
Încărcarea codului și testarea
Încărcarea codului și testarea
Încărcarea codului și testarea
Încărcarea codului și testarea

Modificări de cod

Link de descărcare alternativ către codul Arduino AICI

Deschideți în IDE Arduino, asigurați-vă că placa ESP este instalată, precum și PubSubClient și că ați selectat placa ESP8266 (Instrumente, placă, placa generică ESP8266) Editați codul și modificați numele și parola AP WiFi și adresa IP a brokerul dvs. MQTT (acestea sunt singurele lucruri pe care ar trebui să le schimbați) așa cum se arată mai jos. Faceți clic pe butonul „Verificați” pentru a vă asigura că se compilează ok, apoi asigurați-vă că este selectat portul COM corect (Instrumente, Port) și încărcați codul pe ESP8266. Există o mulțime de articole despre cum să faci acest lucru, nu voi reinventa roata aici.

// Wifi

const char * ssid = "your_wifi_ssid_here"; const char * password = "your_wifi_password_here"; // MQTT Broker IPAddress MQTT_SERVER (192, 168, 222, 254);

Testarea MQTT

Pentru testare, puteți lăsa adaptorul FTDI conectat și puteți deschide Serial Monitor în Arduino IDE, ar trebui să vedeți mesaje care imprimă informațiile despre temperatură în consolă. Dacă trebuie să depanați mesajele MQTT primite de la ESP8266 către brokerul MQTT, atunci pe serverul Mosquitto executați una dintre următoarele comenzi pentru a vă abona la mesajele primite:

mosquitto_sub -d -t openhab / hrv / status

Ar trebui să vedeți mesaje de intrare PUBLICATE care vin de la ESP8266 la fiecare 30 de secunde cam cu numărul „1” (adică „Sunt în viață”) Dacă vedeți „0” constante (sau nimic deloc) atunci nu există nicio comunicare. După ce vedeți numărul 1 care vine, atunci înseamnă că ESP8266 comunică cu brokerul MQTT (căutați „MQTT Ultima voință și testament” pentru mai multe informații despre cum funcționează sau vedeți această intrare de blog foarte bună)

Acum puteți urmări datele despre temperatură și viteza ventilatorului, abonați-vă la una dintre următoarele. Cu toate acestea, rețineți că codul trimite datele de temperatură numai dacă s-au modificat date. Ține evidența ultimei date de temperatură, viteză a ventilatorului etc. care au fost trimise, astfel încât este posibil să nu vedeți informațiile care vin imediat.

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

Sugestie: abonați-vă la temperatura panoului de control de mai sus, apoi apăsați butonul de temperatură de pe panoul de control în sine, ar trebui să vedeți noua setare a temperaturii.

Când ajungeți să lipiți acest lucru, un PCB de 3cm x 7cm se potrivește frumos în cutia de spălare din spatele panoului de control HRV. Aș recomanda să faceți acest lucru numai dacă este o cutie de plastic, deoarece o cutie metalică poate interfera cu semnalele Wifi sau, eventual, poate scurta conexiunile de pe placa PCB. Alternativ, puteți imprima o carcasă 3D din plastic pentru a monta placa.

Pasul 3: Modificări OpenHAB

Configurare OpenHAB

Modificările OpenHAB necesare sunt următoarele:

fișierul „articole”:

/ * HRVNumber hrvStatus "HRV Status [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] "} Număr houseTemp_Chart_Period" Diagrama perioadei "Număr roofTemp" Acoperiș [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab / hrv / rooftemp: state: default] "} Număr roofTemp_Chart_Period" Diagrama perioadei "Număr controlTemp" Control [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab / hrv / controltemp: state: implicit] "} String fanSpeed" Fan Speed [% s] "(gHRV) {mqtt =" <[mqttbroker: openhab / hrv / fanspeed: state: default] "} * /

fișierul „sitemap”:

Etichetă cadru = "Temperatură HRV" {Element text = acoperișTemp {Cadru {Comută element = acoperișTemp_Chart_Period etichetă = "Perioadă" mapări = [0 = "Oră", 1 = "Zi", 2 = "Săptămână"] Imagine url = "https:// localhost: 8080 / rrdchart-p.webp

Sunt incluse pictograme suplimentare pentru OpenHAB (clic dreapta și salvare imagini)

Salvați aceste fișiere în dosarul.. / OpenHAB Home / webapps / images de pe serverul dvs. OpenHAB

Recomandat: