Indholdsfortegnelse:
Video: HRV -temperatur til OpenHAB Via ESP8266 (seriekodeksempel!): 3 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:31
HRV - Trådløs til OpenHAB
Denne instruktion er specifikt for dem, der har et HRV -system (varme -recirkulationsventilation) - selvom dele af kredsløbskortet, openhab -konfiguration eller Arduino -kode (f.eks. Læsning af TTL -seriedata) kan være nyttige til dine egne projekter eller tjene godt til læring. Det forudsætter, at du har et rimeligt kendskab til Arduino IDE, og hvad en ESP8266 -chip er.
Introduktion
Det følgende beskriver, hvordan man bygger en ESP8266, der opretter forbindelse til et HRV -system og sender tag- og hustemperaturer, kontrolpaneltemperatur og blæserhastighed via MQTT -meddelelser til OpenHAB. Dette er designet til at fungere med et ESP8266-01-kort (selvom det bør fungere med enhver ESP8266 3.3V-version) Hvis du har et lignende HRV-type system fra en alternativ leverandør, skal du afgøre, om data sendes som TTL-seriel, og i så fald, hvilken struktur dataene sendes som.
OpenHAB og Mosquitto
ESP8266 -koden er specielt skrevet til at arbejde med OpenHAB (open source hjemmeautomatiseringssoftware) og en MQTT -mægler som f.eks. Mosquitto (en protokol til abonnement/udgivelse af beskeder, der er let og god til kommunikation mellem enheder) Lad ikke navnene eller akronymer skræmmer dig, de er virkelig ganske enkle at bruge, når du først får at vide, hvordan de fungerer. Jeg bruger OpenHAB på en NTC C. H. I. P ($ 9 computer), men mange mennesker bruger en Raspberry Pi eller lignende. Denne vejledning forudsætter, at du har implementeret OpenHAB (hvis du har brug for hjælp til at konfigurere OpenHAB, følg denne fremragende artikel fra makeuseof -webstedet) Du skal også downloade og installere Mosquitto (MQTT -mægler) og tilhørende OpenHAB -binding. Du kan installere dette andre steder på dit netværk, men de fleste installerer dette bare på den samme maskine som OpenHAB for at holde det enkelt.
For at installere Mosquitto skal du følge dette link og derefter vælge den type enhed, du bruger, og følge instruktionerne. Fordi C. H. I. P kører Debian (Jessie), kan du følge Raspberry Pi -instruktionerne, hvis du bruger C. H. I. P til din hjemmeautomatiseringsenhed (bemærk også, at det er bedst at omkonfigurere CHIP til opstart fra CLI. Der er instruktioner til dette her)
Når du har OpenHAB og Mosquitto kørende, skal du forberede Arduino IDE til ESP8266 og kode. Først skal du tilføje biblioteket "PubSubClient". I Arduino IDE, fra menuens gå til Skitse, Inkluder bibliotek, Administrer biblioteker I filtersøgningsboksen, skriv PubSubClient, fremhæv derefter søgeresultatet og klik for at installere (i skrivende stund er den nyeste version 2.6.0) Du vil skal også tilføje ESP8266 -kortet til Arduino IDE, hvilket kan gøres ved at følge instruktionerne her
Hvad giver det mig?
Som nævnt tidligere vil dette projekt give dig mulighed for at se dit HRV -kontrolpanels tag, hus, kontrolpaneltemperaturer og blæserhastighed i OpenHAB GUI (i realtid!) Billederne viser, hvordan det ser ud fra min iPhone, plus de grafer, du vil komme ved at bore ned i de forskellige temperaturer.
For at få graferne skal du også installere og konfigurere RRD4J -bindingen (dette er meget ligetil) Dette giver dig mulighed for at klikke på enten 'Hus' eller 'Tag' og få en historik over HRV -temperaturer for hver i fortiden time, dag eller uge (eller længere, hvis du ændrer konfigurationen til at passe) Billederne er i celsius, og det er klart vinteren på den sydlige halvkugle, da jeg lavede dette!
Derudover oprettede jeg en OpenHAB-visning, der viser en sammenligning mellem udetemperatur (leveret af vejrbindings-tilføjelsen, i mit tilfælde ved hjælp af Wunderground) i forhold til tag- og hustemperaturerne ved at klikke på indstillingen 'Kontrol' (billedet viser grafen med hus, tag og udetemperatur aftegnet). Jeg planlægger at bruge disse data i regler til at tænde varmeapparater efter behov. Føj blot elementet Weather til din billedwebadresse i sitemapfilen og inkluder dette på den samme graf (f.eks.:… items = houseTemp, roofTemp, weatherTemp…)
Trin 1: Nødvendige dele / samling
Du skal bruge følgende dele
- En RJ11 -splitter (dette deler signalet fra controlleren i taget, til kontrolpanelet og ESP8266)
- Noget båndkabel og et RJ11 -stik (til at føre ledninger fra splitter til ESP8266)
- ESP8266-01 (andre 3.3V versioner burde fungere)
- TTL logic level converter (for at ændre data fra 5V -> 3.3V)
- AMS1117 3.3V spændingsregulator (eller lignende, for at ændre spænding fra HRV 5V -> 3.3V til strøm ESP8266)
- 1N5817 schottky -diode (af en eller anden grund hjalp dette med at stoppe HRV -kontrolpanelets nulstilling ved ESP -tænding)
- 10K ohm modstand (pullup modstand mellem 3,3 spændingsregulator og ESP CH_PD)
- 10V 10uF kondensator (eller lignende for at udjævne og stabelisere indgående strøm fra HRV)
- 10V 1uF kondensator (eller lignende for at udjævne og stabilisere udgående strøm til ESP)
- Valgfri glideknap for at programmere ESP (ellers skal man trække GPIO0 til GND manuelt for at programmere)
- En FTDI -adapter (til programmering af ESP, konverterer USB til seriel)
Saml i henhold til skematisk
Panelet viser, hvordan delene skal samles. Bemærk, at der er 6 ben, der kommer ned af båndkablet fra HRV -styreenheden i loftet:
Stifter 1 og 6 er 5V VCC
Stifter 2 og 5 er GND
Stifter 3 og 4 er data.
Du behøver kun at bruge ben 1, 2, 3 og 6 (1 og 6 VCC driver ESP8266 og den høje side af TTL -logikomformer, 2 er en fælles grund og 3 er til aflæsning af TTL -seriedata)
Den splitter, du har brug for, vil bare være en RJ11 -splitter, bare sørg for, at det er en splitter, hvor stifterne er lige igennem (f.eks.: pin 1 går til pin 1, pin 2 til pin 2 og så videre) Bemærk, at de ekstra hunstifter (som vist på billederne) er til tilslutning af en FTDI til omprogrammering af ESP senere, og den viste kontakt sætter den i "programmerings" -tilstand. Disse er valgfri, men anbefales (f.eks.: hvis du ændrer din WiFi -adgangskode, da WiFi -AP'en og adgangskoden er hårdt programmeret i koden, som du skal uploade, når din ESP8266 er bygget)
Trin 2: Upload kode og test
Kodeændringer
Alternativt downloadlink til Arduino -kode HER
Åbn i Arduino IDE, kontroller, at ESP -kortet er installeret såvel som PubSubClient, og at du har valgt ESP8266 -kortet (Værktøjer, Board, Generic ESP8266 Board) Rediger koden, og ændr WiFi AP -navn og adgangskode og IP -adressen på din MQTT -mægler (det er de eneste ting, du skal ændre) som vist nedenfor. Klik på knappen 'Bekræft' for at sikre, at den kompileres ok, og sørg for, at den korrekte COM -port er valgt (Værktøjer, port), og upload koden til din ESP8266. Der er masser af artikler om hvordan man gør dette, jeg vil ikke genopfinde hjulet her.
// Trådløst internet
const char* ssid = "din_wifi_ssid_her"; const char* password = "your_wifi_password_here"; // MQTT Broker IPAddress MQTT_SERVER (192, 168, 222, 254);
MQTT -test
Til test kan du lade din FTDI -adapter være tilsluttet og åbne den serielle skærm i Arduino IDE. Du skal se meddelelser, der udskriver temperaturoplysningerne i konsollen. Hvis du har brug for fejlfinding af indgående MQTT -meddelelser fra ESP8266 til din MQTT -mægler, skal du på Mosquitto -serveren køre en af følgende kommandoer for at abonnere på de indgående meddelelser:
myg_sub -d -t openhab/hrv/status
Du bør se indgående PUBLISH -meddelelser, der kommer ind fra ESP8266 hvert 30. sekund eller deromkring med tallet "1" (hvilket betyder "jeg lever") Hvis du ser konstante "0'er" (eller slet intet), så er der ingen kommunikation. Når du ser tallet 1 komme ind, betyder det, at ESP8266 kommunikerer med MQTT -mægleren (søg "MQTT Last Will and Testament" for mere information om, hvordan dette fungerer, eller se dette virkelig gode blogindlæg)
Du kan nu spore temperatur- og blæserhastighedsdata, abonnere på et af følgende. Bemærk dog, at koden kun sender temperaturdataene, hvis nogen data er ændret. Det holder styr på den sidste temperatur, ventilatorhastighed osv. Data, der blev sendt, så du kan ikke se oplysninger komme ind med det samme.
mosquitto_sub -d -t openhab/hrv/rooftemp
mosquitto_sub -d -t openhab/hrv/housetemp
mosquitto_sub -d -t openhab/hrv/controltemp
myg_sub -d -t openhab/hrv/fanspeed
Tip: abonnér på kontrolpaneltemperaturen ovenfor, og tryk derefter på temperaturknappen på selve betjeningspanelet, så du skulle se den nye temperaturindstilling komme ind.
Når du kommer til at lodde dette, passer et 3 cm x 7 cm printkort pænt i skyllekassen bag HRV -kontrolpanelet. Jeg vil kun anbefale at gøre dette, hvis det er en plastskylboks, da en metalboks kan forstyrre Wifi -signaler eller muligvis afslutte forbindelser på printkortet. Alternativt kan du udskrive et plastik 3D -etui til at montere brættet i.
Trin 3: OpenHAB -ændringer
OpenHAB -konfiguration
OpenHAB -ændringer, der kræves, er som følger:
'items' fil:
/* HRVNumber hrvStatus "HRV Status [MAP (status.map):%d]" (gHRV) {mqtt = "<[mqttbroker: openhab/hrv/status: state: default]"} Nummer husTemp "Hus [%.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] "} String fanSpeed" Fan Speed [%s] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/fanspeed: state: default] "}*/
'sitemap' fil:
Rammemærke = "HRV -temperatur" {Tekstelement = roofTemp {Ramme {Skift element = roofTemp_Chart_Period -etiket = "Periode" mappings = [0 = "Time", 1 = "Day", 2 = "Week"] Billede url = "https:// localhost: 8080/rrdchart-p.webp
Ekstra ikoner til OpenHAB er inkluderet (højreklik og gem billeder)
Gem disse filer i mappen.. / OpenHAB Home / webapps / images på din OpenHAB -server
Anbefalede:
Meddelelse om dørklokke til hørenedsættelse via hjemmeautomatisering (ESP-nu, MQTT, Openhab): 3 trin
Meddelelse om dørklokke til hørenedsættelse via hjemmeautomatisering (ESP-nu, MQTT, Openhab): I denne instruktør viser jeg dig, hvordan jeg integrerede min normale dørklokke i min hjemmeautomation. Denne løsning er velegnet til hørehæmmede. I mit tilfælde bruger jeg den til at få besked, hvis rummet er optaget og støjende ved en fødselsdagsfest for børnene. Jeg
LoRa Messenger til to enheder til distancer Op til 8 km: 7 trin
LoRa Messenger til to enheder til afstande Op til 8 km: Tilslut projektet til din bærbare computer eller telefon, og chat derefter mellem enhederne uden internet eller SMS ved hjælp af bare LoRa.Hey, hvad sker der gutter? Akarsh her fra CETech. I dag skal vi lave et projekt, der kan forbindes til din smartphone eller en hvilken som helst
Kontrolenheder via internettet via browser. (IoT): 6 trin
Kontrolenheder via internettet via browser. (IoT): I denne Instructable viser jeg dig, hvordan du kan styre enheder som lysdioder, relæer, motorer osv. Over internettet via webbrowser. Og du kan få adgang til kontrolelementerne sikkert over enhver enhed. Den webplatform, jeg brugte her, er RemoteMe.org -besøg
1A til 40A nuværende BOOST -konverter til op til 1000W DC -motor: 3 trin
1A til 40A Current BOOST-konverter til op til 1000W DC-motor: Hej! I denne video lærer du, hvordan du laver et strømforstærkerkredsløb til dine høj ampere DC-motorer op til 1000W og 40 ampere med transistorer og en center-tap-transformer. Selvom, strømmen ved udgangen er meget høj, men spændingen bliver r
Overbevis dig selv om bare at bruge en 12V-til-AC-line inverter til LED-lysstrenge i stedet for at genoprette dem til 12V .: 3 trin
Overbevis dig selv om bare at bruge en 12V-til-AC-line inverter til LED-lysstrenge i stedet for at genoprette dem til 12V .: Min plan var enkel. Jeg ville skære en væg-drevet LED-lysstreng i stykker og derefter genkoble den til at køre 12 volt. Alternativet var at bruge en strømomformer, men vi ved alle, at de er frygtelig ineffektive, ikke? Ret? Eller er de det?