Taula de continguts:

Temperatura HRV a OpenHAB mitjançant ESP8266 (exemple de codi sèrie!): 3 passos
Temperatura HRV a OpenHAB mitjançant ESP8266 (exemple de codi sèrie!): 3 passos

Vídeo: Temperatura HRV a OpenHAB mitjançant ESP8266 (exemple de codi sèrie!): 3 passos

Vídeo: Temperatura HRV a OpenHAB mitjançant ESP8266 (exemple de codi sèrie!): 3 passos
Vídeo: Honda HR-V Verificando água do radiador e do reservatório 2024, Desembre
Anonim
Temperatura HRV a OpenHAB mitjançant ESP8266 (exemple de codi sèrie!)
Temperatura HRV a OpenHAB mitjançant ESP8266 (exemple de codi sèrie!)
Temperatura HRV a OpenHAB mitjançant ESP8266 (exemple de codi sèrie!)
Temperatura HRV a OpenHAB mitjançant ESP8266 (exemple de codi sèrie!)
Temperatura HRV a OpenHAB mitjançant ESP8266 (exemple de codi sèrie!)
Temperatura HRV a OpenHAB mitjançant ESP8266 (exemple de codi sèrie!)

HRV: sense fils a OpenHAB

Aquesta instrucció és específica per a aquells que tenen un sistema HRV (ventilació de recirculació de la calefacció), tot i que algunes parts de la placa de circuit, la configuració openhab o el codi Arduino (com ara llegir dades de sèrie TTL) poden ser útils per als vostres propis projectes o servir per aprendre. Suposa que teniu un coneixement raonable de l’IDE Arduino i del que és un xip ESP8266.

Introducció

A continuació es descriu com construir un ESP8266 que es connecti a un sistema HRV i que enviï les temperatures del sostre i de la casa, la temperatura del tauler de control i la velocitat del ventilador mitjançant missatges MQTT a OpenHAB. Està dissenyat per funcionar amb una placa ESP8266-01 (tot i que hauria de funcionar amb qualsevol versió ESP8266 3.3V)., quina estructura s’envien les dades.

OpenHAB i Mosquitto

El codi ESP8266 s’ha escrit específicament per treballar amb OpenHAB (programari domòtic de codi obert) i un broker MQTT com ara Mosquitto (un protocol de tipus subscripció / publicació de missatgeria que és lleuger i ideal per a la comunicació entre dispositius). les sigles us espanten, són realment senzilles d'utilitzar un cop conegueu el seu funcionament. Utilitzo OpenHAB en un NTC C. H. I. P (ordinador de 9 dòlars EUA), però molta gent utilitza un Raspberry Pi o similar. Aquest tutorial suposa que heu implementat OpenHAB (si necessiteu ajuda per configurar OpenHAB, seguiu aquest excel·lent article del lloc web makeuseof) També heu de descarregar i instal·lar Mosquitto (corredor MQTT) i la vinculació OpenHAB relacionada. Podeu instal·lar-ho en qualsevol altre lloc de la vostra xarxa, però la majoria de la gent ho instal·la a la mateixa màquina que OpenHAB per simplificar-ho.

Per instal·lar Mosquitto, seguiu aquest enllaç i seleccioneu el tipus de dispositiu que utilitzeu i seguiu les instruccions. Com que C. H. I. P executa Debian (Jessie), podeu seguir les instruccions de Raspberry Pi si utilitzeu C. H. I. P per al vostre dispositiu d’automatització domèstica (també tingueu en compte que és millor reconfigurar CHIP per arrencar des de la CLI. Aquí hi ha instruccions)

Un cop tingueu en funcionament OpenHAB i Mosquitto, heu de preparar l'IDE Arduino per a l'ESP8266 i el codi. En primer lloc, cal afegir la biblioteca "PubSubClient". A l’IDE Arduino, des del menú aneu a Esbós, Inclou biblioteca, Gestiona biblioteques. Al quadre de cerca de filtres, escriviu PubSubClient i ressalteu el resultat de la cerca i feu clic a Instal·la (en el moment d’escriure, l’última versió és 2.6.0). també cal afegir la placa ESP8266 a l'IDE Arduino, cosa que es pot fer seguint les instruccions aquí

Què em dóna això?

Com s’ha dit anteriorment, aquest projecte us permetrà veure el sostre, la casa, les temperatures del tauler de control i la velocitat del ventilador a la interfície gràfica d’usuari d’OpenHAB (en temps real!). Les imatges mostren el seu aspecte des del meu iPhone, a més de les gràfiques aconseguirà perforant a les diferents temperatures.

Per obtenir els gràfics, també haureu d’instal·lar i configurar l’enquadernació RRD4J (això és molt senzill). Això us permetrà fer clic a “Casa” o a “Sostre” i obtenir un historial de temperatures HRV per a cadascuna d’elles en el passat. hora, dia o setmana (o més, si modifiqueu la configuració per adaptar-la) Les imatges mostrades es mostren en centígrads, i és clar que és l'hivern a l'hemisferi sud quan vaig fer això.

A més, he creat una vista OpenHAB que mostra una comparació entre la temperatura exterior (proporcionada pel complement d’enllaç Weather, en el meu cas amb Wunderground) i la temperatura del sostre i de la casa fent clic a l’opció "Control" (la imatge mostra el gràfic amb casa, sostre i temperatura exterior representats). Tinc previst utilitzar aquestes dades a les normes per activar els aparells de calefacció segons sigui necessari. Simplement afegiu l'element Meteorològic a la vostra URL d'imatge al fitxer del mapa del lloc i incloeu-lo al mateix gràfic (per exemple: … articles = houseTemp, roofTemp, weatherTemp …)

Pas 1: peces necessàries / muntatge

Peces necessàries / Muntatge
Peces necessàries / Muntatge
Peces necessàries / Muntatge
Peces necessàries / Muntatge
Peces necessàries / Muntatge
Peces necessàries / Muntatge

Necessitareu les següents parts

  • Un divisor RJ11 (aquest divideix el senyal del controlador al terrat, al tauler de control i a l'ESP8266)
  • Alguns cables de cinta i un endoll RJ11 (per fer passar cables des del divisor a ESP8266)
  • ESP8266-01 (haurien de funcionar altres versions de 3,3 V)
  • Convertidor de nivell lògic TTL (per canviar dades de 5V a> 3,3V)
  • AMS1117 Regulador de voltatge de 3,3 V (o similar, per canviar el voltatge de HRV 5V -> 3,3V a l'alimentació ESP8266)
  • 1N5817 díode schottky (per alguna raó, això va ajudar a aturar el restabliment del tauler de control del HRV a l’encesa de l’ESP)
  • Resistència de 10 K ohmios (resistència de tracció entre regulador de voltatge 3,3 i ESP CH_PD)
  • Condensador 10V 10uF (o similar, per suavitzar i estabelitzar la potència d'entrada de HRV)
  • Condensador de 10 V 1 uF (o similar, per suavitzar i estabelitzar la potència de sortida a ESP)
  • Botó de diapositiva opcional per programar l'ESP (en cas contrari, cal que tireu de GPIO0 a GND manualment per programar)
  • Un adaptador FTDI (per programar l’ESP, converteix l’USB en sèrie)

Muntatge segons l’esquema

La imatge de la taula mostra el muntatge de les peces. Tingueu en compte que hi ha 6 pins que baixen del cable de cinta de la unitat de control HRV al sostre:

Els pins 1 i 6 són VCC de 5V

Els pins 2 i 5 són GND

Els pins 3 i 4 són dades.

Només cal que utilitzeu els pins 1, 2, 3 i 6 (1 i 6 potències VCC ESP8266 i la part alta del convertidor lògic TTL, 2 és un punt comú i 3 és per llegir dades de sèrie TTL)

El divisor que necessiteu serà només un divisor RJ11, només cal que assegureu-vos que sigui un divisor on els pins passin directament (per exemple: el pin 1 passa al pin 1, el pin 2 al pin 2 i així successivament) Tingueu en compte que els pins femelles addicionals (com que apareixen a les imatges) serveixen per connectar un FTDI per reprogramar posteriorment l’ESP, i el commutador que es mostra el posa en mode de "programació". Aquests són opcionals, però es recomana (per exemple: si canvieu la contrasenya WiFi, ja que el punt d'accés i la contrasenya WiFi estan programats amb força al codi, que haureu de penjar un cop es construeixi l'ESP8266)

Pas 2: càrrega de codi i proves

Càrrega de codi i proves
Càrrega de codi i proves
Càrrega de codi i proves
Càrrega de codi i proves
Càrrega de codi i proves
Càrrega de codi i proves
Càrrega de codi i proves
Càrrega de codi i proves

Canvis de codi

Enllaç de descàrrega alternatiu al codi Arduino AQUÍ

Obriu a l'IDE Arduino, assegureu-vos que la placa ESP està instal·lada, així com el PubSubClient i que heu seleccionat la placa ESP8266 (Tools, Board, Generic ESP8266 Board) Editeu el codi i canvieu el nom i la contrasenya de l'AP WiFi i l'adreça IP de el vostre corredor MQTT (aquestes són les úniques coses que hauríeu de canviar), tal com es mostra a continuació. Feu clic al botó "Verifica" per assegurar-vos que es compila bé i assegureu-vos que el port COM correcte està seleccionat (Eines, Port) i pengeu el codi al vostre ESP8266. Hi ha un munt d'articles sobre com fer això, no reinventaré la roda aquí.

// Wifi

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

Proves MQTT

Per fer proves, podeu deixar connectat l’adaptador FTDI i obrir el monitor de sèrie a l’IDE Arduino; hauríeu de veure els missatges que imprimien la informació de temperatura a la consola. Si necessiteu solucionar problemes dels missatges MQTT entrants des de l’ESP8266 al vostre corredor MQTT, al servidor Mosquitto executeu una de les ordres següents per subscriure-vos als missatges entrants:

mosquitto_sub -d -t openhab / hrv / status

Hauríeu de veure els missatges PUBLICATS entrants que provenen de l'ESP8266 cada 30 segons aproximadament amb el número "1" (que significa "Estic viu"). Si veieu els "0" constants (o res), no hi haurà comunicació. Un cop veieu que entra el número 1, vol dir que l'ESP8266 es comunica amb l'agent MQTT (cerqueu "Última voluntat i testament de MQTT" per obtenir més informació sobre com funciona, o bé veure aquesta entrada de bloc realment bona)

Ara podeu fer un seguiment de les dades de temperatura i velocitat del ventilador, subscriviu-vos a un dels següents. Tanmateix, tingueu en compte que el codi només envia les dades de temperatura si alguna informació ha canviat. Realitza un seguiment de les últimes dades de temperatura, velocitat del ventilador, etc. enviades, de manera que és possible que no vegeu la informació que entra immediatament.

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

Consell: subscriviu-vos a la temperatura del tauler de control que hi ha més amunt i, a continuació, premeu el botó de temperatura del mateix tauler de control per veure la nova configuració de temperatura.

Quan us dediqueu a soldar això, un PCB de 3cm x 7cm s’adapta molt bé a la caixa de ras del darrere del tauler de control HRV. Recomanaria fer-ho només si es tracta d'una caixa de rentat de plàstic, ja que una caixa metàl·lica pot interferir amb els senyals Wifi o, possiblement, reduir les connexions a la placa PCB. Alternativament, podeu imprimir una funda de plàstic 3D per muntar-la.

Pas 3: Canvis OpenHAB

Configuració OpenHAB

Els canvis d’OpenHAB necessaris són els següents:

fitxer 'elements':

/ * HRVNumber hrvStatus "HRV Status [MAP (status.map):% d]" (gHRV) {mqtt = "<[mqttbroker: openhab / hrv / status: state: default]"} Nombre houseTemp "Casa [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab / hrv / housetemp: state: default] "} Número houseTemp_Chart_Period" Gràfic Període "Número roofTemp" Sostre [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab / hrv / rooftemp: state: default] "} Nombre roofTemp_Chart_Period" Període del gràfic "Número controlTemp" Control [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab / hrv / controltemp: state: default] "} String fanSpeed" Fan Speed [% s] "(gHRV) {mqtt =" <[mqttbroker: openhab / hrv / fanspeed: state: default] "} * /

fitxer 'mapa del lloc':

Frame label = "HRV Temperature" {Text item = roofTemp {Frame {Switch item = roofTemp_Chart_Period label = "Period" mappings = [0 = "Hour", 1 = "Day", 2 = "Week"] Image url = "https:// localhost: 8080 / rrdchart-p.webp

S'inclouen icones addicionals per a OpenHAB (feu clic amb el botó dret i deseu imatges)

Deseu aquests fitxers a la carpeta.. / OpenHAB Home / webapps / images del servidor OpenHAB

Recomanat: