DFRobot 毫米波雷达
DFRobot mmWave Radar
(又称 SEN0395)是一款 24GHz 雷达,可用于人体存在检测。它可以检测微小的动作,
与 PIR 传感器相比,它可以持续检测存在。例如,这可以用于
在您进入房间时打开灯、只要您在里面就一直保持灯亮(无需在
传感器前挥手)以及几乎在您离开房间后立即关灯。
可以仅使用单个 GPIO 引脚来使用此传感器;但是,如果您想更改其设置, 则需要在设备的配置中使用UART组件(以及其必需的 GPIO 引脚)。

# Example configuration entrydfrobot_sen0395:
binary_sensor: # Information coming from uart bus - platform: dfrobot_sen0395 name: Mmwave Detected via UART
# Information coming from dedicated gpio (IO2) - platform: gpio name: Mmwave Detected via GPIO device_class: motion pin: number: GPIOXX mode: INPUT_PULLDOWN
switch: # Switch to turn on/off detection - platform: dfrobot_sen0395 name: Mmwave ActiveHub 组件
Section titled “Hub 组件”仅当您想更改传感器的设置或通过 UART 读取其状态时,才需要定义 hub 组件(dfrobot_sen0395: 条目)。如果您只想
确定存在/占位情况,则仅使用GPIO就足够了。当您定义 dfrobot_sen0395: 时,您需要在
配置中有一个 uart: 条目,并定义 TX 和 RX 引脚,且波特率必须设为 115200。
如果多个UART组件可用,则可以定义此组件的多个实例:
dfrobot_sen0395: - id: mmWave_1 uart_id: uart_1 - id: mmWave_2 uart_id: uart_2 ...-
id (可选, ID):手动指定用于代码生成的 ID。如果您想 定义此组件的多个实例,则此选项是必需的。
二进制传感器
Section titled “二进制传感器”通过 GPIO
Section titled “通过 GPIO”要确定存在,您可以简单地使用GPIO,并将处理器的一个单个 GPIO 引脚 连接到 mmWave 雷达的 IO2 引脚。使用专用的 GPIO 引脚可能更有优势,因为 它可以将处理器从睡眠中唤醒。
如果您不想/不需要更改雷达的设置,并且只需要确定存在/占位,
则不需要 dfrobot_sen0395: 和 uart: 组件。
binary_sensor: - platform: gpio name: Presence Detected via GPIO device_class: motion pin: number: GPIOXX mode: INPUT_PULLDOWN通过 UART
Section titled “通过 UART”通过串行连接(UART)连接传感器,既可以更改其设置,也可以读取其状态。 但请注意,UART 外设无法唤醒处理器;如果您打算让处理器休眠,您可能 仍然需要使用上面描述的 GPIO 引脚方法(以及 UART)。
首先,设置一个UART和Hub 组件,然后使用其二进制传感器平台 为每个存在传感器创建单独的二进制传感器。
binary_sensor: - platform: dfrobot_sen0395 name: Presence Detected via UART-
dfrobot_sen0395_id (可选, ID):上面定义的 DFRobot mmWave 组件的 ID。 当定义了多个
dfrobot_sen0395组件实例时需要。 -
二进制传感器的所有其它选项。
开关组件用于启用/禁用模块的各种功能。
switch: - platform: dfrobot_sen0395 dfrobot_sen0395_id: mmWave type: sensor_active name: mmWave Active-
dfrobot_sen0395_id (可选, ID):上面定义的 DFRobot mmWave 组件的 ID。 当定义了多个
dfrobot_sen0395组件实例时需要。 -
type (必选):以下之一:
-
presence_via_uart:启用时,模块通过串行连接和 GPIO 引脚都发送存在信息;禁用时,仅通过 GPIO 引脚指示存在。 -
sensor_active:启用时,上报存在检测结果;禁用时,不报告存在。 -
start_after_boot:启用时,传感器在上电后立即启动;禁用时,传感器 必须手动启动。 -
turn_on_led:启用时,mmWave 传感器的 LED 在运行期间闪烁;禁用时,LED 始终 保持关闭。
-
-
开关的所有其它选项。
dfrobot_sen0395.settings 动作
Section titled “dfrobot_sen0395.settings 动作”WARNING
对 mmWave 雷达配置的每次更改都会触发一次对其内部闪存/EEPROM 的写入。 该存储器的写入次数有限,因此请避免频繁更改设置的做法。 确定适合您的设备的设置,并避免在非绝对必要的情况下更改它们。
DFRobot mmWave 雷达有一些可以更改的设置。这些设置保存在非易失性存储器中, 无需在每次启动时设置。
settings 动作允许更改 mmWave 雷达的任意数量的内部参数/设置。使用此 动作时,任何未指定的参数将保持不变。所有设置都是可模板化的。
on_...: - dfrobot_sen0395.settings: factory_reset: true detection_segments: # Define between one and four segments - [0cm, 3m] - [5.1m, 6.6m] output_latency: delay_after_detect: 0s delay_after_disappear: 0s sensitivity: 7-
id (可选, ID):手动指定应在上面更改设置的 mmWave 传感器的 ID。如果只定义了一个雷达,则可选。
-
factory_reset (可选, boolean, 可模板化):如果设为
true,将对传感器执行出厂复位(在 更改其它选项之前,如果存在其它选项)。如果未设置或设为false,则忽略此项。 -
detection_segments (可选, list):检测段列表。一个段指定检测应在哪些范围 触发。可以指定一到四个段,范围从 0cm 到 9m。距离应以 15cm 为步长 定义。请注意,指定的范围会在内部进行四舍五入。段可以在一维或 二维列表中定义。必须成对定义值(从距离到距离)。默认是一个 从 0cm 到 3m 的范围。
示例
detection_segments: - [0cm, 3m] - [5.1m, 6.6m]在上面的示例中,如果一个人出现在 0cm 到 3m(距传感器的距离)或 5.1m 到 6.6m 的范围内,传感器就会触发(这意味着检测到了人)。如果一个人出现在 3.1m 到 5m 或 6.7m 到 9m 之间,则不会触发。
detection_segments: - !lambda |- return 0; - !lambda |- return return id(mwave_max_distance).state;段值可以使用 lambda 定义,因此您可以根据其它实体设置距离。距离 以米为单位的浮点数定义(10cm = 0.1)。如果您返回一个负值(-1),则该段将不会被设置。
-
output_latency (可选, dictionary):
-
sensitivity (可选, int, 可模板化):设置传感器的灵敏度。范围为 0 到 9。 返回 0-9。返回 -1 则保持该值不变。
dfrobot_sen0395.reset 动作
Section titled “dfrobot_sen0395.reset 动作”重启传感器。
on_...: dfrobot_sen0395.reset:- id (可选, ID):手动指定 mmWave 组件的 ID。当定义了此组件的多个实例时很有用。