Innehållsförteckning:

ESP32 IoT -vattenvärmare: 12 steg
ESP32 IoT -vattenvärmare: 12 steg

Video: ESP32 IoT -vattenvärmare: 12 steg

Video: ESP32 IoT -vattenvärmare: 12 steg
Video: Next Videos - ESP32 Development Board (Web Server Project) 2024, November
Anonim
ESP32 IoT -vattenvärmare
ESP32 IoT -vattenvärmare

Cayenne IoT geyser (varmvattentank i USA) är en energibesparande enhet som hjälper dig att övervaka och kontrollera ditt hushålls varmvatten, även när du är hemifrån. Det gör att du kan slå på och stänga av din gejser, schemalägga den för att slå på/av vid vissa tidpunkter, mäta temperaturen på gejsaren, ställ in maximala spartemperaturer etc. Den är gjord för högtrycks elektriska gejsrar med ett enda element. Det kan enkelt modifieras för andra gejserkonfigurationer som lågtryck, dubbla element etc. Min gejser är också installerad vertikalt.

För säkerhets skull förvarade jag min mekaniska termostat i röret. Jag mäter vattentemperaturen med två DS18B20 temp -sensorer, den ena fäst vid botten av min gejser, under elementet, den andra ansluten till varmvattenutloppet. Du bör aldrig ta bort din mekaniska termostat av säkerhetsskäl. Att byta ut den mekaniska termostaten mot en elektronisk sensor kan vara farligt eftersom sensorn eller mikrokontrollen (hårdvara eller programvara kan fungera fel) och leda till ångsexplosioner som kan döda människor.

Detta projekt innefattar anslutning av ett Solid State Relay på allvar med ditt gejserelement. Du kan behöva en behörig elektriker för att göra det (enligt lag). Arbeta inte med din nätström om du är osäker på det.

Din ESP32 kommer att publicera data till en tjänst som heter Cayenne IoT Cloud via MQTT. Du kommer att kunna använda Cayenne -instrumentbrädan för att övervaka och styra din gejser och schemalägga uppvärmningstider.

Tillbehör:

  • ESP32 Wemos lolin eller någon annan ESP32. ESP8266 kommer också att fungera men touch -pin -funktionen fungerar inte. En Arduino med WiFi bör också göra
  • Solid State -relä (SSR), märkt 30 amp eller mer
  • Kylfläns för SSR
  • 3 (2 kan göra) Dalas halvledartemperaturgivare, DS18B20.
  • Hölje
  • Några bygelkablar
  • Elektriska kablar som är lämpliga för din gejsers ström
  • Kopplingsplintar
  • USB -strömförsörjning för ESP32
  • Litiumbatteri för att driva ESP32 om nätet är av.

Steg 1: Färdigheter krävs

ESP32 Programmering i Arduino IDE, installation av bibliotek

Grundläggande elektronik

Kunskap om nät (normalt AC 110 - 240 volt)

Vissa kunskaper om cayenne.mydevices.com

Steg 2: Termoprofil för gejsrar och sensorplacering

Termoprofil för gejsrar och sensorplacering
Termoprofil för gejsrar och sensorplacering
Termoprofil för gejsrar och sensorplacering
Termoprofil för gejsrar och sensorplacering
Termoprofil för gejsrar och sensorplacering
Termoprofil för gejsrar och sensorplacering

Varmt vatten har en lägre densitet än kallt vatten. Därför kommer vattnet på toppen av tanken att vara varmare än vattnet i botten av tanken eftersom det heta vattnet kommer att stiga. Gejsarutloppet är också normalt upptill och inloppet längst ner vilket ytterligare bidrar till värmeprofilen.

I mitt projekt använde jag tre temperatursensorer. En längst ner, en överst och en sensor för omgivningstemperatur. Baserat på några experiment bestämde jag mig för att använda botten temperatursensorn som min indikator på att tanken är varm. Problemet med den övre sensorn är att den kommer att stiga med några grader i det ögonblick en het flik öppnas i några sekunder och det kan bara finnas lite varmt vatten kvar på toppen av tanken. Du kan bestämma dig för att använda ett genomsnitt mellan de två sensorerna.

Steg 3: Bygg din hårdvara

Anslut SSR till PIN 15 och GND

Anslut alla 3 DS18B20 -givare: Gul till PIN 16, svart till GND, röd till 3,3 volt. Använd en 4,7KOhms pull -up resister mellan PIN 16 och 3,3 volt. (Kom ihåg att DS18B20 är en trådad enhet och att flera trådar är tillåtna på en buss eller stift).

Anslut din omstartskabel till TO och återställ kabeln till T2

Anslut ännu inte din byggnad till elnätet (AC). Anslut inte sensorerna till din Geyser än. Du måste först räkna ut vilken sensor som måste gå till vilken position.

Steg 4: Registrera dig som en Cayenne -användare

Detta är inte en handledning för cayenne.mydevices.com. Cayenne är nollprisversionen av mydevices.com

Om du inte är bekant med cayenne finns mer information tillgänglig på

Du måste först registrera dig på cayenne.mydevices.com och få en inloggning och lösenord.

Mer information om cayenne finns på

Det är också viktigt att läsa igenom

developers.mydevices.com/cayenne/docs/cayenne-mqtt-api/#cayenne-mqtt-api-using-arduino-mqtt för att lägga till cayennebiblioteket i Arduino ID

Steg 5: Installera de obligatoriska biblioteken i Arduino IDE

WiFiManager

ArduinoJson version 6.9.0

CayenneMQTT

OneWire

Dallas Temperatur

ArduinoOTA

Steg 6: Ladda ESP32 Sketch

ESP32 Sketch innehåller massor av kod. Den innehåller kod för

  1. https://github.com/tzapu/WiFiManager. WiFi -manager används för att låta din ESP32 veta vad dina inloggningsuppgifter för WiFi -åtkomstpunkter är. Den används vidare för att fånga detaljer om CayenneMQTT, temperaturgränser för gejsaren och för att länka de 3 temperatursensorerna till dess plats (topp, botten eller omgivning)
  2. Kod för Cayenne API
  3. OTA (Over the air -uppdateringar). Du kommer att kunna uppdatera firmware via WiFi. Du måste vara på din lokala WiFi och använda samma dator som du använde för att ladda upp din ursprungliga skiss.
  4. DS18B20 temperaturavläsning.

ArduinoIDE Sketch finns på:

Steg 7: Lägg till din ESP32 i Cayenne

Lägg till din ESP32 i Cayenne
Lägg till din ESP32 i Cayenne

Du kan nu lägga till en ny enhet.

Logga in på cayenne.mydevices.com. Till vänster ser du en rullgardinsmeny Lägg till ny …… Välj enhet/widget. En sida öppnas om du måste välja att ta med din egen sak. En ny sida öppnas med dina MQTT -detaljer. Skriv ner ditt MQTT -ANVÄNDARNAMN, MQTT -LÖSENORD, KLIENT -ID. Du behöver detta för att kommunicera med Cayenne MQTT -mäklare (server). Ditt MQTT -ANVÄNDARNAMN och MQTT -LÖSENORD kommer alltid att vara desamma, men KLIENT -ID kommer att vara olika för varje ny enhet som en annan ESP32, Arduino eller Raspberry PI.

Du kan också ge din enhet ett namn på det här formuläret.

Steg 8: Kör din skiss

Kör din skiss
Kör din skiss
Kör din skiss
Kör din skiss

Starta om ESP32

Du bör nu se en ny WiFi -åtkomstpunkt som heter "Slim_Geyser_DEV". (ESP 32 kommer att vara i åtkomstpunktsläge/ Ad-hoc- eller hotspot-läge) med din dators WiFi-sökning/ skanning.

Logga in på den nya åtkomstpunkten. Lösenordet/säkerhetsnyckeln är lösenordet.

Din webbläsare ska gå till målsidan "192.168.4.1", om inte, gör det manuellt.

Gå till Konfigurera WiFi

Konfigurationssidan ska nu öppnas. Den borde ha skannat automatiskt efter din internetåtkomstpunkt, välj den, skriv in lösenordet, Cayenne MQTT -detaljer. Lämna resten kvar. Alla temp -värden är metriska (Deg Celcius).

Tryck på spara. ESP32 försöker nu ansluta till ditt wifi och Cayenne -servern.

Koppla från "Slim_Geyser_DEV" och anslut din dator till din hemåtkomstpunkt.

Steg 9: Bygg din Cayenne -instrumentpanel

Bygg din Cayenne -instrumentpanel
Bygg din Cayenne -instrumentpanel
Bygg din Cayenne -instrumentpanel
Bygg din Cayenne -instrumentpanel
Bygg din Cayenne -instrumentpanel
Bygg din Cayenne -instrumentpanel

Nu bör du logga in på cayenne.mydevices.com med dina cayenne -uppgifter.

Din enhet bör visas i menyraden till vänster (Gruvan är Geyser_DEV).

Du kan nu lägga till alla dina sensorer och reläet (eller kanaler) till din instrumentpanel genom att klicka på lägg till skyltarna.

På kanal 0 -ikonen klickar du på inställningar och ändrar namnet till "Geyser Bottom TEMP". Välj en lämplig ikon (temperaturprobe) och välj antalet decimaler som 1. Gör samma sak för kanal 1, 2, 5, 6

För kanal 4 och 8, ändra antalet decimaler till 0 och namnge dem "** Geyser Status (1 = ON, O = OFF) **"

respektive "*Automatisk uppvärmningsläge (0 = Manuell, 1 = Auto)*".

Kanal 3 och 7 ska vara knappar

Gå till Lägg till nytt menyalternativ i menyraden till vänster, gå till Enhet/widget> Anpassade widgetar> Knapp

Namnge knappen "Slå på/av Geyser", välj enhetsnamn (Geyser_DEV), DATA = Digital ställdon, Kanal 3, Enhet = Digital I/O, Ikon = vippomkopplare. Klicka på lägg till widget.

Gör samma sak för kanal 7

Kanal 9 bör konverteras till ett reglage

Gå till Lägg till nytt menyalternativ i den vänstra menyraden, gå till Enhet/widget> Anpassade widgetar> Skjutreglage och välj lämpliga värden som i bilden.

Du kan nu flytta runt dina widgets.

Steg 10: Räkna ut sensorernas positioner

Eftersom de tre Temp -sensorerna är anslutna till samma stift (One Wire Bus) bör du ta reda på vilken sensor som ska gå vart.

Kontrollera din Cayenne -instrumentbräda och notera de tre temperaturerna. De borde vara mer eller mindre desamma. Värm upp en med varmt vatten eller med handen. Notera sensorn som värms upp på instrumentbrädan. Märk din sensor därefter. Gör detta för de andra 2 sensorerna.

Steg 11: Spela runt (testa) din instrumentpanel

Lekar runt (testar) din instrumentpanel
Lekar runt (testar) din instrumentpanel
Lekar runt (testar) din instrumentpanel
Lekar runt (testar) din instrumentpanel

Lek med kontrollerna på instrumentpanelen. Växla på/av -knappen och se om SSR -lampan lyser. Slå också på läget för automatisk uppvärmning, värm bottengivaren och se om SSR -omkopplaren aktiveras när önskad temperatur uppnås.

Du kan nu ansluta de 2 sensorerna till gejsaren och den omgivande temp -sensorn till en lämplig position. Du kan också ansluta SSR till elnätet.

Steg 12: Schemaläggning av din gejser

Schemaläggning av din gejser
Schemaläggning av din gejser
Schemaläggning av din gejser
Schemaläggning av din gejser

Du kan nu schemalägga/ avaktivera händelser med din Geyser

Välj Lägg till ny> Händelse på instrumentpanelen

Rekommenderad: