Ein intelligentes Treppenlicht-System basierend auf ESP32-C3 mit 24GHz Radar-Sensoren (LD2450) für berührungslose Bewegungserkennung.
- Übersicht
- Hauptfunktionen
- Hardware-Anforderungen
- Verdrahtung
- Software-Konfiguration
- Konfigurationsparameter
- Betriebsmodi
- MQTT Topics
- Debugging
- Bekannte Einschränkungen
- Update-Funktionen
- Dateistruktur
- Testfunktionen
- Sicherheitshinweise
- Lizenz
Dieses Projekt steuert eine Treppenbeleuchtung mit 14 Stufen, die durch Radar-Sensoren an beiden Enden der Treppe ausgelöst wird. Das System erkennt Bewegungen in definierten Bereichen (AoI - Area of Interest) und startet automatisch ein Lauflicht in die entsprechende Richtung.
- Radar-basierte Bewegungserkennung mit zwei LD2450 24GHz Sensoren
- Bidirektionales Lauflicht (von unten nach oben oder umgekehrt)
- Web-Interface zur Konfiguration und Steuerung
- MQTT-Integration mit Tasmota-Kompatibilität
- Dauerlicht-Modus für permanente Beleuchtung
- Alarm-Funktion mit Blinklicht
- OTA Updates (Over-The-Air)
- WiFi-Manager für einfache Einrichtung
- ESP32-C3 (mit WiFi und Bluetooth LE)
- 2x LD2450 24GHz Radar-Sensor
- Kommunikation: UART (Serial1 und Serial2)
- PCA9685 16-Kanal PWM-Servo-Treiber (I2C)
- 14x LED-Strips/Module (eine pro Stufe)
- 5V/12V Netzteil (abhängig von LED-Typ)
ESP32-C3 <-> PCA9685 GPIO8 -> SDA GPIO10 -> SCL 3.3V -> VCC GND -> GND
Sensor UNTEN: GPIO6 -> RX (Radar) GPIO7 -> TX (Radar)
Sensor OBEN: GPIO4 -> RX (Radar)
Die LED-Kanäle sind in der Konfiguration frei zuweisbar (Standard: Kanal 0-13 für Stufen 1-14).
- ESP32-C3 mit Arduino IDE oder PlatformIO programmieren
- Beim ersten Start erscheint ein WiFi Access Point "Treppenlicht_Setup"
- Mit dem Smartphone verbinden und WLAN-Zugangsdaten eingeben
- Im Web-Interface unter
http://<IP-Adresse>die Konfiguration vornehmen
/- Hauptseite mit Status und Steuerung/live- Echtzeit-Radar-Daten/info- Systeminformationen/timer- Timer-Einstellungen
Das System unterstützt MQTT für die Integration in Smart Home Systeme:
- Tasmota-Kompatibilität mit Auto-Discovery
- FHEM-Templates vorkonfiguriert
- Eigene Topics für direkte Steuerung
- AoI (Area of Interest): Definiert den Erfassungsbereich jedes Sensors
- Minimale Distanz: 60cm (vermeidet Nahbereichs-Fehlerkennungen)
- Winkelbereich: ±30 Grad (einstellbar)
- Maximale Reichweite: Bis zu 2.5m (einstellbar)
- Schrittverzögerung: 50-1000ms zwischen Stufen
- Einblenddauer: 5-5000ms Fade-In pro Stufe
- Ausschaltverzögerung: 5-3600s nach letzter Bewegung
- Testsequenz: 100-5000ms pro Stufe
- Im Web-Interface MQTT aktivieren
- MQTT-Server-IP und Credentials eingeben
- Base-Topic festlegen (Standard:
treppenlicht) - Gerät erscheint automatisch in Tasmota/FHEM
- Bewegungen im AoI lösen Lauflicht aus
- Richtung abhängig vom detektierten Sensor
- Automatisches Ausschalten nach Timer
- Permanente Beleuchtung aller Stufen
- Manuell oder per MQTT aktivierbar
- Blinklicht bei Alarmauslösung
- Konfigurierbare Dauer (5-3600s)
- Per MQTT oder Web-Interface steuerbar
- Deaktiviert alle Automatikfunktionen
- Nur manuelle Steuerung möglich
cmnd/treppenlicht_master/# # FHEM Master-Device cmnd/treppenlicht_dauer/# # FHEM Dauerlicht-Device cmnd/treppenlicht/POWER # Tasmota Power cmnd/treppenlicht/DAUERLICHT # Tasmota Dauerlicht treppenlicht/set/dimmwert # Dimmwert setzen (0-4095) treppenlicht/set/alarm # Alarm steuern (ON/OFF) treppenlicht/set/enable # Master enable (ON/OFF) treppenlicht/set/dauerlicht # Dauerlicht (ON/OFF)
treppenlicht/system/status # Online/Offline treppenlicht/system/info # Systeminformationen (JSON) treppenlicht/status/dimmwert # Aktueller Dimmwert tele/treppenlicht/STATE # Tasmota State tele/treppenlicht/SENSOR # Tasmota Sensor
- Ausführliche Radar-Daten (alle 3 Ziele pro Sensor)
- Trigger-Ereignisse
- Systemstatus
- MQTT-Verbindungsstatus
- Heap-Überwachung
- Echtzeit-Radar-Koordinaten
- AoI-Visualisierung
- System-Logs
- OTA Updates via ArduinoOTA
- EEPROM-Konfiguration persistent gespeichert
- WiFi-Manager für Netzwerkwechsel
- Tasmota Auto-Discovery bei MQTT-Verbindung
Treppenlicht.ino # Hauptprogramm webpage.h # Web-Interface HTML/CSS/JS tasmota_mqtt.h # Tasmota-MQTT Integration
- Testsequenz: Prüft alle LED-Kanäle nacheinander
- Radar-Liveview: Zeigt Rohdaten der Sensoren
- Manuelle Steuerung: Über Web-Interface oder MQTT
- Netzteil entsprechend der LED-Leistung dimensionieren
- Radar-Sensoren nicht auf Metallflächen montieren
- ESP32-C3 vor Spannungsspitzen schützen
- Bei Außenmontage Gehäuse mit IP-Schutz verwenden
Dieses Projekt steht unter der MIT-Lizenz.
Fehler und Verbesserungsvorschläge sind willkommen! Bitte erstellen Sie ein Issue oder Pull Request.
Bei Problemen oder Fragen:
- Seriellen Monitor auf Debug-Ausgaben prüfen
- Web-Interface Status prüfen
- Issue auf GitHub erstellen
Hinweis: Dieses Projekt ist für den privaten Gebrauch bestimmt. Die Nutzung erfolgt auf eigenes Risiko.