Intelligente Lichtsteuerung mit ESP32 und MQTT
11.12.2024 - Engine: Gemini

Intelligente Lichtsteuerung mit ESP32 und MQTT
Komponenten
- ESP32-Modul
- LED-Streifen
- Relais
- MOSFET
- MQTT-Broker (z. B. Mosquitto)
Programmierung
Schritt 1: ESP32 einrichten
Verbinde den ESP32 mit deinem Computer und lade die Arduino-IDE herunter. Installiere die ESP32-Bibliothek von der Arduino IDE-Verwaltung.
Schritt 2: MQTT-Bibliothek hinzufügen
Füge die MQTT-Bibliothek zum Projekt hinzu, z. B. die PubSubClient-Bibliothek.
Schritt 3: MQTT-Broker verbinden
Erstelle eine Verbindung zum MQTT-Broker und konfiguriere die Themen, die verwendet werden sollen.
Schritt 4: LEDs steuern
Verwende die digitalWrite()
-Funktion, um die LEDs über das Relais und den MOSFET zu steuern.
Schritt 5: MQTT-Nachrichten abonnieren
Abonniere die MQTT-Themen, die zur Steuerung der LEDs verwendet werden.
Schritt 6: Nachrichten verarbeiten
Verarbeite die empfangenen MQTT-Nachrichten und steuere die LEDs entsprechend.
Beispielcode
#include <WiFi.h>
#include <PubSubClient.h>
const char* ssid = "Dein_WLAN_Name";
const char* password = "Dein_WLAN_Passwort";
const char* mqtt_broker = "mqtt.example.com";
const int mqtt_port = 1883;
const char* topic = "home/lights";
WiFiClient espClient;
PubSubClient client(espClient);
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println("WiFi verbunden");
client.setServer(mqtt_broker, mqtt_port);
}
void loop() {
if (!client.connected()) {
Serial.print("Verbinde mit MQTT-Broker...");
while (!client.connected()) {
if (client.connect("ESP32-Light")) {
Serial.println("verbunden");
client.subscribe(topic);
} else {
Serial.print(".");
delay(1000);
}
}
}
client.loop();
}
void callback(char* topic, byte* payload, unsigned int length) {
String message = String((char*)payload);
if (message == "ON") {
digitalWrite(LED_PIN, HIGH);
} else if (message == "OFF") {
digitalWrite(LED_PIN, LOW);
}
}