Obsah:

Teplota HRV na OpenHAB přes ESP8266 (příklad sériového kódu!): 3 kroky
Teplota HRV na OpenHAB přes ESP8266 (příklad sériového kódu!): 3 kroky

Video: Teplota HRV na OpenHAB přes ESP8266 (příklad sériového kódu!): 3 kroky

Video: Teplota HRV na OpenHAB přes ESP8266 (příklad sériového kódu!): 3 kroky
Video: Падает температура двигателя при включении печки 2024, Červenec
Anonim
Teplota HRV na OpenHAB přes ESP8266 (příklad sériového kódu!)
Teplota HRV na OpenHAB přes ESP8266 (příklad sériového kódu!)
Teplota HRV na OpenHAB přes ESP8266 (příklad sériového kódu!)
Teplota HRV na OpenHAB přes ESP8266 (příklad sériového kódu!)
Teplota HRV na OpenHAB přes ESP8266 (příklad sériového kódu!)
Teplota HRV na OpenHAB přes ESP8266 (příklad sériového kódu!)

HRV - Wireless to OpenHAB

Tento návod je speciálně pro ty, kteří mají systém HRV (recirkulační ventilace s topením) - ačkoli části obvodové desky, konfigurace openhab nebo kód Arduino (například čtení sériových dat TTL) mohou být užitečné pro vaše vlastní projekty nebo mohou dobře sloužit pro učení. Předpokládá to, že máte rozumné znalosti o Arduino IDE a o tom, co je čip ESP8266.

Úvod

Následující část popisuje, jak vytvořit ESP8266, který se připojuje k systému HRV a odesílá do systému OpenHAB teploty střechy a domu, teplotu ovládacího panelu a rychlost ventilátoru prostřednictvím zpráv MQTT. Toto je navrženo tak, aby fungovalo s deskou ESP8266-01 (i když by mělo fungovat s jakoukoli verzí ESP8266 3.3V) Pokud máte podobný systém typu HRV od jiného dodavatele, budete muset určit, zda jsou data odesílána jako sériová TTL a pokud ano, v jaké struktuře jsou data odesílána.

OpenHAB a Mosquitto

Kód ESP8266 byl napsán speciálně pro práci s OpenHAB (open source software pro domácí automatizaci) a brokerem MQTT, jako je Mosquitto (protokol typu přihlášení k odběru/publikování, který je lehký a skvělý pro komunikaci mezi zařízeními). zkratky vás děsí, jejich použití je opravdu velmi jednoduché, jakmile se seznámíte s jejich fungováním. Používám OpenHAB na NTC C. H. I. P (počítač za 9 USD), nicméně mnoho lidí používá Raspberry Pi nebo podobné. Tento tutoriál předpokládá, že jste implementovali OpenHAB (pokud potřebujete pomoc s nastavením OpenHAB, postupujte podle tohoto skvělého článku z webu makeuseof) Také si musíte stáhnout a nainstalovat Mosquitto (broker MQTT) a související vazbu OpenHAB. Můžete to nainstalovat jinde ve vaší síti, ale většina lidí to prostě instaluje na stejný počítač jako OpenHAB, aby to bylo jednoduché.

Chcete -li nainstalovat Mosquitto, pomocí tohoto odkazu vyberte typ zařízení, které používáte, a postupujte podle pokynů. Protože C. H. I. P provozuje Debian (Jessie), můžete se řídit pokyny pro Raspberry Pi, pokud používáte C. H. I. P pro vaše zařízení domácí automatizace (také si všimněte, že je nejlepší překonfigurovat CHIP, aby se spustil z CLI. Pokyny k tomu jsou zde)

Jakmile spustíte OpenHAB a Mosquitto, musíte připravit Arduino IDE pro ESP8266 a kód. Nejprve musíte přidat knihovnu "PubSubClient". V Arduino IDE v nabídce přejděte na Skica, Zahrnout knihovnu, Spravovat knihovny Do vyhledávacího pole filtru zadejte PubSubClient, poté zvýrazněte výsledek hledání a klikněte na Instalovat (v době psaní je nejnovější verze 2.6.0). také je třeba přidat desku ESP8266 do Arduino IDE, což lze provést podle následujících pokynů

Co mi to dá?

Jak již bylo uvedeno dříve, tento projekt vám umožní zobrazit si střechu, dům, teploty ovládacího panelu a rychlost ventilátoru v grafickém rozhraní OpenHAB (v reálném čase!). Obrázky ukazují, jak to vypadá z mého iPhone, plus grafy, které se dostanete vrtáním dolů do různých teplot.

Chcete -li získat grafy, budete muset také nainstalovat a konfigurovat vazbu RRD4J (to je velmi přímočaré). To vám umožní kliknout buď na „Dům“nebo „Střecha“a získat historii teplot HRV pro každý z nich v minulosti hodina, den nebo týden (nebo déle, pokud změníte konfiguraci tak, aby vyhovovala) Zobrazené obrázky jsou v stupních Celsia a jasně, když jsem to udělal, zima na jižní polokouli!

Navíc jsem vytvořil zobrazení OpenHAB, které ukazuje srovnání mezi venkovní teplotou (poskytovanou doplňkem Weather binding, v mém případě pomocí Wundergroundu) a teplotou střechy a domu kliknutím na možnost 'Ovládat' (obrázek ukazuje graf s vykreslení domu, střechy a venkovní teploty). Plánuji použít tato data v pravidlech k zapnutí topných zařízení podle potřeby. Jednoduše přidejte položku Počasí na adresu URL obrázku v souboru mapy webu a zahrňte ji do stejného grafu (např.:… items = houseTemp, roofTemp, weatherTemp…)

Krok 1: Potřebné díly / montáž

Potřebné díly / montáž
Potřebné díly / montáž
Potřebné díly / montáž
Potřebné díly / montáž
Potřebné díly / montáž
Potřebné díly / montáž

Budete potřebovat následující díly

  • Rozbočovač RJ11 (ten rozděluje signál z ovladače na střeše, na ovládací panel a ESP8266)
  • Nějaký plochý kabel a zástrčka RJ11 (pro vedení vodičů z rozdělovače na ESP8266)
  • ESP8266-01 (ostatní verze 3,3 V by měly fungovat)
  • Převodník logické úrovně TTL (pro změnu dat z 5V -> 3,3V)
  • AMS1117 3,3 V regulátor napětí (nebo podobný, pro změnu napětí z HRV 5V -> 3,3V na napájení ESP8266)
  • 1N5817 schottky dioda (z nějakého důvodu to pomohlo zastavit resetování ovládacího panelu HRV při zapnutí ESP)
  • Rezistor 10K ohmů (pullup odpor mezi regulátorem napětí 3,3 a ESP CH_PD)
  • 10V 10uF kondenzátor (nebo podobný, pro vyhlazení a stabilizaci příchozí energie z HRV)
  • 10V 1uF kondenzátor (nebo podobný, pro vyhlazení a stabilizaci odchozí energie do ESP)
  • Volitelné posuvné tlačítko pro programování ESP (v opačném případě je třeba programově přetáhnout GPIO0 na GND ručně)
  • Adaptér FTDI (k programování ESP, převádí USB na sériový)

Sestavte podle schématu

Obrázek prkénka ukazuje, jak by měly být součásti sestaveny. Všimněte si, že na plochý kabel z řídicí jednotky HRV ve stropě sestupuje 6 kolíků:

Piny 1 a 6 jsou 5V VCC

Piny 2 a 5 jsou GND

Piny 3 a 4 jsou Data.

Stačí použít piny 1, 2, 3 a 6 (1 a 6 VCC napájí ESP8266 a vyšší stranu logického převodníku TTL, 2 je společný základ a 3 je pro čtení sériových dat TTL)

Potřebný rozbočovač bude jen rozdělovač RJ11, jen se ujistěte, že je rozdělovačem, kde jsou kolíky rovné (např.: kolík 1 jde na kolík 1, kolík 2 na kolík 2 atd.) Všimněte si, že další ženské kolíky (jako zobrazené na obrázcích) jsou pro připojení FTDI pro pozdější přeprogramování ESP a zobrazený přepínač jej přepne do režimu „programování“. Ty jsou volitelné, ale doporučené (např.: pokud změníte heslo k WiFi, protože přístupový bod WiFi a heslo jsou naprogramovány v kódu, který budete muset nahrát, jakmile bude váš ESP8266 sestaven)

Krok 2: Nahrání kódu a testování

Nahrávání kódu a testování
Nahrávání kódu a testování
Nahrávání kódu a testování
Nahrávání kódu a testování
Nahrávání kódu a testování
Nahrávání kódu a testování
Nahrávání kódu a testování
Nahrávání kódu a testování

Změny kódu

Alternativní odkaz ke stažení na kód Arduino ZDE

Otevřete v Arduino IDE, ujistěte se, že je nainstalována deska ESP i PubSubClient a že jste vybrali desku ESP8266 (Tools, Board, Generic ESP8266 Board) Upravte kód a změňte název a heslo WiFi AP a IP adresu váš makléř MQTT (to jsou jediné věci, které byste měli změnit), jak je uvedeno níže. Klikněte na tlačítko 'Ověřit', abyste se ujistili, že je kompilace v pořádku, pak se ujistěte, že je vybrán správný COM port (Nástroje, Port) a nahrajte kód do svého ESP8266. Existuje spousta článků o tom, jak to udělat, tady znovu neobjevím kolo.

// Wifi

const char* ssid = "your_wifi_ssid_here"; const char* heslo = "vaše_wifi_password_here"; // Adresa IP makléře MQTT MQTT_SERVER (192, 168, 222, 254);

Testování MQTT

Pro testování můžete nechat adaptér FTDI připojený a otevřít sériový monitor v Arduino IDE, v konzole byste měli vidět zprávy s tiskem informací o teplotě. Pokud potřebujete řešit problémy s příchozími zprávami MQTT z ESP8266 vašemu makléři MQTT, pak na serveru Mosquitto spusťte jeden z následujících příkazů k odběru příchozích zpráv:

mosquitto_sub -d -t openhab/hrv/status

Měli byste vidět příchozí zprávy PUBLISH přicházející z ESP8266 každých 30 sekund s číslem „1“(což znamená „jsem naživu“) Pokud vidíte konstantní „0“(nebo vůbec nic), pak není komunikace. Jakmile uvidíte číslo 1, které přichází, pak to znamená, že ESP8266 komunikuje s makléřem MQTT (další informace o tom, jak to funguje, hledejte v „Poslední vůli a svědectví MQTT“, nebo se podívejte na tento opravdu dobrý příspěvek na blog)

Nyní můžete sledovat údaje o teplotě a rychlosti ventilátoru, přihlaste se k odběru jednoho z následujících. Pamatujte však, že kód odesílá údaje o teplotě pouze v případě, že se některá data změnila. Sleduje poslední odeslanou teplotu, rychlost ventilátoru atd., Takže se vám nemusí zobrazovat informace přicházející okamžitě.

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

Tip: Přihlaste se k odběru teploty ovládacího panelu výše, poté stiskněte tlačítko teploty na samotném ovládacím panelu, měli byste vidět nové nastavení teploty.

Když se dostanete k pájení, PCB 3 cm x 7 cm se krásně vejde do splachovací krabice za ovládacím panelem HRV. Doporučil bych to provést pouze v případě, že se jedná o plastovou krabici, protože kovová skříňka může interferovat se signály Wifi nebo případně zkratovat připojení na desce plošných spojů. Alternativně můžete vytisknout plastové 3D pouzdro pro připevnění desky.

Krok 3: Změny OpenHAB

Konfigurace OpenHAB

Požadované změny OpenHAB jsou následující:

soubor 'items':

/* HRVNumber hrvStatus "Stav HRV [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] "} 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] "} Řetězec fanSpeed" Rychlost ventilátoru [%s] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/fanspeed: state: default] "}*/

soubor „mapa webu“:

Štítek rámce = "Teplota HRV" {Textová položka = roofTemp {Rámeček {Přepnout položku = roofTemp_Chart_Period label = mapování období "= [0 =" hodina ", 1 =" den ", 2 =" týden "] URL obrázku =" https:// localhost: 8080/rrdchart-p.webp

Dodatečné ikony pro OpenHAB jsou zahrnuty (klikněte pravým tlačítkem a uložte obrázky)

Uložte tyto soubory do složky.. / OpenHAB Home / webapps / images na vašem serveru OpenHAB

Doporučuje: