Skip to content

jackR85/stairlight

Repository files navigation

Treppenlicht Controller - ESP32-C3

Ein intelligentes Treppenlicht-System basierend auf ESP32-C3 mit 24GHz Radar-Sensoren (LD2450) für berührungslose Bewegungserkennung.

Inhaltsverzeichnis

Übersicht

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.

Hauptfunktionen

  • 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

Hardware-Anforderungen

Mikrocontroller

  • ESP32-C3 (mit WiFi und Bluetooth LE)

Sensoren

  • 2x LD2450 24GHz Radar-Sensor
  • Kommunikation: UART (Serial1 und Serial2)

LED-Treiber

  • PCA9685 16-Kanal PWM-Servo-Treiber (I2C)

LEDs

  • 14x LED-Strips/Module (eine pro Stufe)

Stromversorgung

  • 5V/12V Netzteil (abhängig von LED-Typ)

Verdrahtung

PCA9685 (I2C)

ESP32-C3 <-> PCA9685 GPIO8 -> SDA GPIO10 -> SCL 3.3V -> VCC GND -> GND

LD2450 Sensoren

Sensor UNTEN: GPIO6 -> RX (Radar) GPIO7 -> TX (Radar)

Sensor OBEN: GPIO4 -> RX (Radar)

LED-Ausgänge

Die LED-Kanäle sind in der Konfiguration frei zuweisbar (Standard: Kanal 0-13 für Stufen 1-14).

Software-Konfiguration

Ersteinrichtung

  1. ESP32-C3 mit Arduino IDE oder PlatformIO programmieren
  2. Beim ersten Start erscheint ein WiFi Access Point "Treppenlicht_Setup"
  3. Mit dem Smartphone verbinden und WLAN-Zugangsdaten eingeben
  4. Im Web-Interface unter http://<IP-Adresse> die Konfiguration vornehmen

Web-Interface

  • / - Hauptseite mit Status und Steuerung
  • /live - Echtzeit-Radar-Daten
  • /info - Systeminformationen
  • /timer - Timer-Einstellungen

MQTT-Konfiguration

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

Konfigurationsparameter

Radar-Einstellungen

  • 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)

Lauflicht-Einstellungen

  • 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

MQTT-Einstellungen

  1. Im Web-Interface MQTT aktivieren
  2. MQTT-Server-IP und Credentials eingeben
  3. Base-Topic festlegen (Standard: treppenlicht)
  4. Gerät erscheint automatisch in Tasmota/FHEM

Betriebsmodi

1. Automatischer Modus (Standard)

  • Bewegungen im AoI lösen Lauflicht aus
  • Richtung abhängig vom detektierten Sensor
  • Automatisches Ausschalten nach Timer

2. Dauerlicht-Modus

  • Permanente Beleuchtung aller Stufen
  • Manuell oder per MQTT aktivierbar

3. Alarm-Modus

  • Blinklicht bei Alarmauslösung
  • Konfigurierbare Dauer (5-3600s)
  • Per MQTT oder Web-Interface steuerbar

4. Master-Sperre

  • Deaktiviert alle Automatikfunktionen
  • Nur manuelle Steuerung möglich

MQTT Topics

Subscribes (Befehle empfangen)

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)

Publishes (Status senden)

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

Debugging

Serieller Monitor (115200 Baud)

  • Ausführliche Radar-Daten (alle 3 Ziele pro Sensor)
  • Trigger-Ereignisse
  • Systemstatus
  • MQTT-Verbindungsstatus
  • Heap-Überwachung

Web-Interface Live-View

  • Echtzeit-Radar-Koordinaten
  • AoI-Visualisierung
  • System-Logs

Update-Funktionen

  • OTA Updates via ArduinoOTA
  • EEPROM-Konfiguration persistent gespeichert
  • WiFi-Manager für Netzwerkwechsel
  • Tasmota Auto-Discovery bei MQTT-Verbindung

Dateistruktur

Treppenlicht.ino # Hauptprogramm webpage.h # Web-Interface HTML/CSS/JS tasmota_mqtt.h # Tasmota-MQTT Integration

Testfunktionen

  • Testsequenz: Prüft alle LED-Kanäle nacheinander
  • Radar-Liveview: Zeigt Rohdaten der Sensoren
  • Manuelle Steuerung: Über Web-Interface oder MQTT

Sicherheitshinweise

  1. Netzteil entsprechend der LED-Leistung dimensionieren
  2. Radar-Sensoren nicht auf Metallflächen montieren
  3. ESP32-C3 vor Spannungsspitzen schützen
  4. Bei Außenmontage Gehäuse mit IP-Schutz verwenden

Lizenz

Dieses Projekt steht unter der MIT-Lizenz.

Beitrag

Fehler und Verbesserungsvorschläge sind willkommen! Bitte erstellen Sie ein Issue oder Pull Request.

Support

Bei Problemen oder Fragen:

  1. Seriellen Monitor auf Debug-Ausgaben prüfen
  2. Web-Interface Status prüfen
  3. Issue auf GitHub erstellen

Hinweis: Dieses Projekt ist für den privaten Gebrauch bestimmt. Die Nutzung erfolgt auf eigenes Risiko.

About

stair lighting with motion detector over hlk-ld2450 Sensor and ESP32 (stairlight)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published