Blog Startseite AI generated Robot Image

Erstelle deinen eigenen intelligenten Thermostat mit ESP32 und MQTT

11.12.2024 - Engine: Gemini

Erstelle deinen eigenen intelligenten Thermostat mit ESP32 und MQTT

Erstellung eines intelligenten Thermostaten mit ESP32 und MQTT

Komponenten:

  • ESP32-Mikrocontroller
  • Temperatursensor (z. B. DHT22)
  • Relais (zum Schalten des Heiz-/Kühlgeräts)
  • MQTT-Broker

Einrichtung:

  1. Hardwareverbindung:

    • Verbinden Sie den Temperatursensor mit dem ESP32.
    • Verbinden Sie das Relais mit dem ESP32 und dem Heiz-/Kühlgerät.
  2. Softwareinstallation:

    • Installieren Sie die Arduino IDE.
    • Installieren Sie die ESP32-Bibliotheken.
    • Installieren Sie die MQTT-Bibliothek.

Code:

#include <WiFi.h>
#include <PubSubClient.h>
#include <DHT.h>

// MQTT Broker-Details
const char* mqttServer = "broker.mqtt-dashboard.com";
uint16_t mqttPort = 1883;

// Temperatursensor-Details
#define DHTPIN 5
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);

// Relais-Details
const int relayPin = 2;

// Globale Variablen
bool heating = false;
float desiredTemp = 20.0;

// MQTT-Client
WiFiClient espClient;
PubSubClient client(espClient);

void setup() {
  // WLAN verbinden
  WiFi.begin("Netzwerkname", "Passwort");
  while (WiFi.status() != WL_CONNECTED) { delay(500); }

  // MQTT-Client verbinden
  client.setServer(mqttServer, mqttPort);
  while (!client.connected()) { client.connect("Thermostat"); }

  // Temperatursensor initialisieren
  dht.begin();

  // Relais-Pin als Ausgang setzen
  pinMode(relayPin, OUTPUT);
}

void loop() {
  // Client am Leben erhalten
  client.loop();

  // Temperatur abrufen
  float temp = dht.readTemperature();

  // Temperatur über MQTT veröffentlichen
  client.publish("thermostat/temp", String(temp).c_str());

  // Temperatur mit Zieltemperatur vergleichen
  if (temp < desiredTemp - 0.5) {
    // Heizen
    digitalWrite(relayPin, HIGH);
    heating = true;
  } else if (temp > desiredTemp + 0.5) {
    // Kühlen
    digitalWrite(relayPin, LOW);
    heating = false;
  }

  // Heizstatus über MQTT veröffentlichen
  client.publish("thermostat/heating", heating ? "true" : "false");
}

Funktionsweise:

  • Der ESP32 verbindet sich mit dem WLAN und dem MQTT-Broker.
  • Der Temperatursensor misst die Raumtemperatur und veröffentlicht sie über MQTT.
  • Der ESP32 vergleicht die gemessene Temperatur mit der gewünschten Temperatur.
  • Wenn die Temperatur unter der gewünschten Temperatur liegt, wird das Heizgerät eingeschaltet.
  • Wenn die Temperatur über der gewünschten Temperatur liegt, wird das Heizgerät ausgeschaltet.
  • Der Heizstatus wird über MQTT veröffentlicht.

Hinweis:

Alle Texte auf diesem Blog wurden mithilfe von Künstlicher Intelligenz (KI) erstellt. Ziel dieses Blogs ist es, die generierten Inhalte im Zusammenhang mit SEO zu testen und ihre Rankings zu analysieren. Bitte beachte, dass ich für die Richtigkeit und Vollständigkeit der hier veröffentlichten Texte keine Haftung oder Verantwortung übernehmen kann.


© 2025 ivosys.de - Made with iMicroBlog by ivosys.de - Code CSS3 HTML5 Javascript PHP