Innehållsförteckning:
Video: HRV -temperatur till OpenHAB Via ESP8266 (seriekodsexempel!): 3 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:48
HRV - Trådlöst till OpenHAB
Denna instruktion är speciellt för dem som har ett HRV -system (värmecirkulationsventilation) - även om delar av kretskortet, openhab -konfiguration eller Arduino -kod (som att läsa TTL -seriedata) kan vara praktiska för dina egna projekt eller fungera bra för inlärning. Det förutsätter att du har en rimlig kunskap om Arduino IDE och vad ett ESP8266 -chip är.
Introduktion
Följande beskriver hur man bygger en ESP8266 som ansluter till ett HRV -system och skickar tak- och hustemperaturer, kontrollpaneltemperatur och fläkthastighet via MQTT -meddelanden till OpenHAB. Detta är utformat för att fungera med ett ESP8266-01-kort (även om det ska fungera med alla ESP8266 3.3V-versioner) Om du har ett liknande HRV-system från en alternativ leverantör måste du avgöra om data skickas som TTL-seriell och i så fall, vilken struktur data skickas som.
OpenHAB och Mosquitto
ESP8266 -koden har skrivits specifikt för att fungera med OpenHAB (öppen källkod hemautomatiseringsprogram) och en MQTT -mäklare som Mosquitto (ett protokoll som prenumererar/publicerar typ som är lätt och bra för kommunikation mellan enheter) Låt inte namnen eller akronymer skrämmer dig, de är verkligen ganska enkla att använda när du väl får veta hur de fungerar. Jag använder OpenHAB på en NTC C. H. I. P (US $ 9 -dator) men många använder en Raspberry Pi eller liknande. Denna handledning förutsätter att du har implementerat OpenHAB (om du behöver hjälp med att konfigurera OpenHAB, följ den här utmärkta artikeln från webbplatsen makeuseof) Du måste också ladda ner och installera Mosquitto (MQTT -mäklare) och relaterad OpenHAB -bindning. Du kan installera detta någon annanstans i ditt nätverk, men de flesta installerar bara det på samma dator som OpenHAB för att hålla det enkelt.
För att installera Mosquitto, följ denna länk, välj sedan vilken typ av enhet du använder och följ instruktionerna. Eftersom C. H. I. P kör Debian (Jessie) kan du följa Raspberry Pi -instruktionerna om du använder C. H. I. P för din hemautomationsenhet (observera också att det är bäst att omkonfigurera CHIP för att starta från CLI. Det finns instruktioner för detta här)
När du har OpenHAB och Mosquitto igång måste du förbereda Arduino IDE för ESP8266 och kod. Först måste du lägga till biblioteket "PubSubClient". I Arduino IDE, från menyn går du till Sketch, Include Library, Manage Libraries I filtersökrutan skriver du PubSubClient och markerar sedan sökresultatet och klickar för att installera (i skrivande stund är den senaste versionen 2.6.0) Du kommer att måste också lägga till ESP8266 -kortet i Arduino IDE vilket kan göras genom att följa instruktionerna här
Vad ger detta mig?
Som tidigare nämnts kommer detta projekt att tillåta dig att se ditt tak för HRV -kontrollpanel, hus, kontrollpaneltemperaturer och fläkthastighet i OpenHAB GUI (i realtid!) Bilderna visar hur det ser ut från min iPhone, plus diagrammen du kommer genom att borra ner i de olika temperaturerna.
För att få graferna måste du också installera och konfigurera RRD4J -bindningen (detta är väldigt rakt fram) Detta låter dig klicka på antingen "Hus" eller "Tak" och få en historik över HRV -temperaturer för varje tidigare timme, dag eller vecka (eller längre, om du ändrar konfigurationen för att passa) Bilderna som visas är i celsius, och det är klart att det är vinter på södra halvklotet när jag gjorde detta!
Dessutom skapade jag en OpenHAB-vy som visar en jämförelse mellan utomhustemperatur (tillhandahålls av tillägget Väderbindning, i mitt fall med Wunderground) jämfört med tak- och hustemperaturer genom att klicka på alternativet "Kontroll" (bilden visar grafen med hus, tak och utetemperatur plottade). Jag planerar att använda dessa data i regler för att slå på värmeapparater efter behov. Lägg helt enkelt till väderobjektet i din bild -URL i webbplatskartfilen och inkludera detta på samma graf (t.ex.:… items = houseTemp, roofTemp, weatherTemp…)
Steg 1: Nödvändiga delar / montering
Du behöver följande delar
- En RJ11 -delare (detta delar signalen från styrenheten i taket, till kontrollpanelen och ESP8266)
- Någon bandkabel och en RJ11 -kontakt (för att driva ledningar från splitter till ESP8266)
- ESP8266-01 (andra 3.3V-versioner bör fungera)
- TTL -logikkonverterare (för att ändra data från 5V -> 3,3V)
- AMS1117 3.3V spänningsregulator (eller liknande, för att ändra spänning från HRV 5V -> 3.3V till ström ESP8266)
- 1N5817 schottky -diod (av någon anledning hjälpte detta till att stoppa HRV -kontrollpanelen när ESP slås på)
- 10K ohm motstånd (pullup motstånd mellan 3,3 spänningsregulator och ESP CH_PD)
- 10V 10uF kondensator (eller liknande, för att jämna ut och stabelisera inkommande effekt från HRV)
- 10V 1uF kondensator (eller liknande, för att jämna ut och stabelisera utgående ström till ESP)
- Valfri glidknapp för att programmera ESP (annars måste du dra GPIO0 till GND manuellt för att programmera)
- En FTDI -adapter (för att programmera ESP, konverterar USB till seriell)
Montera enligt schemat
Panelen visar hur delarna ska monteras. Observera att det finns 6 stift som kommer ner i bandkabeln från HRV -styrenheten i taket:
Stift 1 och 6 är 5V VCC
Stift 2 och 5 är GND
Stift 3 och 4 är data.
Du behöver bara använda stiften 1, 2, 3 och 6 (1 och 6 VCC driver ESP8266 och högsidan av TTL -logikomvandlaren, 2 är en gemensam grund och 3 är för att läsa TTL -seriedata)
Delaren du behöver kommer bara att vara en RJ11 -splitter, se bara till att det är en splitter där stiften är raka igenom (t.ex.: stift 1 går till stift 1, stift 2 till stift 2 och så vidare) Observera att de extra honstiften (som visas på bilderna) är för anslutning av en FTDI för omprogrammering av ESP senare, och omkopplaren som visas sätter den i "programmerings" -läge. Dessa är valfria, men rekommenderas (t.ex.: om du ändrar ditt WiFi -lösenord eftersom WiFi AP och lösenord är hårt programmerade i koden, som du måste ladda upp när din ESP8266 är byggd)
Steg 2: Ladda upp kod och testa
Kodändringar
Alternativ nedladdningslänk till Arduino -kod HÄR
Öppna i Arduino IDE, se till att ESP -kortet är installerat liksom PubSubClient och att du har valt ESP8266 -kortet (Tools, Board, Generic ESP8266 Board) Redigera koden och ändra WiFi AP -namn och lösenord och IP -adressen för din MQTT -mäklare (det är de enda sakerna du behöver ändra) som visas nedan. Klicka på "Verifiera" -knappen för att se till att den kompileras ok, se till att rätt COM -port är vald (Verktyg, Port) och ladda upp koden till din ESP8266. Det finns gott om artiklar om hur man gör detta, jag kommer inte att uppfinna hjulet på nytt här.
// 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 -testning
För testning kan du låta din FTDI -adapter vara ansluten och öppna seriemonitorn i Arduino IDE. Du bör se meddelanden som skriver ut temperaturinformationen i konsolen. Om du behöver felsöka inkommande MQTT -meddelanden från ESP8266 till din MQTT -mäklare, kör på Mosquitto -servern ett av följande kommandon för att prenumerera på inkommande meddelanden:
mosquitto_sub -d -t openhab/hrv/status
Du bör se inkommande PUBLISH -meddelanden som kommer in från ESP8266 var 30: e sekund eller så med siffran "1" (vilket betyder "jag lever") Om du ser konstanta "0: or" (eller ingenting alls) så finns det ingen kommunikation. När du väl sett siffran 1 kommer in betyder det att ESP8266 kommunicerar med MQTT -mäklaren (sök "MQTT Last Will and Testament" för mer information om hur det fungerar, eller se det här riktigt bra blogginlägget)
Du kan nu spåra temperatur- och fläkthastighetsdata, prenumerera på något av följande. Observera dock att koden bara skickar temperaturdata om någon data har ändrats. Den håller reda på den senaste temperaturen, fläkthastigheten etc som skickades, så du kanske inte ser information komma in direkt.
mosquitto_sub -d -t openhab/hrv/rooftemp
mosquitto_sub -d -t openhab/hrv/housetemp
mosquitto_sub -d -t openhab/hrv/controltemp
mygga_sub -d -t openhab/hrv/fanspeed
Tips: prenumerera på kontrollpanelens temperatur ovan, tryck sedan på temperaturknappen på kontrollpanelen själv så att den nya temperaturinställningen kommer in.
När du börjar löda detta passar ett 3 cm x 7 cm kretskort fint i spolboxen bakom HRV -kontrollpanelen. Jag rekommenderar bara att göra detta om det är en plastspolningslåda eftersom en metallbox kan störa Wifi -signaler eller eventuellt kortsluta anslutningar på kretskortet. Alternativt kan du skriva ut ett plast 3D -fodral för att montera kortet i.
Steg 3: OpenHAB -ändringar
OpenHAB -konfiguration
OpenHAB -ändringar som krävs är följande:
"objekt" -fil:
/* 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] "} Number houseTemp_Chart_Period" Chart Period "Number roofTemp" Tak [%.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:
Rametikett = "HRV -temperatur" {Text item = roofTemp {Frame {Switch item = roofTemp_Chart_Period label = "Period" mappings = [0 = "Time", 1 = "Day", 2 = "Week"] Image url = "https:// localhost: 8080/rrdchart-p.webp
Extra ikoner för OpenHAB ingår (högerklicka och spara bilder)
Spara dessa filer i mappen.. / OpenHAB Home / webapps / images på din OpenHAB -server
Rekommenderad:
Lägg till en digital display till en gammal kommunikationsmottagare: 6 steg (med bilder)
Lägg till en digital display till en gammal kommunikationsmottagare: En av bristerna med att använda en äldre kommunikationsutrustning är det faktum att den analoga ratten inte är särskilt exakt. Du gissar alltid på frekvensen du får. I AM- eller FM -banden är detta i allmänhet inte ett problem eftersom du vanligtvis
Raspberry PI 3 - Aktivera seriell kommunikation till TtyAMA0 till BCM GPIO 14 och GPIO 15: 9 steg
Raspberry PI 3 - Aktivera seriell kommunikation till TtyAMA0 till BCM GPIO 14 och GPIO 15: Jag hade nyligen intresse av att aktivera UART0 på min Raspberry Pi (3b) så att jag kunde ansluta den direkt till en RS -232 signalnivåenhet med en standard 9 -nål d-sub-kontakt utan att behöva gå via en USB till RS-232-adapter. En del av mitt intresse
Lägg till Aux till Sonos med Raspberry Pi: 26 steg (med bilder)
Lägg till Aux till Sonos med Raspberry Pi: Jag har alltid varit fascinerad av Raspberry Pi men har aldrig haft ett riktigt behov av en förrän nu. Vi har tre Sonos -komponenter i vårt hus: En Play 5 i vardagsrummet, en Play 3 i sovrummet och en Sonos CONNECT: AMP som driver utomhushögtalare på våra
Lägg till en WIZ820io / USR -ES1 - Wiznet W5500 nätverksport till din Raspberry Pi: 10 steg
Lägg till en WIZ820io / USR -ES1 - Wiznet W5500 nätverksport till din Raspberry Pi .: Dels på grund av mitt intresse för att göra något sådant, och delvis på grund av mitt intresse för Codesys har jag haft det i tankarna ett tag nu att försök att ansluta en andra nätverksgränssnittsport till en Raspberry Pi. Så medan jag gjorde andra projekt har jag varit
Dörrklocksmeddelande för hörselskadade via hemautomation (ESP-nu, MQTT, Openhab): 3 steg
Dörrklocksmeddelande för hörselskadade via hemautomation (ESP-nu, MQTT, Openhab): I denna instruktionsbok visar jag dig hur jag integrerade min normala dörrklocka i min hemautomation. Denna lösning är väl lämpad för hörselskadade. I mitt fall använder jag den för att få besked om rummet är upptaget och bullrigt på barnens födelsedagsfest. Jag