跳转到内容

LD2450 传感器

ld2450 组件允许您在 ESPHome 中使用 HLK-LD2450 人体存在、运动检测和跟踪雷达模块。

目标跟踪涉及在特定区域内实时跟踪(运动)目标的位置,能够测量目标的距离、角度和速度(相对于传感器)。

LD2450 是 Hi-link 24G 毫米波雷达系列中用于运动目标跟踪的传感器模块。该模块采用简化的 24 GHz 雷达传感器硬件和智能算法固件。主要用于室内环境,实现移动人体目标的位置跟踪。

HLK-LD2450 官方数据手册和用户手册

HLKRadarTool Android 应用

HLKRadarTool iOS 应用

NOTE

确保 LD2450 固件版本为 V2.02.23090617 或更高版本,以确保集成功能正常。您可以使用 HLKRadarTool 移动应用 更新固件。

HLK-LD2450 雷达模块

需要在配置中设置 UART 才能使此传感器工作,paritystop_bits 必须分别为 NONE1。强烈建议使用硬件 UART,以正确支持 LD2450 模块默认的 256000 波特率。

# ld2450 配置
ld2450:
id: ld2450_radar
  • id (可选, ID):手动指定此 Ld2450 组件的 ID。
  • uart_id (可选, ID):手动指定要使用的 UART 组件 的 ID。如果配置了多个 UART,则需要此参数。
  • on_data (可选, 自动化):每次收到报告后执行的操作。所有目标值保证是最新的且一致的。

ld2450 二值传感器提供目标的存在状态。

binary_sensor:
- platform: ld2450
ld2450_id: ld2450_radar
has_target:
name: 存在
has_moving_target:
name: 运动目标
has_still_target:
name: 静止目标
  • ld2450_id (可选, ID):手动指定 Ld2450 组件的 ID。

  • has_target (可选):如果任一目标静止或运动中则为 true。 来自 二值传感器 的所有选项。

  • has_moving_target (可选):如果检测到运动目标则为 true。 来自 二值传感器 的所有选项。

  • has_still_target (可选):如果检测到静止目标则为 true。 来自 二值传感器 的所有选项。

NOTE

默认情况下,上述每个 二值传感器 组件都包含以下 过滤器 以防止向 Home Assistant 发送过多状态更新:

- settle: 1000ms

如果您定义了其他过滤器,此默认值将被覆盖;当然,如果您愿意,可以将其添加回您的自定义过滤器中。

要删除任何给定二值传感器实例的默认过滤器,请在其配置中添加 filters: []

ld2450 传感器为您提供有关检测目标的状态和属性信息。

sensor:
- platform: ld2450
ld2450_id: ld2450_radar
target_count:
name: 存在目标数量
still_target_count:
name: 静止目标数量
moving_target_count:
name: 运动目标数量
target_1:
x:
name: 目标1 X
y:
name: 目标1 Y
speed:
name: 目标1 速度
angle:
name: 目标1 角度
distance:
name: 目标1 距离
resolution:
name: 目标1 分辨率
target_2:
x:
name: 目标2 X
y:
name: 目标2 Y
speed:
name: 目标2 速度
angle:
name: 目标2 角度
distance:
name: 目标2 距离
resolution:
name: 目标2 分辨率
target_3:
x:
name: 目标3 X
y:
name: 目标3 Y
speed:
name: 目标3 速度
angle:
name: 目标3 角度
distance:
name: 目标3 距离
resolution:
name: 目标3 分辨率
zone_1:
target_count:
name: 区域1所有目标数量
still_target_count:
name: 区域1静止目标数量
moving_target_count:
name: 区域1运动目标数量
zone_2:
target_count:
name: 区域2所有目标数量
still_target_count:
name: 区域2静止目标数量
moving_target_count:
name: 区域2运动目标数量
zone_3:
target_count:
name: 区域3所有目标数量
still_target_count:
name: 区域3静止目标数量
moving_target_count:
name: 区域3运动目标数量
  • ld2450_id (可选, ID):手动指定 Ld2450 组件的 ID。

  • target_count (可选, int):检测到的目标总数,无论静止还是运动中。 来自 传感器 的所有选项。

  • still_target_count (可选, int):静止目标的数量。 来自 传感器 的所有选项。

  • moving_target_count (可选, int):运动目标的数量。 来自 传感器 的所有选项。

  • target_N (可选):目标的详细信息(N = 1 到 3)。最多可检测 3 个目标:target_1target_2target_3

    • x (可选, int):目标沿 X 轴距离 ld2450 传感器的距离,单位 毫米(mm)(负值表示传感器左侧,正值表示传感器右侧)。ld2450 模块可以在 X 方向检测 -3000 到 3000 mm 范围内的目标。来自 传感器 的所有选项。

    • y (可选, int):目标在 Y 方向(近/远)距离 ld2450 传感器的距离,单位 毫米(mm)ld2450 模块可以在 Y 方向检测 0 到 6000 mm 范围内的目标。来自 传感器 的所有选项。

    • speed (可选, int):运动目标的速度,单位 mm/s。 来自 传感器 的所有选项。

    • angle (可选, int):目标相对于 ld2450 传感器的角度,单位 度(°)。 来自 传感器 的所有选项。

    • distance (可选, int):目标沿 X 轴距离 ld2450 传感器的距离,单位 毫米(mm)(负值表示传感器左侧,正值表示传感器右侧)。来自 传感器 的所有选项。

    • resolution (可选, int):ld2450 目标检测范围分辨率,单位 毫米(mm)。 来自 传感器 的所有选项。

  • zone_N (可选):定义的 区域 内的目标数量详情(N = 1 到 3)。最多三个区域:zone_1zone_2zone_3

    • target_count (可选, int):区域内检测到的目标总数,无论静止还是运动中。 来自 传感器 的所有选项。

    • still_target_count (可选, int):区域内静止目标的数量。来自 传感器 的所有选项。

    • moving_target_count (可选, int):区域内运动目标的数量。来自 传感器 的所有选项。

NOTE

默认情况下,上述每个 传感器 组件都包含以下 过滤器 以防止向 Home Assistant 发送过多状态更新:

- timeout:
timeout: 1s
value: last
- throttle_with_priority: 1000ms

如果您定义了其他过滤器,此默认值将被覆盖;当然,如果您愿意,可以将其添加回您的自定义过滤器中。

要删除任何给定传感器实例的默认过滤器,请在其配置中添加 filters: []

ld2450 开关允许您控制 Ld2450蓝牙多/单目标跟踪

switch:
- platform: ld2450
ld2450_id: ld2450_radar
bluetooth:
name: "蓝牙"
multi_target:
name: "多目标跟踪"
  • ld2450_id (可选, ID):如果您使用多个组件,手动指定 Ld2450 组件的 ID。

  • bluetooth (可选):开启/关闭蓝牙适配器。默认为 true。来自 开关 的所有选项。

  • multi_target (可选):开启/关闭多目标跟踪选项。初始状态根据启动时从 LD2450 模块读取的相应设置确定。来自 开关 的所有选项。

ld2450 数值平台允许您控制 Ld2450 的存在超时和区域面积配置。

number:
- platform: ld2450
ld2450_id: ld2450_radar
presence_timeout:
name: "超时"
zone_1:
x1:
name: 区域1 X1
y1:
name: 区域1 Y1
x2:
name: 区域1 X2
y2:
name: 区域1 Y2
zone_2:
x1:
name: 区域2 X1
y1:
name: 区域2 Y1
x2:
name: 区域2 X2
y2:
name: 区域2 Y2
zone_3:
x1:
name: 区域3 X1
y1:
name: 区域3 Y1
x2:
name: 区域3 X2
y2:
name: 区域3 Y2
  • ld2450_id (可选, ID):手动指定 Ld2450 组件的 ID。
  • presence_timeout (必需, int):存在状态 在检测清除后持续保持的时间,单位秒。默认为 5 秒。来自 数值 的所有选项。

NOTE

presence_timeout 适用于 存在二值传感器状态。它 适用于任何其他传感器数据,如目标数量或目标详情。

  • zone_N (可选):区域配置(N = 1 到 3),定义为传感器前方和相对于传感器的矩形区域。最多可配置三个区域:zone_1zone_2zone_3。区域坐标由 x1y1(近左)到 x2y2(远右)组成,以 毫米(mm) 为单位指定。

    • x1 (必需, int):区域沿 X 轴的起始 X 坐标。范围从 -3000(最左)到 3000(最右)。来自 数值 的所有选项。

    • y1 (必需, int):区域沿 Y 轴的起始 Y 坐标。范围从 0(最近)到 6000(最远)。来自 数值 的所有选项。

    • x2 (必需, int):区域沿 X 轴的结束 X 坐标。范围从 -3000(最左)到 3000(最右)。来自 数值 的所有选项。

    • y2 (必需, int):区域沿 Y 轴的结束 Y 坐标。范围从 0(最近)到 6000(最远)。来自 数值 的所有选项。

ld2450 按钮允许您对 Ld2450 执行 重启恢复出厂设置 操作。

button:
- platform: ld2450
ld2450_id: ld2450_radar
factory_reset:
name: "LD2450 恢复出厂设置"
restart:
name: "LD2450 重启"
  • ld2450_id (可选, ID):手动指定 Ld2450 组件的 ID。

  • factory_reset (可选):将 ld2450 重置为出厂默认配置/值。 来自 按钮 的所有选项。

  • restart (可选):重启 ld2450 设备。来自 按钮 的所有选项。

ld2450 文本传感器允许您获取有关 Ld2450 的信息。

text_sensor:
- platform: ld2450
ld2450_id: ld2450_radar
version:
name: "LD2450 固件"
mac_address:
name: "LD2450 蓝牙MAC"
target_1:
direction:
name: "目标1 方向"
target_2:
direction:
name: "目标2 方向"
target_3:
direction:
name: "目标3 方向"
  • ld2450_id (可选, ID):手动指定 Ld2450 组件的 ID。

  • version (可选):ld2450 固件版本。 来自 文本传感器 的所有选项。

  • mac_address (可选):ld2450 蓝牙 MAC 地址。 来自 文本传感器 的所有选项。

  • target_N (可选):目标(N = 1 到 3)。最多可检测 3 个目标:target_1target_2target_3

    • direction (可选):目标相对于 ld2450 传感器的方向。可能的值为:静止远离靠近未知。来自 传感器 的所有选项。

ld2450 选择器允许您控制 Ld2450波特率区域类型

select:
- platform: ld2450
ld2450_id: ld2450_radar
baud_rate:
name: "波特率"
zone_type:
name: "区域类型"
  • ld2450_id (可选, ID):手动指定 Ld2450 组件的 ID。

  • baud_rate (可选):控制 UART 串口波特率。默认为 256000。更改后,所有传感器将停止工作,直到使用更新后的 UART 组件 配置重新安装。来自 选择器 的所有选项。

  • zone_type (可选):控制区域检测模式。可以设置为 禁用检测过滤。选择 禁用 选项将禁用区域面积检测。检测 模式用于仅检测指定区域内的目标,而 过滤 模式可用于排除某个区域的检测。来自 选择器 的所有选项。

以下是 Ld2450 的完整示例配置。

esphome:
name: ld2450-radar
friendly_name: ld2450-radar
esp32:
board: wemos_d1_mini32
logger:
api:
ota:
- platform: esphome
wifi:
ap:
uart:
id: uart_ld2450
tx_pin: GPIOXX
rx_pin: GPIOXX
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: 存在
has_moving_target:
name: 运动目标
has_still_target:
name: 静止目标
number:
- platform: ld2450
ld2450_id: ld2450_radar
presence_timeout:
name: "超时"
zone_1:
x1:
name: 区域1 X1
y1:
name: 区域1 Y1
x2:
name: 区域1 X2
y2:
name: 区域1 Y2
zone_2:
x1:
name: 区域2 X1
y1:
name: 区域2 Y1
x2:
name: 区域2 X2
y2:
name: 区域2 Y2
zone_3:
x1:
name: 区域3 X1
y1:
name: 区域3 Y1
x2:
name: 区域3 X2
y2:
name: 区域3 Y2
switch:
- platform: ld2450
ld2450_id: ld2450_radar
bluetooth:
name: "蓝牙"
multi_target:
name: "多目标跟踪"
select:
- platform: ld2450
ld2450_id: ld2450_radar
baud_rate:
name: "波特率"
zone_type:
name: "区域类型"
button:
- platform: ld2450
ld2450_id: ld2450_radar
factory_reset:
name: "LD2450 恢复出厂设置"
entity_category: "config"
restart:
name: "LD2450 重启"
entity_category: "config"
text_sensor:
- platform: ld2450
ld2450_id: ld2450_radar
version:
name: "LD2450 固件"
mac_address:
name: "LD2450 蓝牙MAC"
target_1:
direction:
name: "目标1 方向"
target_2:
direction:
name: "目标2 方向"
target_3:
direction:
name: "目标3 方向"
sensor:
- platform: ld2450
ld2450_id: ld2450_radar
target_count:
name: 存在目标数量
- platform: ld2450
ld2450_id: ld2450_radar
still_target_count:
name: 静止目标数量
- platform: ld2450
ld2450_id: ld2450_radar
moving_target_count:
name: 运动目标数量
- platform: ld2450
ld2450_id: ld2450_radar
target_1:
x:
name: 目标1 X
y:
name: 目标1 Y
speed:
name: 目标1 速度
angle:
name: 目标1 角度
distance:
name: 目标1 距离
resolution:
name: 目标1 分辨率
target_2:
x:
name: 目标2 X
y:
name: 目标2 Y
speed:
name: 目标2 速度
angle:
name: 目标2 角度
distance:
name: 目标2 距离
resolution:
name: 目标2 分辨率
target_3:
x:
name: 目标3 X
y:
name: 目标3 Y
speed:
name: 目标3 速度
angle:
name: 目标3 角度
distance:
name: 目标3 距离
resolution:
name: 目标3 分辨率
zone_1:
target_count:
name: 区域1所有目标数量
still_target_count:
name: 区域1静止目标数量
moving_target_count:
name: 区域1运动目标数量
zone_2:
target_count:
name: 区域2所有目标数量
still_target_count:
name: 区域2静止目标数量
moving_target_count:
name: 区域2运动目标数量
zone_3:
target_count:
name: 区域3所有目标数量
still_target_count:
name: 区域3静止目标数量
moving_target_count:
name: 区域3运动目标数量