ZigBee Radar Raum Tracking Bewegungsmelder ESP32-C6 HLK-LD2450

  • Alpha Phase
    Erwerb Juni



    ESP32-C6


    Radarsensor mit bis zu 3 Ziele Erkennung gleichzeitig


    Unbegrenzte Anzahl von Zonenerkennung über Javascript mit html integration

    Helligkeitsanzeige in Lux
    Optionaler Anschlussmöglichkeit für Temperatur und Druck Anzeige.


    Bausatz für Bastler (ESP32-C6)

    Elektronik-Bausatz mit 3m USB Kabel u. optionalem Gehäuse.

    Auf Wunsch löte ich ihn privat fertig zusammen.

    Platine ist Beigabe (ohne CE, keine Gewährleistung).

    ➡️ -->Kauflink für ca. 20,99€ - 27,99€<---


        



        





    Aktuelles Projekt :

    Ein auf dem ESP32-C6 basierendes Zigbee-Gerät mit angeschlossenem HLK-LD2450 3D-Radarsensor zur personenbasierten Präsenz- und Bewegungsanalyse – ideal für Smart Home Automation auf Raumebene.

    Funktionen & Features:

    • Direkte Zigbee-Integration via eigener Firmware (ESP32-C6 + LD2450 per UART)

    • 3 gleichzeitige Personen erkennbar mit Positionsdaten (X/Y), Abstand und Bewegungsrichtung

    • Zigbee-Datenpunkte: distance, x, y, velocity, valid, target_id, resolution – für alle Slots

    • Volle VIS-Unterstützung (ioBroker) mit HTML-Raumansicht:

      • Echtzeit-Visualisierung der Person(en) im Raum

      • Automatische Rotation des Koordinatensystems je nach Sensorlage

      • Grafische Darstellung inkl. Zonenlogik, z. B. zur Licht- oder Heizungssteuerung

    Besonderheiten:

    • Ideal für Multiraum-Setups: Jeder Raum mit einem Sensor möglich

    • Extrem geringe Latenz, keine Cloud nötig, läuft komplett lokal

    • Reduziert Fehlauslösungen gegenüber PIR oder mmWave deutlich

    • Perfekt erweiterbar mit ioBroker-Logik oder Blockly-Automationen

    • Anschluss eines LDR5528 (Lichtsensor) an PIN0. Dadurch Helligkeitsanzeige in Lux

    • Otional an PIN 21,22 Anschlussmöglichkeit eines BMP280

    • Unter Vollast ist der Stromverbrauch bei 5 V ca. 0,28 A (entspricht etwa 1,4 W Leistungsaufnahme)

    Zusammenbau:

    1. Erst den ESP von unten anlöten. Alle Pins an den ESP und danach alle Pins an die Platin!!!

    Schön Luft lassen zwischen ESP und Platine. So wie im Bild die Stifte immer nur ein wenig rausragen lassen, zum anlöten.

    Vor allem bei der Platine. Das da die Pins nicht weit rausgucken. Immer nur ein klein wenig. So das es halt reicht, zum anlöten.


    2. Dann die Bauteile von oben an die schon verlöteten Pins mit dran anlöten.

    Bedeutet, hier im Bild hab ich die Bauteile nur zur Veranschaulichung in die Löcher gesteckt.

    In Wirklichkeit sind da ja schon die Pins vom ESP drin. Einfach an die Pins so mit anlöten.

    Oberhalb der Platine werden die Bauteile so verlötet, das nichts direkt neben oder über dem Radarsensors sich was befindet.

    Das würde den Sensor stören, da Radarwellen nicht Metall durchdringen kann.



    3. Dann den Sensor draufstecken und von unten verlöten.

    Je genauer der Sensor angelötet wird, um so besser.

    Also nicht schief anlöten. Je perfekter er waagereicht und senkrecht und gleicher Abstand hat, um so genauer wird er messen.

      

    !! FERTIG !!


    LDR_PIN(Lichtsensor) an ESP -> 3,3V und ESP -> 0

    10kOhm_Widerstand an ESP -> 0 und ESP -> GND

    Optional(BMP280 3,3V muss selber gekauft werden):

    BMP_SDA_PIN an ESP -> 21

    BMP_SCL_PIN an ESP -> 22

    BMP_VCC an ESP -> 3,3V

    BMP_GND an ESP -> GND


    Verwendete Komponenten:



    Anleitung:

    1.

    Pairing Modus:

    Pairing: wenn es blinkt, ist er im pairing modus.

    Auf der Platine ist ein Loch zu sehen in der nähe vom USB Port.

    Dort mit ein Stift 5 Sekunden drücken. Dann fängt es an zu blinken, für den Pairing Modus


    2.

    Javascript Adapter:

    Kommando "exec" erlauben ein Häkchen setzen in der Adaptereinstellung

    including.js erstellen durch javascript:

    Das script erstellen und starten.

    Dadurch wird in /opt/iobroker/iobroker-data/zigbee_0/ eine including.js Datei erstellt, was benötigt wird, das der Adapter das Gerät findet.

    Falls nötig und der Adapter nicht standardmäßig installiert wurde ganz unten den Pfad anpassen:

    fs.writeFile('/opt/iobroker/iobroker-data/zigbee_0/including.js', inhalt, (err) => {



    3.

    Im Zigbee Adapter including.js eintippen und den Adapter neu starten.


    4.

    Im Zigbee Adapter das Gerät anlernen.

    Danach am Gerät im Zigbee Adapter auf den Namen klicken und dann auf den "reconfigure" Button.

    Dadurch werden die Werte dauerhaft übermittelt.



    5.

    Für jeden Bewegungsmelder dieses Javasricpt erstellen im Javascript Adapter.

    Im Script die Zonen u.s.w. einrichten und das script starten.

    Dadurch werden Datenpunkte erstellt im Javascript Adapter selber.


    6.

    Alle Datenpunkte, die erstellt wurden durch das Javascipt, mit den richtigen Daten bearbeiten/füllen.

    Wie man das macht, steht am Anfang von Javascript.


    7.

    VIS html Widget Code erstellen und Datenpunktverknüpfung javascript.0.arbeitszimmer.widgetHtml anpassen:

    1= HTML Widget

    2= Hier den Quellcode reinkopieren

    3= Raumbreite 1 px = 1cm

    4= Raumlänge 1 px = 1 cm

    Code
    1. <!-- Text‑HTML Widget
    2. Datenpunkt eintragen: javascript.0.wohnzimmer.widgetHtml
    3. Checkbox „Interpret HTML“ aktiv (noEscape = false) -->
    4. {javascript.0.arbeitszimmer.widgetHtml}


    8. Fertig


          


  • Firmware für den ESP32C6

    !!! ACHTUNG !!!

    !!! Immer wieder mal hier gucken, ob es updates gibt!!!!


    Funktioniert nur mit meinen bearbeiteten ESP32C6 Modulen


    Firmware Upgrade: upgrade 1.0.9.zip<- hier klicken. Unten sind nur ältere Versionen zum download

    Runterladen und entpacken.

    Dabei Antivirenprogramm und/oder Sicherheitshinweise zulassen von Windows.

    Mit dem USB Kabel den ESP verbinden. Port CH343. Unter der Boot Taste. Wo das Loch ist zum Pairing

    Die exe Datei ausführen und flashen.

    In der exe ist auch ein Serial Monitor verbaut.

    So kann man sehen, was das Gerät macht.


    Die Firmware kann man nur mit den von mir bearbeiteten ESP32C6 Module nutzen.

    Eigene funktionieren nicht.


    Versionshistorie:

    13.06.2025: Version 1.0.0.

    02.07.2025: Version 1.0.1.

    05.07.2025: Version 1.0.2. /// Lichtsensor Fix

    05.07.2025: Version 1.0.3 /// BMP280 Hot Fix

    05.07.2025: Version 1.0.4 /// blink led for pairing-hotfixes !!! Änderung der including.js. Einfach ersetzen und starten.

    08.07.2025: Version 1.0.5 /// blink led for pairing-hotfixes + Button !!! Pairing nach Stromausfall fix

    08.07.2025: Version 1.0.6 /// blink led for pairing-hotfixes + Button !!! Restart pairing fix

    08.07.2025: Version 1.0.7 /// Restart pairing fix


    02.08.2025: Version 1.0.8 /// Sendet jetzt nur noch pro x Sekunden. Wichtig!!= Zwingend Gerät löschen vorher=

    Gerät löschen. Zigbee Adapter stoppen. Die including.js von oben kopieren und ersetzen im Javascript. Adapter starten. Das Gerät Updaten. Gerät anlernen u.s.w.
    minimumReportInterval: 1, // frühestens alle 1 s = hier kann man einstellen, wann das Gerät senden soll in Sekunden


    25.09.2025: Version 1.0.8 /// Script in IoBroker wurde geändert (Punkt 5.) Es passierte, dass was nicht auf false ging, wenn man schnell Raum verlässt.

    const STALE_MS = 10000; // Slot gilt als "alt", wenn X/Y länger als 10s nicht aktualisiert. Bedeutet, wenn 10 Sekunden gar nichts passiert, geht es auf false.

    const TICK_MS = 1000; // update()-Tick alle 1s, auch ohne neue Events.

    07.10.2025: Version 1.0.8 /// Script in IoBroker wurde geändert (Punkt 5.) Position Sensor fix.

    08.10.2025: Version 1.0.9 /// Firmware auf Router-Modus geändert. Kein Endgerät mehr, sondern wird zu Zigbee-Router und erweitert das Mesh-Netzwerk.