Indholdsfortegnelse:

HRV -temperatur til OpenHAB Via ESP8266 (seriekodeksempel!): 3 trin
HRV -temperatur til OpenHAB Via ESP8266 (seriekodeksempel!): 3 trin

Video: HRV -temperatur til OpenHAB Via ESP8266 (seriekodeksempel!): 3 trin

Video: HRV -temperatur til OpenHAB Via ESP8266 (seriekodeksempel!): 3 trin
Video: Tour a Smart Home GeenStar Gut rehab with OA Awesome Wall (Corrected) 2024, November
Anonim
HRV -temperatur til OpenHAB Via ESP8266 (eksempel på seriekode!)
HRV -temperatur til OpenHAB Via ESP8266 (eksempel på seriekode!)
HRV -temperatur til OpenHAB Via ESP8266 (eksempel på seriekode!)
HRV -temperatur til OpenHAB Via ESP8266 (eksempel på seriekode!)
HRV -temperatur til OpenHAB Via ESP8266 (eksempel på seriekode!)
HRV -temperatur til OpenHAB Via ESP8266 (eksempel på seriekode!)

HRV - Trådløs til OpenHAB

Denne instruktion er specifikt for dem, der har et HRV -system (varme -recirkulationsventilation) - selvom dele af kredsløbskortet, openhab -konfiguration eller Arduino -kode (f.eks. Læsning af TTL -seriedata) kan være nyttige til dine egne projekter eller tjene godt til læring. Det forudsætter, at du har et rimeligt kendskab til Arduino IDE, og hvad en ESP8266 -chip er.

Introduktion

Det følgende beskriver, hvordan man bygger en ESP8266, der opretter forbindelse til et HRV -system og sender tag- og hustemperaturer, kontrolpaneltemperatur og blæserhastighed via MQTT -meddelelser til OpenHAB. Dette er designet til at fungere med et ESP8266-01-kort (selvom det bør fungere med enhver ESP8266 3.3V-version) Hvis du har et lignende HRV-type system fra en alternativ leverandør, skal du afgøre, om data sendes som TTL-seriel, og i så fald, hvilken struktur dataene sendes som.

OpenHAB og Mosquitto

ESP8266 -koden er specielt skrevet til at arbejde med OpenHAB (open source hjemmeautomatiseringssoftware) og en MQTT -mægler som f.eks. Mosquitto (en protokol til abonnement/udgivelse af beskeder, der er let og god til kommunikation mellem enheder) Lad ikke navnene eller akronymer skræmmer dig, de er virkelig ganske enkle at bruge, når du først får at vide, hvordan de fungerer. Jeg bruger OpenHAB på en NTC C. H. I. P ($ 9 computer), men mange mennesker bruger en Raspberry Pi eller lignende. Denne vejledning forudsætter, at du har implementeret OpenHAB (hvis du har brug for hjælp til at konfigurere OpenHAB, følg denne fremragende artikel fra makeuseof -webstedet) Du skal også downloade og installere Mosquitto (MQTT -mægler) og tilhørende OpenHAB -binding. Du kan installere dette andre steder på dit netværk, men de fleste installerer dette bare på den samme maskine som OpenHAB for at holde det enkelt.

For at installere Mosquitto skal du følge dette link og derefter vælge den type enhed, du bruger, og følge instruktionerne. Fordi C. H. I. P kører Debian (Jessie), kan du følge Raspberry Pi -instruktionerne, hvis du bruger C. H. I. P til din hjemmeautomatiseringsenhed (bemærk også, at det er bedst at omkonfigurere CHIP til opstart fra CLI. Der er instruktioner til dette her)

Når du har OpenHAB og Mosquitto kørende, skal du forberede Arduino IDE til ESP8266 og kode. Først skal du tilføje biblioteket "PubSubClient". I Arduino IDE, fra menuens gå til Skitse, Inkluder bibliotek, Administrer biblioteker I filtersøgningsboksen, skriv PubSubClient, fremhæv derefter søgeresultatet og klik for at installere (i skrivende stund er den nyeste version 2.6.0) Du vil skal også tilføje ESP8266 -kortet til Arduino IDE, hvilket kan gøres ved at følge instruktionerne her

Hvad giver det mig?

Som nævnt tidligere vil dette projekt give dig mulighed for at se dit HRV -kontrolpanels tag, hus, kontrolpaneltemperaturer og blæserhastighed i OpenHAB GUI (i realtid!) Billederne viser, hvordan det ser ud fra min iPhone, plus de grafer, du vil komme ved at bore ned i de forskellige temperaturer.

For at få graferne skal du også installere og konfigurere RRD4J -bindingen (dette er meget ligetil) Dette giver dig mulighed for at klikke på enten 'Hus' eller 'Tag' og få en historik over HRV -temperaturer for hver i fortiden time, dag eller uge (eller længere, hvis du ændrer konfigurationen til at passe) Billederne er i celsius, og det er klart vinteren på den sydlige halvkugle, da jeg lavede dette!

Derudover oprettede jeg en OpenHAB-visning, der viser en sammenligning mellem udetemperatur (leveret af vejrbindings-tilføjelsen, i mit tilfælde ved hjælp af Wunderground) i forhold til tag- og hustemperaturerne ved at klikke på indstillingen 'Kontrol' (billedet viser grafen med hus, tag og udetemperatur aftegnet). Jeg planlægger at bruge disse data i regler til at tænde varmeapparater efter behov. Føj blot elementet Weather til din billedwebadresse i sitemapfilen og inkluder dette på den samme graf (f.eks.:… items = houseTemp, roofTemp, weatherTemp…)

Trin 1: Nødvendige dele / samling

Nødvendige dele / samling
Nødvendige dele / samling
Nødvendige dele / samling
Nødvendige dele / samling
Nødvendige dele / samling
Nødvendige dele / samling

Du skal bruge følgende dele

  • En RJ11 -splitter (dette deler signalet fra controlleren i taget, til kontrolpanelet og ESP8266)
  • Noget båndkabel og et RJ11 -stik (til at føre ledninger fra splitter til ESP8266)
  • ESP8266-01 (andre 3.3V versioner burde fungere)
  • TTL logic level converter (for at ændre data fra 5V -> 3.3V)
  • AMS1117 3.3V spændingsregulator (eller lignende, for at ændre spænding fra HRV 5V -> 3.3V til strøm ESP8266)
  • 1N5817 schottky -diode (af en eller anden grund hjalp dette med at stoppe HRV -kontrolpanelets nulstilling ved ESP -tænding)
  • 10K ohm modstand (pullup modstand mellem 3,3 spændingsregulator og ESP CH_PD)
  • 10V 10uF kondensator (eller lignende for at udjævne og stabelisere indgående strøm fra HRV)
  • 10V 1uF kondensator (eller lignende for at udjævne og stabilisere udgående strøm til ESP)
  • Valgfri glideknap for at programmere ESP (ellers skal man trække GPIO0 til GND manuelt for at programmere)
  • En FTDI -adapter (til programmering af ESP, konverterer USB til seriel)

Saml i henhold til skematisk

Panelet viser, hvordan delene skal samles. Bemærk, at der er 6 ben, der kommer ned af båndkablet fra HRV -styreenheden i loftet:

Stifter 1 og 6 er 5V VCC

Stifter 2 og 5 er GND

Stifter 3 og 4 er data.

Du behøver kun at bruge ben 1, 2, 3 og 6 (1 og 6 VCC driver ESP8266 og den høje side af TTL -logikomformer, 2 er en fælles grund og 3 er til aflæsning af TTL -seriedata)

Den splitter, du har brug for, vil bare være en RJ11 -splitter, bare sørg for, at det er en splitter, hvor stifterne er lige igennem (f.eks.: pin 1 går til pin 1, pin 2 til pin 2 og så videre) Bemærk, at de ekstra hunstifter (som vist på billederne) er til tilslutning af en FTDI til omprogrammering af ESP senere, og den viste kontakt sætter den i "programmerings" -tilstand. Disse er valgfri, men anbefales (f.eks.: hvis du ændrer din WiFi -adgangskode, da WiFi -AP'en og adgangskoden er hårdt programmeret i koden, som du skal uploade, når din ESP8266 er bygget)

Trin 2: Upload kode og test

Upload kode og test
Upload kode og test
Upload kode og test
Upload kode og test
Upload kode og test
Upload kode og test
Upload kode og test
Upload kode og test

Kodeændringer

Alternativt downloadlink til Arduino -kode HER

Åbn i Arduino IDE, kontroller, at ESP -kortet er installeret såvel som PubSubClient, og at du har valgt ESP8266 -kortet (Værktøjer, Board, Generic ESP8266 Board) Rediger koden, og ændr WiFi AP -navn og adgangskode og IP -adressen på din MQTT -mægler (det er de eneste ting, du skal ændre) som vist nedenfor. Klik på knappen 'Bekræft' for at sikre, at den kompileres ok, og sørg for, at den korrekte COM -port er valgt (Værktøjer, port), og upload koden til din ESP8266. Der er masser af artikler om hvordan man gør dette, jeg vil ikke genopfinde hjulet her.

// Trådløst internet

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

MQTT -test

Til test kan du lade din FTDI -adapter være tilsluttet og åbne den serielle skærm i Arduino IDE. Du skal se meddelelser, der udskriver temperaturoplysningerne i konsollen. Hvis du har brug for fejlfinding af indgående MQTT -meddelelser fra ESP8266 til din MQTT -mægler, skal du på Mosquitto -serveren køre en af følgende kommandoer for at abonnere på de indgående meddelelser:

myg_sub -d -t openhab/hrv/status

Du bør se indgående PUBLISH -meddelelser, der kommer ind fra ESP8266 hvert 30. sekund eller deromkring med tallet "1" (hvilket betyder "jeg lever") Hvis du ser konstante "0'er" (eller slet intet), så er der ingen kommunikation. Når du ser tallet 1 komme ind, betyder det, at ESP8266 kommunikerer med MQTT -mægleren (søg "MQTT Last Will and Testament" for mere information om, hvordan dette fungerer, eller se dette virkelig gode blogindlæg)

Du kan nu spore temperatur- og blæserhastighedsdata, abonnere på et af følgende. Bemærk dog, at koden kun sender temperaturdataene, hvis nogen data er ændret. Det holder styr på den sidste temperatur, ventilatorhastighed osv. Data, der blev sendt, så du kan ikke se oplysninger komme ind med det samme.

mosquitto_sub -d -t openhab/hrv/rooftemp

mosquitto_sub -d -t openhab/hrv/housetemp

mosquitto_sub -d -t openhab/hrv/controltemp

myg_sub -d -t openhab/hrv/fanspeed

Tip: abonnér på kontrolpaneltemperaturen ovenfor, og tryk derefter på temperaturknappen på selve betjeningspanelet, så du skulle se den nye temperaturindstilling komme ind.

Når du kommer til at lodde dette, passer et 3 cm x 7 cm printkort pænt i skyllekassen bag HRV -kontrolpanelet. Jeg vil kun anbefale at gøre dette, hvis det er en plastskylboks, da en metalboks kan forstyrre Wifi -signaler eller muligvis afslutte forbindelser på printkortet. Alternativt kan du udskrive et plastik 3D -etui til at montere brættet i.

Trin 3: OpenHAB -ændringer

OpenHAB -konfiguration

OpenHAB -ændringer, der kræves, er som følger:

'items' fil:

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

Rammemærke = "HRV -temperatur" {Tekstelement = roofTemp {Ramme {Skift element = roofTemp_Chart_Period -etiket = "Periode" mappings = [0 = "Time", 1 = "Day", 2 = "Week"] Billede url = "https:// localhost: 8080/rrdchart-p.webp

Ekstra ikoner til OpenHAB er inkluderet (højreklik og gem billeder)

Gem disse filer i mappen.. / OpenHAB Home / webapps / images på din OpenHAB -server

Anbefalede: