Innholdsfortegnelse:
Video: HRV -temperatur til OpenHAB Via ESP8266 (seriekodeksempel!): 3 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:26
HRV - Trådløst til OpenHAB
Denne instruksjonen er spesielt for de som har et HRV -system (varme -resirkulasjonsventilasjon) - selv om deler av kretskortet, openhab -konfigurasjon eller Arduino -kode (for eksempel å lese TTL -seriedata) kan være nyttige for dine egne prosjekter eller tjene godt for læring. Det forutsetter at du har rimelig kunnskap om Arduino IDE og hva en ESP8266 -brikke er.
Introduksjon
Følgende skisserer hvordan du bygger en ESP8266 som kobles til et HRV -system og sender tak- og hustemperaturer, kontrollpaneltemperatur og viftehastighet via MQTT -meldinger til OpenHAB. Dette er designet for å fungere med et ESP8266-01-kort (selv om det skal fungere med alle ESP8266 3.3V-versjoner) Hvis du har et lignende HRV-type system fra en alternativ leverandør, må du avgjøre om data sendes som TTL-seriell, og i så fall, hvilken struktur dataene sendes som.
OpenHAB og Mosquitto
ESP8266 -koden har blitt skrevet spesielt for å jobbe med OpenHAB (åpen kildekode hjemmeautomatiseringsprogramvare) og en MQTT -megler som Mosquitto (en meldingsabonnement/publiser type protokoll som er lett og flott for kommunikasjon mellom enheter) Ikke la navnene eller akronymer skremmer deg, de er egentlig ganske enkle å bruke når du blir kjent med hvordan de fungerer. Jeg bruker OpenHAB på en NTC C. H. I. P (9 dollar datamaskin), men mange bruker en Raspberry Pi eller lignende. Denne opplæringen forutsetter at du har implementert OpenHAB (hvis du trenger hjelp til å konfigurere OpenHAB, følg denne utmerkede artikkelen fra webområdet makeuseof) Du må også laste ned og installere Mosquitto (MQTT -megler) og tilhørende OpenHAB -binding. Du kan installere dette andre steder på nettverket ditt, men de fleste installerer dette bare på samme maskin som OpenHAB for å holde det enkelt.
For å installere Mosquitto, følg denne lenken, velg deretter typen enhet du bruker og følg instruksjonene. Fordi C. H. I. P kjører Debian (Jessie), kan du følge Raspberry Pi -instruksjonene hvis du bruker C. H. I. P for din hjemmeautomatiseringsenhet (vær også oppmerksom på at det er best å omkonfigurere CHIP for oppstart fra CLI. Det er instruksjoner for dette her)
Når du har OpenHAB og Mosquitto i gang, må du forberede Arduino IDE for ESP8266 og kode. Først må du legge til "PubSubClient" -biblioteket. I Arduino IDE, fra menyen, gå til Skisse, Inkluder bibliotek, Administrer biblioteker Skriv inn PubSubClient i filtersøkfeltet, merk deretter søkeresultatet og klikk for å installere (i skrivende stund er den siste versjonen 2.6.0) Du vil må også legge til ESP8266 -kortet i Arduino IDE, som kan gjøres ved å følge instruksjonene her
Hva gir dette meg?
Som nevnt tidligere vil dette prosjektet tillate deg å se taket, huset, kontrollpanelets temperatur og viftehastighet i OpenHAB GUI (i sanntid!) På bildene på HRV -kontrollpanelet. Bildene viser hvordan det ser ut fra min iPhone, pluss grafene du vil komme ved å bore ned i de forskjellige temperaturene.
For å få grafene må du også installere og konfigurere RRD4J -bindingen (dette er veldig rett frem) Dette lar deg klikke på enten "Hus" eller "Tak" og få en historie med HRV -temperaturer for hver tidligere time, dag eller uke (eller lengre, hvis du endrer konfigurasjonen slik at den passer) Bildene som vises er i celsius, og det er klart vinteren på den sørlige halvkule da jeg lagde dette!
I tillegg opprettet jeg en OpenHAB-visning som viser en sammenligning mellom utetemperatur (levert av Weather binding-tillegget, i mitt tilfelle ved bruk av Wunderground) mot taket og husets temperaturer ved å klikke på alternativet "Kontroll" (bildet viser grafen med hus, tak og utetemperatur plottet). Jeg planlegger å bruke disse dataene i regler for å slå på varmeapparater etter behov. Bare legg til Vær -elementet i Bilde -URL -en i nettstedskartfilen og inkluder dette på den samme grafen (f.eks.:… items = houseTemp, roofTemp, weatherTemp…)
Trinn 1: Nødvendige deler / montering
Du trenger følgende deler
- En RJ11 -splitter (dette deler signalet fra kontrolleren i taket, til kontrollpanelet og ESP8266)
- Noen båndkabler og en RJ11 -plugg (for å føre ledninger fra splitter til ESP8266)
- ESP8266-01 (andre 3.3V-versjoner bør fungere)
- TTL logisk nivåomformer (for å endre data fra 5V -> 3,3V)
- AMS1117 3.3V spenningsregulator (eller lignende, for å endre spenning fra HRV 5V -> 3.3V til strøm ESP8266)
- 1N5817 schottky -diode (av en eller annen grunn bidro dette til å stoppe HRV -kontrollpanelet ved å tilbakestille ESP -strømmen)
- 10K ohm motstand (pullup motstand mellom 3,3 spenningsregulator og ESP CH_PD)
- 10V 10uF kondensator (eller lignende, for å jevne ut og stabelisere innkommende strøm fra HRV)
- 10V 1uF kondensator (eller lignende, for å jevne ut og stabelisere utgående strøm til ESP)
- Valgfri skyveknapp for å programmere ESP (ellers må du trekke GPIO0 til GND manuelt for å programmere)
- En FTDI -adapter (for å programmere ESP, konverterer USB til seriell)
Monter i henhold til skjemaet
Brettbrettbildet viser hvordan delene skal settes sammen. Vær oppmerksom på at det er 6 pinner som kommer ned i båndkabelen fra HRV -kontrollerenheten i taket:
Pins 1 og 6 er 5V VCC
Pins 2 og 5 er GND
Pins 3 og 4 er Data.
Du trenger bare å bruke pinnene 1, 2, 3 og 6 (1 og 6 VCC driver ESP8266 og den høye siden av TTL -logikkomformeren, 2 er en felles grunn og 3 er for å lese TTL -seriedata)
Splitteren du trenger vil bare være en RJ11 splitter, bare sørg for at det er en splitter der pinnene er rett igjennom (f.eks. Pin 1 går til pin 1, pin 2 til pin 2 og så videre) Vær oppmerksom på at de ekstra hunnpinnene (som vist på bildene) er for tilkobling av en FTDI for omprogrammering av ESP senere, og bryteren som vises setter den i "programmerings" -modus. Disse er valgfrie, men anbefalte (f.eks. Hvis du endrer WiFi -passordet ettersom WiFi AP og passord er hardt programmert i koden, som du må laste opp når ESP8266 er bygget)
Trinn 2: Last opp kode og testing
Kodeendringer
Alternativ nedlastingskobling til Arduino -kode HER
Åpne i Arduino IDE, kontroller at ESP -kortet er installert så vel som PubSubClient og at du har valgt ESP8266 -kortet (Tools, Board, Generic ESP8266 Board) Rediger koden og endre WiFi AP -navn og passord og IP -adressen til din MQTT -megler (dette er de eneste tingene du trenger å endre) som vist nedenfor. Klikk på "Bekreft" -knappen for å sikre at den kompileres ok, og kontroller at den riktige COM -porten er valgt (Verktøy, port) og last opp koden til ESP8266. Det er mange artikler rundt om hvordan du gjør dette, jeg vil ikke finne opp hjulet på nytt her.
// 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 -testing
For testing kan du la FTDI -adapteren være tilkoblet og åpne Serial Monitor i Arduino IDE. Du bør se meldinger som skriver ut temperaturinformasjonen i konsollen. Hvis du trenger å feilsøke innkommende MQTT -meldinger fra ESP8266 til din MQTT -megler, kan du kjøre en av følgende kommandoer på Mosquitto -serveren for å abonnere på de innkommende meldingene:
mosquitto_sub -d -t openhab/hrv/status
Du bør se innkommende PUBLISH -meldinger som kommer inn fra ESP8266 hvert 30. sekund med tallet "1" (som betyr "Jeg lever") Hvis du ser konstante "0 -er" (eller ingenting i det hele tatt) så er det ingen kommunikasjon. Når du ser tallet 1 komme inn, betyr det at ESP8266 kommuniserer med MQTT -megleren (søk "MQTT Last Will and Testament" for mer informasjon om hvordan dette fungerer, eller se denne virkelig gode blogginnlegget)
Du kan nå spore temperatur- og viftehastighetsdata, abonnere på ett av følgende. Vær imidlertid oppmerksom på at koden bare sender temperaturdataene hvis noen data er endret. Den holder styr på den siste temperaturen, viftehastigheten osv. Dataene som ble sendt, så du kan ikke se informasjon komme inn umiddelbart.
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
Tips: abonner på kontrollpaneltemperaturen ovenfor, og trykk deretter på temperaturknappen på selve kontrollpanelet. Du bør se den nye temperaturinnstillingen komme inn.
Når du kommer til å lodde dette, passer en 3 cm x 7 cm PCB fint i skylleboksen bak HRV -kontrollpanelet. Jeg anbefaler bare å gjøre dette hvis det er en skylleboks av plast, da en metallboks kan forstyrre Wifi -signaler eller muligens koble ut tilkoblinger på kretskortet. Alternativt kan du skrive ut et plastikk 3D -etui for å montere brettet i.
Trinn 3: OpenHAB -endringer
OpenHAB -konfigurasjon
OpenHAB -endringer som kreves er som følger:
'items' 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] "}*/
'nettstedskart' -fil:
Rammeetikett = "HRV Temperatur" {Tekst element = roofTemp {Ramme {Bytt element = roofTemp_Chart_Period label = "Periode" mappings = [0 = "Time", 1 = "Day", 2 = "Week"] Bilde url = "https:// localhost: 8080/rrdchart-p.webp
Ekstra ikoner for OpenHAB er inkludert (høyreklikk og lagre bilder)
Lagre disse filene i mappen.. / OpenHAB Home / webapps / images på OpenHAB -serveren
Anbefalt:
MCU Få tilgang til internettjeneste via IFTTT - Ameba Arduino: 3 trinn
MCU Få tilgang til internettjeneste via IFTTT - Ameba Arduino: Tilgang til internettjeneste er en enkel jobb for en smartenhet som en Android -telefon, et nettbrett eller en PC, men ikke så lett for mikrokontrollere siden det vanligvis krever bedre tilkobling og prosessorkraft. Imidlertid kan vi laste av den tunge delen av
Skrive til en OLED -skjerm via Bluetooth: 6 trinn
Skrive til en OLED -skjerm via Bluetooth: Dette prosjektet er inspirert og en remiks av Arduino LCD -skjermkontroll via BluetoothIntroduksjon: I dette prosjektet skal vi lage en " Bluetooth OLED. &Quot; Det vi gjør i dette designet er å koble en Arduino til en OLED og en Bluetooth -modul
Flysky RF -sender drevet via USB + ledningssignaltilkobling til PC + gratis simulatorprogramvare: 6 trinn
Flysky RF -sender drevet via USB + ledningssignalforbindelse til PC + gratis simulatorprogramvare: Hvis du er som meg, vil du teste RF -senderen din og lære før du krasjer ditt kjære RF -fly/drone. Dette vil gi deg ekstra moro, samtidig som du sparer tonnevis med penger og tid. For å gjøre det, er den beste måten å koble RF -senderen til deg
Dørklokkemelding for hørselshemmede via hjemmeautomatisering (ESP-nå, MQTT, Openhab): 3 trinn
Dørklokkemelding for hørselshemmede via hjemmeautomatisering (ESP-nå, MQTT, Openhab): I denne instruksjonsboken viser jeg deg hvordan jeg integrerte min normale dørklokke i hjemmeautomatisering. Denne løsningen er godt egnet for hørselshemmede. I mitt tilfelle bruker jeg den til å bli varslet om rommet er travelt og bråkete på en bursdagsfest for barna. JEG
HRV (Home Air Exchanger) Arduino Controller With Air Economizer: 7 trinn (med bilder)
HRV (Home Air Exchanger) Arduino Controller With Air Economizer: HRV Arduino Controller with Air Economizer Så min historie med dette prosjektet er at jeg bor i Minnesota og kretskortet mitt stekt på LifeBreath 155Max HRV. Jeg ville ikke betale $ 200 for en ny. Jeg har alltid ønsket noe med en luftøkonomiserende synd