INHOUDSOPGAWE:

HRV -temperatuur na OpenHAB via ESP8266 (seriekode -voorbeeld!): 3 stappe
HRV -temperatuur na OpenHAB via ESP8266 (seriekode -voorbeeld!): 3 stappe

Video: HRV -temperatuur na OpenHAB via ESP8266 (seriekode -voorbeeld!): 3 stappe

Video: HRV -temperatuur na OpenHAB via ESP8266 (seriekode -voorbeeld!): 3 stappe
Video: Tour a Smart Home GeenStar Gut rehab with OA Awesome Wall (Corrected) 2024, Julie
Anonim
HRV -temperatuur na OpenHAB via ESP8266 (seriekode -voorbeeld!)
HRV -temperatuur na OpenHAB via ESP8266 (seriekode -voorbeeld!)
HRV -temperatuur na OpenHAB via ESP8266 (seriekode -voorbeeld!)
HRV -temperatuur na OpenHAB via ESP8266 (seriekode -voorbeeld!)
HRV -temperatuur na OpenHAB via ESP8266 (seriekode -voorbeeld!)
HRV -temperatuur na OpenHAB via ESP8266 (seriekode -voorbeeld!)

HRV - Draadloos na OpenHAB

Hierdie instruksie is spesifiek vir diegene met 'n HRV -stelsel (verwarming, hersirkulasie -ventilasie) - alhoewel dele van die printplaat, openhab -konfigurasie of Arduino -kode (soos die lees van TTL -seriegegevens) handig kan wees vir u eie projekte of goed kan leer. Dit neem wel aan dat u 'n redelike kennis het van die Arduino IDE en wat 'n ESP8266 -chip is.

Inleiding

Die volgende gee 'n uiteensetting van hoe u 'n ESP8266 bou wat met 'n HRV -stelsel verbind word en dak- en huistemperature, temperatuur van die bedieningspaneel en waaierspoed stuur via MQTT -boodskappe na OpenHAB. Dit is ontwerp om te werk met 'n ESP8266-01-bord (alhoewel dit met enige ESP8266 3.3V-weergawe behoort te werk), na watter struktuur die data gestuur word.

OpenHAB en Mosquitto

Die ESP8266 -kode is spesifiek geskryf om te werk met OpenHAB (open source tuisautomatiseringsagteware) en 'n MQTT -makelaar, soos Mosquitto ('n boodskap wat inteken/publiseer tipe protokol wat lig is en ideaal is vir kommunikasie tussen toestelle). akronieme maak jou bang, hulle is baie eenvoudig om te gebruik sodra jy leer hoe dit werk. Ek gebruik OpenHAB op 'n NTC C. H. I. P (US $ 9 -rekenaar), maar baie mense gebruik 'n Raspberry Pi of soortgelyke. Hierdie handleiding veronderstel dat u OpenHAB geïmplementeer het (as u hulp nodig het met die opstel van OpenHAB, volg hierdie uitstekende artikel op die webwerf van die maakgebruik) U moet Mosquitto (MQTT -makelaar) en verwante OpenHAB -binding ook aflaai en installeer. U kan dit elders op u netwerk installeer, maar die meeste mense installeer dit net op dieselfde masjien as OpenHAB om dit eenvoudig te hou.

Om Mosquitto te installeer, volg hierdie skakel, kies dan die tipe toestel wat u gebruik en volg die instruksies. Omdat C. H. I. P Debian (Jessie) bestuur, kan u die Raspberry Pi -instruksies volg as u C. H. I. P vir u Home Automation -toestel gebruik (let ook op: dit is die beste om CHIP te herkonfigureer om te begin vanaf die CLI. Hier is instruksies hiervoor)

As u eers OpenHAB en Mosquitto aan die gang het, moet u die Arduino IDE voorberei vir die ESP8266 en kode. Eerstens moet u die "PubSubClient" -biblioteek byvoeg. Gaan in die Arduino IDE na die skets, sluit biblioteek in, sluit biblioteek in, bestuur biblioteke vanaf die spyskaart, tik PubSubClient in die filter -soekvak, merk dan die soekresultaat en klik om te installeer (op die oomblik dat dit geskryf is, is die nuutste weergawe 2.6.0). moet ook die ESP8266 -bord by die Arduino IDE voeg, wat gedoen kan word deur die instruksies hier te volg

Wat gee dit my?

Soos vroeër gesê, sal hierdie projek u toelaat om u dak, huis, temperatuur van die bedieningspaneel en ventilatorsnelheid van u HRV -bedieningspaneel te sien (in reële tyd!) Die beelde wys hoe dit op my iPhone lyk, plus die grafieke wat u het kry deur te boor in die verskillende temperature.

Om die grafieke te kry, moet u ook die RRD4J -binding installeer en konfigureer (dit is baie eenvoudig) Hiermee kan u op 'Huis' of 'Dak' klik en 'n geskiedenis van HRV -temperature vir elkeen in die verlede kry uur, dag of week (of langer, as u die konfigurasie aanpas) Die getoonde beelde is in celsius, en dit was duidelik die winter in die suidelike halfrond toe ek dit gemaak het!

Boonop het ek 'n OpenHAB-aansig geskep wat 'n vergelyking toon tussen buitentemperatuur (verskaf deur die weerbinding-byvoeging, in my geval met Wunderground) teenoor die dak- en huistemperature deur op die 'Beheer'-opsie te klik (die prentjie toon die grafiek met huis, dak en buitentemperatuur geteken). Ek beplan om hierdie gegewens in reëls te gebruik om verwarmingstoestelle aan te skakel soos benodig. Voeg eenvoudig die Weather -item by u prent -URL in die sitemap -lêer en voeg dit op dieselfde grafiek (bv.:… items = houseTemp, roofTemp, weatherTemp…)

Stap 1: Onderdele benodig / monteer

Onderdele benodig / monteer
Onderdele benodig / monteer
Onderdele benodig / monteer
Onderdele benodig / monteer
Onderdele benodig / monteer
Onderdele benodig / monteer

U benodig die volgende dele

  • 'N RJ11 -splitter (dit verdeel die sein van die beheerder in die dak, na die bedieningspaneel en die ESP8266)
  • 'N Lintkabel en 'n RJ11 -prop (om drade van splitter na ESP8266 te lei)
  • ESP8266-01 (ander 3.3V weergawes behoort te werk)
  • TTL logika -omskakelaar (om data van 5V -> 3.3V te verander)
  • AMS1117 3.3V spanningsreguleerder (of soortgelyk, om spanning te verander van HRV 5V -> 3.3V na ESP8266)
  • 1N5817 schottky -diode (om een of ander rede het dit gehelp dat die HRV -bedieningspaneel teruggestel word wanneer ESP ingeskakel word)
  • 10K ohm weerstand (pullup weerstand tussen 3.3 Voltage Regulator en ESP CH_PD)
  • 10V 10uF kapasitor (of soortgelyk, om inkomende krag van HRV glad te maak en te stabiliseer)
  • 10V 1uF kapasitor (of soortgelyk, om uitgaande krag na ESP glad te maak en te stabiliseer)
  • Opsionele skuifknoppie om die ESP te programmeer (anders moet u GPIO0 handmatig na GND trek om te programmeer)
  • 'N FTDI -adapter (om die ESP te programmeer, omskakel USB na reeks)

Monteer volgens die skematiese

Die paneelbord toon hoe die dele gemonteer moet word. Let daarop dat daar 6 penne op die lintkabel van die HRV -beheereenheid in die plafon kom:

Spelde 1 en 6 is 5V VCC

Spelde 2 en 5 is GND

Spelde 3 en 4 is data.

U hoef slegs penne 1, 2, 3 en 6 te gebruik (1 en 6 VCC -kragte ESP8266 en die hoë kant van TTL -logika -omskakelaar, 2 is 'n gemeenskaplike grondslag en 3 is vir die lees van TTL -seriële data)

Die splitter wat u benodig, is net 'n RJ11 -splitter; maak seker dat dit 'n splitter is waar die penne reguit is (bv. Pen 1 gaan na pen 1, pen 2 na pen 2 ensovoorts) Let op dat die ekstra vroulike penne (soos op die beelde) is vir die aansluiting van 'n FTDI vir herprogrammering van die ESP later, en die skakelaar wat dit wys, plaas dit in die 'programmeer' -modus. Dit is opsioneel, maar word aanbeveel (bv. As u u WiFi -wagwoord verander aangesien die WiFi AP en die wagwoord hard in die kode geprogrammeer is, wat u sal moet oplaai sodra u ESP8266 gebou is)

Stap 2: Laai kode op en toets

Laai kode op en toets
Laai kode op en toets
Laai kode op en toets
Laai kode op en toets
Laai kode op en toets
Laai kode op en toets
Laai kode op en toets
Laai kode op en toets

Kodeveranderinge

Alternatiewe aflaai skakel na Arduino kode HIER

Maak oop in die Arduino IDE, maak seker dat die ESP -bord geïnstalleer is, sowel as die PubSubClient en dat u die ESP8266 -bord gekies het (Tools, Board, Generic ESP8266 Board) Wysig die kode en verander die WiFi AP naam en wagwoord en die IP -adres van u MQTT -makelaar (dit is die enigste dinge wat u moet verander) soos hieronder getoon. Klik op die 'Verifieer' knoppie om te verseker dat dit goed opstel, en maak seker dat die korrekte COM -poort gekies is (gereedskap, poort) en laai die kode op na u ESP8266. Daar is baie artikels oor hoe om dit te doen, ek sal nie die wiel hier uitvind nie.

// Wifi

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

MQTT toets

Om te toets, kan u u FTDI -adapter aangeslote laat en die Serial Monitor in die Arduino IDE oopmaak; u moet boodskappe sien wat die temperatuurinligting in die konsole druk. As u inkomende MQTT -boodskappe van die ESP8266 na u MQTT -makelaar moet oplos, voer dan een van die volgende opdragte op die Mosquitto -bediener uit om op die inkomende boodskappe in te teken:

mosquitto_sub -d -t openhab/hrv/status

U behoort inkomende PUBLISH -boodskappe elke 30 sekondes van die ESP8266 af te sien met die nommer "1" (wat beteken "ek lewe"). As u konstante "0's" (of glad niks) sien, is daar geen kommunikasie nie. As u die nommer 1 sien inkom, beteken dit dat die ESP8266 met die MQTT -makelaar kommunikeer (soek "MQTT Last Will and Testament" vir meer inligting oor hoe dit werk, of sien hierdie baie goeie bloginskrywing)

U kan nou temperatuur- en waaierspoeddata opspoor, teken in op een van die volgende. Let egter daarop dat die kode slegs die temperatuurdata stuur as enige data verander het. Dit hou die laaste temperatuur, waaiersnelheid, ens. Wat gestuur is, by, sodat u moontlik nie onmiddellik inligting sien inkom nie.

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

Wenk: teken in op die temperatuur van die bedieningspaneel hierbo, en druk dan op die temperatuurknoppie op die bedieningspaneel self.

As u klaar is om dit te soldeer, pas 'n PCB van 3 x 7 cm goed in die spoelbak agter die HRV -bedieningspaneel. Ek beveel aan dat u dit slegs doen as dit 'n plastiese spoelboks is, aangesien 'n metaalkas die Wifi -seine kan belemmer of die verbindings op die printplaat kan onderbreek. Alternatiewelik kan u 'n plastiese 3D -omhulsel uitdruk om die bord in te plaas.

Stap 3: OpenHAB -veranderinge

OpenHAB -opset

OpenHAB -veranderinge wat benodig word, is soos volg:

'items' -lêer:

/* HRVNumber hrvStatus "HRV Status [MAP (status.map):%d]" (gHRV) {mqtt = "<[mqttbroker: openhab/hrv/status: state: default]"} Number houseTemp "Huis [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/housetemp: state: default] "} Number houseTemp_Chart_Period" Chart Period "Number roofTemp" Dak [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/rooftemp: state: default] "} Number roofTemp_Chart_Period" Chart Period "Number 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] "}*/

'sitemap' -lêer:

Raametiket = "HRV Temperatuur" {Teks item = roofTemp {Raam {Wissel item = roofTemp_Chart_Period label = "Periode" kartering = [0 = "Uur", 1 = "Dag", 2 = "Week"] Beeld url = "https:// localhost: 8080/rrdchart-p.webp

Ekstra ikone vir OpenHAB is ingesluit (klik met die rechtermuisknop en stoor prente)

Stoor hierdie lêers in die map.. / OpenHAB Home / webapps / images op u OpenHAB -bediener

Aanbeveel: