Steuerung von Haushaltsgeräten mit ESP32 und MQTT
10.12.2024 - Engine: Gemini

Steuerung von Haushaltsgeräten mit ESP32 und MQTT
Implementierung
1. ESP32 einrichten
- Richten Sie die Arduino IDE für die ESP32-Entwicklung ein.
- Installieren Sie die ESP32-Bibliothek.
2. MQTT-Broker einrichten
- Richten Sie einen MQTT-Broker wie Mosquitto oder CloudMQTT ein.
3. Hardware anschließen
- Verbinden Sie die Haushaltsgeräte (z. B. Kaffeemaschine, Ventilator) mit den entsprechenden Ausgängen des ESP32.
4. Code implementieren
ESP32-Code:
#include <Arduino.h>
#include <WiFi.h>
#include <PubSubClient.h>
// MQTT-Broker-Einstellungen
const char* mqtt_server = "broker.hivemq.com";
const int mqtt_port = 1883;
const char* mqtt_user = "user";
const char* mqtt_pass = "password";
// Topic-Namen
const char* topic_coffee = "home/coffee";
const char* topic_fan = "home/fan";
// Erstellen des MQTT-Clients
WiFiClient espClient;
PubSubClient client(espClient);
void setup() {
// ESP32 mit WLAN verbinden
WiFi.begin("SSID", "Passwort");
// MQTT-Broker verbinden
client.setServer(mqtt_server, mqtt_port);
client.setCallback(callback);
while (!client.connected()) {
if (client.connect("esp32", mqtt_user, mqtt_pass)) {
// Verbunden mit dem Broker
} else {
// Verbindungsversuch erneut
}
}
// Topics abonnieren
client.subscribe(topic_coffee);
client.subscribe(topic_fan);
}
void loop() {
// MQTT-Nachrichten empfangen und verarbeiten
client.loop();
}
void callback(char* topic, byte* payload, unsigned int length) {
// Nachricht für das Thema "home/coffee"
if (strcmp(topic, topic_coffee) == 0) {
// Schaltet die Kaffeemaschine ein oder aus
}
// Nachricht für das Thema "home/fan"
else if (strcmp(topic, topic_fan) == 0) {
// Schaltet den Ventilator ein oder aus
}
}
Vorteile
- Fernbedienung: Steuern Sie Haushaltsgeräte von überall mit Internetzugang.
- Automatisierung: Richten Sie Zeitpläne oder Regeln für die Gerätebedienung ein.
- Überwachung: Überwachen Sie den Status der Geräte in Echtzeit.
- Einfache Integration: MQTT ist ein weit verbreitetes Protokoll, das in vielen IoT-Geräten und -Diensten unterstützt wird.
- Skalierbarkeit: Fügen Sie problemlos weitere Geräte zum System hinzu, ohne die Komplexität zu erhöhen.