Sisällysluettelo:
- Vaihe 1: Tarvittavat osat / kokoonpano
- Vaihe 2: Koodin lataaminen ja testaus
- Vaihe 3: OpenHAB -muutokset
Video: HRV -lämpötila OpenHABiin ESP8266: n kautta (esimerkki sarjakoodista!): 3 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:04
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
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
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:
Kuinka tehdä oma käyttöjärjestelmä! (erä ja esimerkki sisällä): 5 vaihetta
Kuinka tehdä oma käyttöjärjestelmä! (erä ja esimerkki sisällä): Tee se nyt
Esimerkki MTP Arduino -ohjelmoinnista: 5 vaihetta
Esimerkki MTP Arduino -ohjelmoinnista: Tässä opetusohjelmassa näytämme kuinka käyttää SLG46824/6 Arduino-ohjelmointiluonnosta Dialog SLG46824/6 GreenPAK ™ Multiple-Time Programmable (MTP) -laitteen ohjelmointiin. Useimmat GreenPAK-laitteet ovat kertakäyttöisiä (OTP), mikä tarkoittaa, että kun niiden ei-V
Ohjaa laitteita Internetin kautta selaimen kautta. (IoT): 6 vaihetta
Ohjaa laitteita Internetin kautta selaimen kautta. (IoT): Tässä ohjeessa näytän sinulle, kuinka voit ohjata laitteita, kuten LED-valoja, releitä, moottoreita jne. Internetin kautta verkkoselaimen kautta. Ja voit käyttää ohjaimia turvallisesti millä tahansa laitteella. Tässä käyttämäni verkkoalusta on RemoteMe.org -vierailu
Smart Power Strip perustuu Beaglebone Blackiin ja OpenHABiin: 7 vaihetta (kuvilla)
Smart Power Strip perustuu Beaglebone Blackiin ja OpenHABiin: !!!!! Pelaaminen verkkovirralla (110/220V) on vaarallista, ole erittäin varovainen !!!!! ja kaksi Arduinoa, jotka näkyvät kuvassa "Vanha muotoilu" .Tämä uusi
Tiedostojen siirtäminen lähiverkon kautta BitTorrentin kautta: 6 vaihetta
Tiedostojen siirtäminen lähiverkon kautta BitTorrentin kautta: Joskus sinun on ehkä siirrettävä tiedostoja verkon kautta useille tietokoneille. Vaikka voit laittaa sen flash -asemaan tai CD/DVD -levylle, sinun on mentävä jokaiseen tietokoneeseen kopioimalla tiedostot, ja kaikkien tiedostojen kopioiminen voi viedä hetken (etenkin f