Presence detection mit dem HLK-LD2450

Fals es jemanden interessiert, ich habe einen Presence detector mit LUX-Messung am laufen. Da meine gekauften Geräte z. B. nie aus dem “detected” Modus kamen, wollte ich es mal selber probieren. Ist super einfach, ich hatte keine Ahnung vom Thema bis ich mich vor ein paar Tagen schlau gemacht habe.

Schönes Gehäuse gedruckt und grad so alles darin “bequem” verstaut.

Vorher Foto…

Nacher Fotos….

Gerne vertiefe ich das ganze, sollte jemand das auch wollen. Der Radarsensor sitzt eigentlich falsch im Gehäuse, er sollte senkrecht sitzen. Mich stört es nicht, weil ich nur mit “presence” arbeite und das geht so prima.

Sieht dann so aus. Bisher ist noch kein Licht ausgegangen, weil der PIR meint es tut sich nichts mehr. Einziges Manko, braucht eine Stromquelle.

1 „Gefällt mir“

Hi, Nice,
kannst du bitte mal eine Liste machen, der verwendeten Teile und vlt. die Daten fürs Gehäuse auch posten
Danke und Grüße Franky

Aber gerne!

Proz: ESP32, hatte ich noch mehrere rumfliegen.

Gehäuse: https://makerworld.com/de/models/1648136-presence-sensor-housing?from=search#profileId-1742183

24G HLK-LD2450 MM: https://de.aliexpress.com/item/1005006121923099.html?spm=a2g0o.order_list.order_list_main.17.48365c5fRxSBIq&gatewayAdapt=glo2deu

Kabel & Antenne: https://de.aliexpress.com/item/1005009279562050.html?spm=a2g0o.order_list.order_list_main.5.48365c5fKfZWd2&gatewayAdapt=glo2deu

LUX-Sensor: Amazon.de

Ich hatte bei der Bestellung des LD2450 nicht darauf geachtet und ohne Zubehört bestellt. Daher die Nachbestellung der Kabel und Antenne. Gibt es aber schon im Set.

Dann muss Du nur noch den Code auf den ESP und die Kabel richtig anschließen. Da der LUX-Sensor nur 3,3v braucht, muss nichts gefummelt werden. Für jedes Kabel ist ein entsprechender Pin frei. Wenn Du noch Fragen hast, gerne an mich wenden.

# Board: Generic ESP32 Board (Generic)
# Definition: definitions/boards/generic-esp32/manifest.yaml

esphome:
  name: presence-sensor-4
  friendly_name: Presence - Küche

esp32:
  variant: esp32
  framework:
    type: esp-idf

logger:

api:
  encryption:
    key: "SuperGeheimerSchlüssel"

ota:
  - platform: esphome

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: Presence Sensor Fallback Hotspot
    password: "AuchGeheim"
  manual_ip:
    static_ip: 192.168.178.72
    gateway: 192.168.178.1
    subnet: 255.255.255.0       
   

captive_portal:

i2c:
  sda: 21
  scl: 22
  scan: true
  id: bus_a  

uart:
  id: uart_ld2450
  tx_pin: GPIO16
  rx_pin: GPIO17
  baud_rate: 256000
  parity: NONE
  stop_bits: 1

ld2450:
  id: ld2450_radar
  uart_id: uart_ld2450

binary_sensor:
  - platform: ld2450
    ld2450_id: ld2450_radar
    has_target:
      name: Presence
    has_moving_target:
      name: Moving Target
    has_still_target:
      name: Still Target

number:
  - platform: ld2450
    ld2450_id: ld2450_radar
    presence_timeout:
      name: "Timeout"
    zone_1:
      x1:
        name: Zone-1 X1
      y1:
        name: Zone-1 Y1
      x2:
        name: Zone-1 X2
      y2:
        name: Zone-1 Y2
    zone_2:
      x1:
        name: Zone-2 X1
      y1:
        name: Zone-2 Y1
      x2:
        name: Zone-2 X2
      y2:
        name: Zone-2 Y2
    zone_3:
      x1:
        name: Zone-3 X1
      y1:
        name: Zone-3 Y1
      x2:
        name: Zone-3 X2
      y2:
        name: Zone-3 Y2

switch:
  - platform: ld2450
    ld2450_id: ld2450_radar
    bluetooth:
      name: "Bluetooth"
    multi_target:
      name: "Multi Target Tracking"

select:
  - platform: ld2450
    ld2450_id: ld2450_radar
    baud_rate:
      name: "Baud rate"
    zone_type:
      name: "Zone Type"

button:
  - platform: ld2450
    ld2450_id: ld2450_radar
    factory_reset:
      name: "LD2450 Factory Reset"
      entity_category: "config"
    restart:
      name: "LD2450 Restart"
      entity_category: "config"

text_sensor:
  - platform: ld2450
    ld2450_id: ld2450_radar
    version:
      name: "LD2450 Firmware"
    mac_address:
      name: "LD2450 BT MAC"
    target_1:
      direction:
        name: "Target-1 Direction"
    target_2:
      direction:
        name: "Target-2 Direction"
    target_3:
      direction:
        name: "Target-3 Direction"

sensor:
  - platform: bh1750
    name: "BH1750 Illuminance"
    address: 0x23
    update_interval: 5s
    filters:
      - multiply: 21  # anpassen, bis der Wert stimmt
      - sliding_window_moving_average:
          window_size: 5
          send_every: 3
  
  - platform: ld2450
    ld2450_id: ld2450_radar
    target_count:
      name: Presence Target Count
  - platform: ld2450
    ld2450_id: ld2450_radar
    still_target_count:
      name: Still Target Count
  - platform: ld2450
    ld2450_id: ld2450_radar
    moving_target_count:
      name: Moving Target Count
  - platform: ld2450
    ld2450_id: ld2450_radar
    target_1:
      x:
        name: Target-1 X
      y:
        name: Target-1 Y
      speed:
        name: Target-1 Speed
      angle:
        name: Target-1 Angle
      distance:
        name: Target-1 Distance
      resolution:
        name: Target-1 Resolution
    target_2:
      x:
        name: Target-2 X
      y:
        name: Target-2 Y
      speed:
        name: Target-2 Speed
      angle:
        name: Target-2 Angle
      distance:
        name: Target-2 Distance
      resolution:
        name: Target-2 Resolution
    target_3:
      x:
        name: Target-3 X
      y:
        name: Target-3 Y
      speed:
        name: Target-3 Speed
      angle:
        name: Target-3 Angle
      distance:
        name: Target-3 Distance
      resolution:
        name: Target-3 Resolution
    zone_1:
      target_count:
        name: Zone-1 All Target Count
      still_target_count:
        name: Zone-1 Still Target Count
      moving_target_count:
        name: Zone-1 Moving Target Count
    zone_2:
      target_count:
        name: Zone-2 All Target Count
      still_target_count:
        name: Zone-2 Still Target Count
      moving_target_count:
        name: Zone-2 Moving Target Count
    zone_3:
      target_count:
        name: Zone-3 All Target Count
      still_target_count:
        name: Zone-3 Still Target Count
      moving_target_count:
        name: Zone-3 Moving Target Count

Ich habe noch die LUX multipliziert, die Werte waren für mich viel zu niedrig. Habe ich oben schon geändert / eingefügt.

    filters:
      - multiply: 21  # anpassen, bis der Wert stimmt
      - sliding_window_moving_average:
          window_size: 5
          send_every: 3

1 „Gefällt mir“