超声波距离告警场景
保存并启用 ultrasonic1,选择当前支持的超声波类别与 Trig/Echo 引脚;引脚顺序按表单与驱动配置核对。经典 HC-SR04 常用 5V 供电,Echo 接入 ESP32 前须通过适合的分压或电平转换,不能直接把 5V 输出接到 3.3V GPIO。GPIO 与资源以实际板卡为准。
本例使用高电平有效的有源蜂鸣器 buzzer;无源蜂鸣器需使用对应 PWM 配置,低电平有效模块同步改变关闭动作。
三条独立规则
json
{
"rules": [
{
"id": "exec_distance_read",
"name": "exec_distance_read",
"enabled": false,
"execMode": 0,
"triggers": [
{
"triggerType": 1,
"timerMode": 0,
"intervalSec": 5
}
],
"actions": [
{
"actionType": 19,
"targetPeriphId": "ultrasonic1",
"actionValue": "{\"periphId\":\"ultrasonic1\",\"sensorCategory\":\"ultrasonic\",\"channelField\":\"distance\",\"dataField\":\"distance\",\"unit\":\"cm\"}"
}
],
"reportAfterExec": true
},
{
"id": "exec_distance_near",
"name": "exec_distance_near",
"enabled": false,
"execMode": 0,
"triggers": [
{
"triggerType": 4,
"eventId": "ds:ultrasonic1_distance",
"operatorType": 3,
"compareValue": "30"
}
],
"actions": [
{
"actionType": 2,
"targetPeriphId": "buzzer",
"actionValue": "200"
},
{
"actionType": 21,
"targetPeriphId": "device_alarm",
"actionValue": "distance_near"
}
],
"reportAfterExec": true
},
{
"id": "exec_distance_safe",
"name": "exec_distance_safe",
"enabled": false,
"execMode": 0,
"triggers": [
{
"triggerType": 4,
"eventId": "ds:ultrasonic1_distance",
"operatorType": 2,
"compareValue": "50"
}
],
"actions": [
{
"actionType": 1,
"targetPeriphId": "buzzer"
}
],
"reportAfterExec": true
}
]
}先验证距离采集、实际缓存键和输出,再启用告警。近距离条件用 ds:ultrasonic1_distance 事件,不使用平台触发。30/50 cm 仅为演示阈值,中间区保留状态;采样周期与驱动限制、声学干扰及安装环境一起评估。
无回波、超时、失鲜和盲区数据不能用 0 cm 或“大距离”伪装成功。读取失败时本例不会自动触发恢复规则,也不是具备失鲜关闭策略的安全防撞控制器。GPIO 提交、蜂鸣器声音、平台告警分别验证;MQTT 事件只在正确主题及可用实例下请求发送,不能由 reportAfterExec 推断送达。

