LD2450 传感器
ld2450 组件允许您在 ESPHome 中使用 HLK-LD2450 人体存在、运动检测和跟踪雷达模块。
目标跟踪涉及在特定区域内实时跟踪(运动)目标的位置,能够测量目标的距离、角度和速度(相对于传感器)。
LD2450 是 Hi-link 24G 毫米波雷达系列中用于运动目标跟踪的传感器模块。该模块采用简化的 24 GHz 雷达传感器硬件和智能算法固件。主要用于室内环境,实现移动人体目标的位置跟踪。
NOTE
确保 LD2450 固件版本为 V2.02.23090617 或更高版本,以确保集成功能正常。您可以使用 HLKRadarTool 移动应用 更新固件。
需要在配置中设置 UART 才能使此传感器工作,parity 和 stop_bits 必须分别为 NONE 和 1。强烈建议使用硬件 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: 静止目标-
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运动目标数量-
target_count (可选, int):检测到的目标总数,无论静止还是运动中。 来自 传感器 的所有选项。
-
still_target_count (可选, int):静止目标的数量。 来自 传感器 的所有选项。
-
moving_target_count (可选, int):运动目标的数量。 来自 传感器 的所有选项。
-
target_N (可选):目标的详细信息(N = 1 到 3)。最多可检测 3 个目标:
target_1、target_2、target_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_1、zone_2、zone_3。
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: "多目标跟踪"-
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_1、zone_2、zone_3。区域坐标由x1、y1(近左)到x2、y2(远右)组成,以 毫米(mm) 为单位指定。
ld2450 按钮允许您对 Ld2450 执行 重启 和 恢复出厂设置 操作。
button: - platform: ld2450 ld2450_id: ld2450_radar factory_reset: name: "LD2450 恢复出厂设置" restart: name: "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 方向"-
version (可选):
ld2450固件版本。 来自 文本传感器 的所有选项。 -
mac_address (可选):
ld2450蓝牙 MAC 地址。 来自 文本传感器 的所有选项。 -
target_N (可选):目标(N = 1 到 3)。最多可检测 3 个目标:
target_1、target_2、target_3。- direction (可选):目标相对于
ld2450传感器的方向。可能的值为:静止、远离、靠近、未知。来自 传感器 的所有选项。
- direction (可选):目标相对于
ld2450 选择器允许您控制 Ld2450 的 波特率 和 区域类型。
select: - platform: ld2450 ld2450_id: ld2450_radar baud_rate: name: "波特率" zone_type: name: "区域类型"-
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运动目标数量