Cuprins:
- Pasul 1: Piese necesare / Asamblare
- Pasul 2: încărcarea codului și testarea
- Pasul 3: Modificări OpenHAB
Video: Temperatura HRV la OpenHAB prin ESP8266 (Exemplu de cod serial!): 3 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:47
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
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
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:
Controlul Ledului prin intermediul aplicației Blynk folosind Nodemcu prin internet: 5 pași
Controlul Ledului prin intermediul aplicației Blynk folosind Nodemcu prin Internet: Bună ziua tuturor Astăzi vă vom arăta cum puteți controla un LED folosind un smartphone pe internet
Creați-vă propriul sistem de urmărire a securității prin SMS prin GPS: 5 pași (cu imagini)
Asigurați-vă propriul sistem de urmărire a securității prin SMS GPS: În acest proiect vă voi arăta cum să combinați un modul SIM5320 3G cu un Arduino și un traductor piezoelectric ca senzor de șoc pentru a crea un sistem de urmărire a securității care vă va trimite locația dvs. vehicul prețios prin SMS când
Controlați dispozitivele prin internet prin browser. (IoT): 6 pași
Controlați dispozitivele prin internet prin browser. (IoT): În acest Instructable vă voi arăta cum puteți controla dispozitive precum LED-uri, relee, motoare etc. pe internet prin intermediul browserului web. Și puteți accesa comenzile în siguranță pe orice dispozitiv. Platforma web pe care am folosit-o aici este RemoteMe.org visit
Senzor reflectorizant cu infraroșu TCRT5000 - Cum funcționează și exemplu de circuit cu cod: 6 pași
Senzor reflectorizant cu infraroșu TCRT5000 - Cum funcționează și exemplu de circuit cu cod: Bună ziua, am folosit recent o grămadă de TCRT5000 la proiectarea și confecționarea mașinii mele de sortare a monedelor. Puteți vedea asta aici: Pentru a face acest lucru, a trebuit să învăț despre TCRT5000 și, după ce am înțeles-o, m-am gândit să creez ghid pentru oricine altcineva care arăta
RC Car Hack - Controlat prin Bluetooth prin aplicația Android: 3 pași (cu imagini)
RC Car Hack - Controlat prin Bluetooth prin intermediul aplicației Android: Sunt sigur că fiecare dintre voi puteți găsi acasă mașină RC neutilizată. Această instrucțiune vă va ajuta să schimbați vechea mașină RC în cadou original :) Datorită faptului că mașina RC pe care o aveam avea dimensiuni mici, am ales Arduino Pro Mini ca controler principal. O alta