Sisällysluettelo:

HRV -lämpötila OpenHABiin ESP8266: n kautta (esimerkki sarjakoodista!): 3 vaihetta
HRV -lämpötila OpenHABiin ESP8266: n kautta (esimerkki sarjakoodista!): 3 vaihetta

Video: HRV -lämpötila OpenHABiin ESP8266: n kautta (esimerkki sarjakoodista!): 3 vaihetta

Video: HRV -lämpötila OpenHABiin ESP8266: n kautta (esimerkki sarjakoodista!): 3 vaihetta
Video: How to Improve Your HRV | Dr. Andy Galpin & Dr. Andrew Huberman 2024, Heinäkuu
Anonim
HRV -lämpötila OpenHAB: iin ESP8266: n kautta (esimerkki sarjakoodista!)
HRV -lämpötila OpenHAB: iin ESP8266: n kautta (esimerkki sarjakoodista!)
HRV -lämpötila OpenHAB: iin ESP8266: n kautta (esimerkki sarjakoodista!)
HRV -lämpötila OpenHAB: iin ESP8266: n kautta (esimerkki sarjakoodista!)
HRV -lämpötila OpenHAB: iin ESP8266: n kautta (esimerkki sarjakoodista!)
HRV -lämpötila OpenHAB: iin ESP8266: n kautta (esimerkki sarjakoodista!)

HRV - Langaton OpenHAB: iin

Tämä opas on tarkoitettu erityisesti niille, joilla on HRV (lämmityskiertoilmanvaihto) -järjestelmä - vaikka piirilevyn osat, openhab -kokoonpano tai Arduino -koodi (kuten TTL -sarjatietojen lukeminen) voivat olla käteviä omille projekteillesi tai palvella hyvin oppimista varten. Se olettaa, että sinulla on kohtuullinen tieto Arduino IDE: stä ja ESP8266 -sirusta.

Johdanto

Seuraavassa kuvataan, miten rakennetaan ESP8266, joka muodostaa yhteyden HRV -järjestelmään ja lähettää katon ja talon lämpötilat, ohjauspaneelin lämpötilan ja tuulettimen nopeuden MQTT -viestien kautta OpenHAB: lle. Tämä on suunniteltu toimimaan ESP8266-01-kortin kanssa (vaikka sen pitäisi toimia minkä tahansa ESP8266 3.3V -version kanssa) Jos sinulla on samanlainen HRV-tyyppinen järjestelmä toiselta toimittajalta, sinun on määritettävä, lähetetäänkö tiedot TTL-sarjana ja jos, millä rakenteella tiedot lähetetään.

OpenHAB ja Mosquitto

ESP8266 -koodi on kirjoitettu erityisesti käytettäväksi OpenHAB: n (avoimen lähdekoodin kotiautomaatio -ohjelmisto) ja MQTT -välittäjän, kuten Mosquiton kanssa (viestien tilaus-/julkaisutyyppiprotokolla, joka on kevyt ja sopii erinomaisesti laitteiden väliseen viestintään). lyhenteet pelottavat sinua, niitä on todella helppo käyttää, kun opit tuntemaan niiden toiminnan. Käytän OpenHABia NTC C. H. I. P: ssä (9 dollarin tietokone), mutta monet ihmiset käyttävät Raspberry Pi: tä tai vastaavaa. Tässä opetusohjelmassa oletetaan, että olet ottanut OpenHAB: n käyttöön (jos tarvitset apua OpenHABin määrittämisessä, seuraa tätä erinomaista artikkelia makeuseof -verkkosivustosta) Sinun on myös ladattava ja asennettava Mosquitto (MQTT -välittäjä) ja siihen liittyvä OpenHAB -sidonta. Voit asentaa tämän muualle verkkoon, mutta useimmat ihmiset vain asentavat tämän samaan koneeseen kuin OpenHAB pitääkseen sen yksinkertaisena.

Jos haluat asentaa Mosquiton, seuraa tätä linkkiä ja valitse käyttämäsi laitetyyppi ja seuraa ohjeita. Koska C. H. I. P käyttää Debiania (Jessie), voit noudattaa Raspberry Pi -ohjeita, jos käytät C. H. I. P: tä kodin automaatiolaitteellesi (huomaa myös, että on parasta konfiguroida CHIP uudelleen käynnistymään CLI: stä. Tästä on ohjeet)

Kun OpenHAB ja Mosquitto ovat käynnissä, sinun on valmisteltava Arduino IDE ESP8266 -koodia ja koodia varten. Ensin sinun on lisättävä PubSubClient -kirjasto. Siirry Arduino IDE: ssä valikosta Sketch, Include Library, Manage Libraries Kirjoita suodattimen hakukenttään PubSubClient, korosta hakutulos ja napsauta Install (kirjoitettaessa uusin versio on 2.6.0) täytyy myös lisätä ESP8266 -kortti Arduino IDE: hen, mikä voidaan tehdä noudattamalla tässä olevia ohjeita

Mitä tämä antaa minulle?

Kuten aiemmin todettiin, tämän projektin avulla voit tarkastella HRV -ohjauspaneelin kattoa, taloa, ohjauspaneelin lämpötiloja ja tuulettimen nopeutta OpenHAB GUI -käyttöliittymässä (reaaliajassa!) Kuvissa näkyy miltä se näyttää iPhonestani sekä kaaviot pääsee poraamalla eri lämpötiloihin.

Kaavioiden saamiseksi sinun on myös asennettava ja konfiguroitava RRD4J -sidonta (tämä on hyvin suoraviivaista) Tämän avulla voit napsauttaa joko 'House' tai 'Roof' ja saada historian HRV -lämpötiloista kullekin kuluneelta ajalta tunti, päivä tai viikko (tai pidempään, jos muutat kokoonpanoa sopivaksi) Näytetyt kuvat ovat celsiusasteita ja selvästi talvi eteläisellä pallonpuoliskolla, kun tein tämän!

Lisäksi olen luonut OpenHAB-näkymän, joka näyttää vertailun ulkolämpötilan (jonka sää sitova lisäosa tarjoaa, minun tapauksessani Wundergroundin avulla) ja katon ja talon lämpötilojen välillä napsauttamalla Ohjaus-vaihtoehtoa (kuva näyttää kaavion talo, katto ja ulkolämpötila piirretty). Aion käyttää näitä tietoja säännöissä lämmityslaitteiden kytkemiseksi päälle tarpeen mukaan. Lisää sää -kohde kuva -URL -osoitteeseesi sivustokarttatiedostoon ja lisää tämä samaan kaavioon (esim.… Kohteet = houseTemp, roofTemp, weatherTemp…)

Vaihe 1: Tarvittavat osat / kokoonpano

Tarvittavat osat / kokoonpano
Tarvittavat osat / kokoonpano
Tarvittavat osat / kokoonpano
Tarvittavat osat / kokoonpano
Tarvittavat osat / kokoonpano
Tarvittavat osat / kokoonpano

Tarvitset seuraavat osat

  • RJ11 -jakaja (tämä jakaa signaalin katon ohjaimesta ohjauspaneeliin ja ESP8266: een)
  • Jotkut nauhakaapelit ja RJ11 -pistoke (johtojen johtamiseen jakajasta ESP8266: een)
  • ESP8266-01 (muiden 3.3V-versioiden pitäisi toimia)
  • TTL -logiikkatasomuunnin (tietojen vaihtamiseksi 5V -> 3.3V)
  • AMS1117 3.3V jännitesäädin (tai vastaava, jännitteen vaihtamiseksi HRV 5V -> 3.3V virransyöttöön ESP8266)
  • 1N5817 schottky -diodi (jostain syystä tämä auttoi pysäyttämään HRV -ohjauspaneelin nollaamisen ESP -virran ollessa päällä)
  • 10K ohmin vastus (vetovoima 3,3 jännitesäätimen ja ESP CH_PD: n välillä)
  • 10V 10uF kondensaattori (tai vastaava, tasoittaa ja vakauttaa HRV: stä tulevaa virtaa)
  • 10 V: n 1uF -kondensaattori (tai vastaava, tasoittaa ja vakauttaa lähtevän tehon ESP: lle)
  • Valinnainen liukusäädin ESP: n ohjelmoimiseksi (muussa tapauksessa sinun on vedettävä GPIO0 GND: hen manuaalisesti ohjelmoidaksesi)
  • FTDI -sovitin (ESP: n ohjelmointiin, muuntaa USB: n sarjaan)

Kokoa kaavion mukaan

Leipälaudan kuva osoittaa, kuinka osat on koottava. Huomaa, että katossa olevan HRV -ohjausyksikön nauhakaapelin alas tulee 6 nastaa:

Nastat 1 ja 6 ovat 5 V VCC

Nastat 2 ja 5 ovat GND

Nastat 3 ja 4 ovat tietoja.

Sinun tarvitsee vain käyttää nastat 1, 2, 3 ja 6 (1 ja 6 VCC -virransyöttöä ESP8266 ja TTL -logiikkamuuntimen yläpuoli, 2 on yhteinen maa ja 3 on TTL -sarjatietojen lukeminen)

Tarvitsemasi jakaja on vain RJ11 -jakaja, varmista vain, että se on jakaja, jossa nastat ovat suoraan läpi (esim. Tappi 1 menee nastaan 1, tappi 2 - nasta 2 ja niin edelleen) Huomaa, että ylimääräiset naaraspultit (kuten kuvissa) käytetään FTDI: n liittämiseen ESP: n uudelleenohjelmointiin myöhemmin, ja esitetty kytkin asettaa sen "ohjelmointitilaan". Nämä ovat valinnaisia, mutta suositeltavia (esim. Jos vaihdat WiFi -salasanasi, koska WiFi -tukiasema ja salasana on ohjelmoitu koodiin, joka sinun on ladattava, kun ESP8266 on rakennettu)

Vaihe 2: Koodin lataaminen ja testaus

Latauskoodi ja testaus
Latauskoodi ja testaus
Latauskoodi ja testaus
Latauskoodi ja testaus
Latauskoodi ja testaus
Latauskoodi ja testaus
Latauskoodi ja testaus
Latauskoodi ja testaus

Koodimuutokset

Vaihtoehtoinen latauslinkki Arduino -koodiin TÄSTÄ

Avaa Arduino IDE, varmista, että ESP -kortti on asennettu samoin kuin PubSubClient ja että olet valinnut ESP8266 -kortin (Työkalut, Board, Yleinen ESP8266 -kortti) Muokkaa koodia ja muuta WiFi -tukiaseman nimi ja salasana sekä IP -osoite MQTT -välittäjäsi (nämä ovat ainoat asiat, jotka sinun on muutettava), kuten alla on esitetty. Napsauta 'Vahvista' -painiketta varmistaaksesi, että se kääntyy ok. Varmista sitten, että oikea COM -portti on valittu (Työkalut, Portti) ja lataa koodi ESP8266 -laitteeseen. On paljon artikkeleita siitä, miten tämä tehdään, en aio keksiä pyörää täällä.

// Wifi

const char* ssid = "sinun_wifi_palvelutunnuksesi"; const char* password = "sinun_wifi_salasana_ täällä"; // MQTT Broker IPAddress MQTT_SERVER (192, 168, 222, 254);

MQTT -testaus

Testausta varten voit jättää FTDI -sovittimen kytketyksi ja avata sarjamonitorin Arduino IDE -laitteessa. Näet viestit, jotka tulostavat lämpötilan tiedot konsolissa. Jos sinun on suoritettava ESP8266: sta saapuvien MQTT -viestien vianmääritys MQTT -välittäjälle, suorita Mosquitto -palvelimella jokin seuraavista komennoista tilataksesi saapuvat viestit:

mosquitto_sub -d -t openhab/hrv/status

Sinun pitäisi nähdä saapuvat JULKISET viestit, jotka tulevat ESP8266: lta noin 30 sekunnin välein numerolla "1" (eli "olen elossa"). Jos näet vakio "0" (tai ei mitään), kommunikaatiota ei tapahdu. Kun näet numeron 1 saapuvan, se tarkoittaa, että ESP8266 kommunikoi MQTT -välittäjän kanssa (hae "MQTT Last Will and Testament" saadaksesi lisätietoja tämän toiminnasta tai katso tämä todella hyvä blogikirjoitus)

Voit nyt seurata lämpötilan ja tuulettimen nopeuden tietoja, tilaamalla jonkin seuraavista. Huomaa kuitenkin, että koodi lähettää lämpötilatiedot vain, jos tiedot ovat muuttuneet. Se seuraa viimeisintä lähetettyä lämpötilaa, tuulettimen nopeutta jne., Joten et ehkä näe heti tulevia tietoja.

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

Vinkki: tilaa yllä oleva ohjauspaneelin lämpötila ja paina sitten ohjauspaneelin lämpötilapainiketta, jolloin uusi lämpötila -asetus tulee näkyviin.

Kun alat juottaa tämän, 3 cm x 7 cm PCB sopii hienosti HRV -ohjauspaneelin takana olevaan huuhtelulaatikkoon. Suosittelen tätä vain, jos se on muovinen huuhtelulaatikko, koska metallirasia voi häiritä Wifi -signaaleja tai mahdollisesti oikosulkea liitännät piirilevylle. Vaihtoehtoisesti voit tulostaa muovisen 3D -kotelon levyn kiinnittämiseksi.

Vaihe 3: OpenHAB -muutokset

OpenHAB -määritykset

Tarvittavat OpenHAB -muutokset ovat seuraavat:

"items" -tiedosto:

/* 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] "} Numero houseTemp_Chart_Period" Kaaviokausi "Number roofTemp" Katto [%.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' -tiedosto:

Frame label = "HRV Temperature" {Text item = roofTemp {Frame {Switch item = roofTemp_Chart_Period label = "Period" mappings = [0 = "Tunti", 1 = "Päivä", 2 = "Viikko"] Kuvan URL -osoite = "https:// localhost: 8080/rrdchart-p.webp

Muita OpenHAB -kuvakkeita sisältyy (napsauta hiiren kakkospainikkeella ja tallenna kuvat)

Tallenna nämä tiedostot OpenHAB -palvelimen.. / OpenHAB Home / webapps / images -kansioon

Suositeltava: