Kazalo:

Temperatura HRV za OpenHAB prek ESP8266 (primer serijske kode!): 3 koraki
Temperatura HRV za OpenHAB prek ESP8266 (primer serijske kode!): 3 koraki

Video: Temperatura HRV za OpenHAB prek ESP8266 (primer serijske kode!): 3 koraki

Video: Temperatura HRV za OpenHAB prek ESP8266 (primer serijske kode!): 3 koraki
Video: Температура поднимается на холостом ходу 2024, Julij
Anonim
Temperatura HRV za OpenHAB prek ESP8266 (primer serijske kode!)
Temperatura HRV za OpenHAB prek ESP8266 (primer serijske kode!)
Temperatura HRV za OpenHAB prek ESP8266 (primer serijske kode!)
Temperatura HRV za OpenHAB prek ESP8266 (primer serijske kode!)
Temperatura HRV za OpenHAB prek ESP8266 (primer serijske kode!)
Temperatura HRV za OpenHAB prek ESP8266 (primer serijske kode!)

HRV - brezžično do OpenHAB

Ta navodila so posebej namenjena tistim, ki imajo sistem HRV (prezračevanje z recirkulacijo ogrevanja) - čeprav so lahko deli vezja, odprta konfiguracija ali koda Arduino (na primer branje serijskih podatkov TTL) primerni za vaše lastne projekte ali pa dobro služijo učenju. Predvideva, da razumno poznate Arduino IDE in kaj je čip ESP8266.

Uvod

V nadaljevanju je opisano, kako zgraditi ESP8266, ki se poveže s sistemom HRV in pošlje OpenHAB sporočilom strešno in hišno temperaturo, temperaturo nadzorne plošče in hitrost ventilatorja prek sporočil MQTT. To je zasnovano za delo s ploščo ESP8266-01 (čeprav bi morala delovati s katero koli različico ESP8266 3.3V) Če imate podoben sistem tipa HRV od nadomestnega prodajalca, boste morali ugotoviti, ali se podatki pošiljajo kot serijski TTL in če so, v kakšni strukturi so podatki poslani.

OpenHAB in Mosquitto

Koda ESP8266 je bila napisana posebej za delo z OpenHAB (odprtokodna programska oprema za avtomatizacijo doma) in posrednikom MQTT, kot je Mosquitto (protokol za naročanje/objavo sporočil, ki je lahek in odličen za komunikacijo med napravami) akronimi vas prestrašijo, saj so zelo preprosti za uporabo, ko spoznate, kako delujejo. OpenHAB uporabljam na računalniku NTC C. H. I. P (računalnik za 9 USD), vendar veliko ljudi uporablja Raspberry Pi ali podobno. Ta vadnica predvideva, da ste implementirali OpenHAB (če potrebujete pomoč pri nastavitvi OpenHAB -a, sledite temu odličnemu članku s spletnega mesta makeuseof) Prav tako morate prenesti in namestiti Mosquitto (posrednik MQTT) in z njim povezano OpenHAB. To lahko namestite drugje v svojem omrežju, vendar večina ljudi to preprosto namesti na isti računalnik kot OpenHAB, da bo preprosto.

Če želite namestiti Mosquitto, po tej povezavi izberite vrsto naprave, ki jo uporabljate, in sledite navodilom. Ker C. H. I. P izvaja Debian (Jessie), lahko sledite navodilom Raspberry Pi, če uporabljate C. H. I. P za napravo za domačo avtomatizacijo (upoštevajte tudi, da je najbolje, da CHIP znova zaženete za zagon iz CLI. Za to so navodila)

Ko zaženete OpenHAB in Mosquitto, morate pripraviti Arduino IDE za ESP8266 in kodo. Najprej morate dodati knjižnico "PubSubClient". V Arduino IDE v meniju pojdite na Sketch, Include Library, Manage Libraries. V iskalno polje za filter vnesite PubSubClient, označite rezultat iskanja in kliknite Namesti (v času pisanja je najnovejša različica 2.6.0) v Arduino IDE je treba dodati tudi ploščo ESP8266, kar lahko storite po naslednjih navodilih

Kaj mi to daje?

Kot smo že omenili, vam bo ta projekt omogočil ogled strehe nadzorne plošče HRV, hiše, temperature nadzorne plošče in hitrosti ventilatorja v grafičnem vmesniku OpenHAB (v realnem času!) Slike prikazujejo, kako izgleda z mojega iPhone -a, in grafi, ki jih vidite bo pri vrtanju v različne temperature.

Če želite dobiti grafikone, boste morali namestiti in konfigurirati tudi vezavo RRD4J (to je zelo preprosto) To vam bo omogočilo, da kliknete bodisi »Hiša« ali »Streha« in si ogledate zgodovino temperatur HRV za vsako v preteklosti uro, dan ali teden (ali dlje, če spremenite konfiguracijo, ki ustreza) Prikazane slike so v celzijih in očitno je zima na južni polobli, ko sem to naredil!

Poleg tega sem ustvaril pogled OpenHAB, ki prikazuje primerjavo med zunanjo temperaturo (ki jo ponuja dodatek za vezavo vremena, v mojem primeru z uporabo Wundergrounda) in temperaturo strehe in hiše s klikom na možnost »Nadzor« (slika prikazuje graf z hiša, streha in zunanja temperatura). Te podatke nameravam uporabiti v pravilih za vklop ogrevalnih naprav po potrebi. Preprosto dodajte element Vreme v URL slike v datoteki zemljevida mesta in ga vključite v isti graf (npr.:… items = houseTemp, roofTemp, weatherTemp…)

1. korak: potrebni deli / montaža

Potrebni deli / montaža
Potrebni deli / montaža
Potrebni deli / montaža
Potrebni deli / montaža
Potrebni deli / montaža
Potrebni deli / montaža

Potrebovali boste naslednje dele

  • Razcepnik RJ11 (ta razdeli signal iz krmilnika na strehi, na nadzorno ploščo in ESP8266)
  • Nekaj trakovnega kabla in vtiča RJ11 (za vodenje žic od razdelilnika do ESP8266)
  • ESP8266-01 (ostale različice 3,3 V bi morale delovati)
  • Pretvornik logične ravni TTL (za spreminjanje podatkov s 5V na> 3.3V)
  • AMS1117 3.3V regulator napetosti 3.3V (ali podoben, za spreminjanje napetosti iz HRV 5V -> 3.3V na napajanje ESP8266)
  • 1N5817 schottky dioda (iz nekega razloga je to pomagalo ustaviti ponastavitev nadzorne plošče HRV pri vklopu ESP)
  • 10K ohmski upor (upogibni upor med 3.3 napetostnim regulatorjem in ESP CH_PD)
  • 10V 10uF kondenzator (ali podoben, za izravnavo in stabilizacijo vhodne moči iz HRV)
  • 10V 1uF kondenzator (ali podoben, za izravnavo in stabilizacijo izhodne moči na ESP)
  • Izbirni drsni gumb za programiranje ESP (sicer morate za programiranje ročno povleči GPIO0 v GND)
  • Adapter FTDI (za programiranje ESP pretvori USB v serijski)

Sestavite v skladu s shemo

Slika matične plošče prikazuje, kako je treba sestaviti dele. Upoštevajte, da se s stropnega kabla iz krmilne enote HRV v stropu spusti 6 zatičev:

Zatiči 1 in 6 sta 5V VCC

Zatiči 2 in 5 sta GND

Zatiči 3 in 4 sta Data.

Uporabljati morate samo zatiče 1, 2, 3 in 6 (1 in 6 moči VCC ESP8266 in visoko stran logičnega pretvornika TTL, 2 sta skupni točki, 3 pa za branje serijskih podatkov TTL)

Razdelilnik, ki ga potrebujete, bo samo cepilnik RJ11, samo poskrbite, da bo to cepilnik, kjer so zatiči naravnost (npr.: pin 1 gre na pin 1, pin 2 na pin 2 itd.) Upoštevajte, da dodatni ženski zatiči (kot prikazane na slikah) so za priključitev FTDI za poznejše reprogramiranje ESP, prikazano stikalo pa ga preklopi v način "programiranja". Ti so neobvezni, vendar priporočljivi (npr.: če spremenite geslo za WiFi, ker sta dostopna točka WiFi in geslo težko programirani v kodo, ki ju boste morali naložiti, ko bo vgrajen vaš ESP8266)

2. korak: Nalaganje kode in testiranje

Nalaganje kode in testiranje
Nalaganje kode in testiranje
Nalaganje kode in testiranje
Nalaganje kode in testiranje
Nalaganje kode in testiranje
Nalaganje kode in testiranje
Nalaganje kode in testiranje
Nalaganje kode in testiranje

Spremembe kode

Nadomestna povezava za prenos do kode Arduino TUKAJ

Odprite v Arduino IDE, preverite, ali je nameščena plošča ESP in PubSubClient ter da ste izbrali ploščo ESP8266 (orodja, plošča, generična plošča ESP8266) Uredite kodo ter spremenite ime in geslo dostopne točke WiFi ter naslov IP svojega posrednika MQTT (to je edino, kar morate spremeniti), kot je prikazano spodaj. Kliknite gumb »Preveri«, da zagotovite, da je v redu, nato pa preverite, ali so izbrana pravilna vrata COM (Orodja, Vrata) in kodo naložite v svoj ESP8266. Obstaja veliko člankov o tem, kako to narediti, kolesa tukaj ne bom znova izumil.

// Wifi

const char* ssid = "your_wifi_ssid_here"; const char* geslo = "your_wifi_password_ tukaj"; // IP -naslov posrednika MQTT MQTT_SERVER (192, 168, 222, 254);

Testiranje MQTT

Za testiranje lahko pustite priključen adapter FTDI in odprete serijski monitor v Arduino IDE, prikazana bi morala biti sporočila, ki natisnejo podatke o temperaturi v konzoli. Če morate odpraviti težave pri dohodnih sporočilih MQTT iz ESP8266 pri posredniku MQTT, na strežniku Mosquitto izvedite enega od naslednjih ukazov, da se naročite na dohodna sporočila:

mosquitto_sub -d -t openhab/hrv/status

Morali bi videti vhodna OBJAVNA sporočila, ki prihajajo iz ESP8266 vsakih 30 sekund s številko "1" (kar pomeni "živ sem") Če vidite konstantne "0" (ali sploh nič), potem ni komunikacije. Ko vidite, da prihaja številka 1, to pomeni, da ESP8266 komunicira s posrednikom MQTT (poiščite "Zadnja volja in zaveza MQTT" za več informacij o tem, kako to deluje, ali si oglejte ta res dober vnos v blog)

Zdaj lahko spremljate podatke o temperaturi in hitrosti ventilatorja, naročite se na eno od naslednjih. Upoštevajte pa, da koda pošilja podatke o temperaturi le, če so se kateri koli podatki spremenili. Spremlja zadnjo temperaturo, hitrost ventilatorja itd., Ki so bili poslani, zato morda ne boste videli informacij, ki prihajajo takoj.

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

Namig: naročite se na zgornjo temperaturo nadzorne plošče, nato pritisnite gumb za temperaturo na sami nadzorni plošči in videli boste, da prihaja nova nastavitev temperature.

Ko začnete to spajkati, se PCB velikosti 3 cm x 7 cm lepo prilega v škatlo za izpiranje za nadzorno ploščo HRV. Priporočam, da to storite le, če gre za plastično škatlo za izpiranje, saj lahko kovinska škatla moti signale Wifi ali morda prekine povezave na plošči tiskanega vezja. Druga možnost je, da natisnete plastično 3D ohišje za namestitev plošče.

3. korak: Spremembe OpenHAB

Konfiguracija OpenHAB

Potrebne spremembe OpenHAB so naslednje:

datoteka 'items':

/* HRVNumber hrvStatus "Status HRV [MAP (status.map):%d]" (gHRV) {mqtt = "<[mqttbroker: openhab/hrv/status: stanje: privzeto]"} Številka houseTemp "Hiša [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/housetemp: stanje: privzeto] "} Številka houseTemp_Chart_Period" Obdobje grafikona "Število roofTemp" Streha [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/rooftemp: state: default] "} Število roofTemp_Chart_Period" Obdobje grafikona "Število controlTemp" Nadzor [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/controltemp: stanje: privzeto] "} Niz hitrosti ventilatorja" Hitrost ventilatorja [%s] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/fanspeed: state: default] "}*/

datoteka »zemljevid mesta«:

Oznaka okvirja = "Temperatura HRV" {Besedilni element = roofTemp {Okvir {Preklop element = roofTemp_Chart_Period label = "Obdobje" preslikave = [0 = "Ura", 1 = "Dan", 2 = "Teden"] Url slike = "https:// localhost: 8080/rrdchart-p.webp

Priložene so dodatne ikone za OpenHAB (desni klik in shranjevanje slik)

Shranite te datoteke v mapo.. / OpenHAB Home / webapps / images na strežniku OpenHAB

Priporočena: