Example 44: PIR motion sensor(PIR)
About 3 min
Example 44: PIR motion sensor(PIR)
Synchronized Device Documentation
This page corresponds to the synchronized Chinese source. Commands, JSON examples, API paths, field names, and screenshots are kept aligned with the Chinese device-side source documentation.
What This Page Covers
- Overview
- Wiring
- JSON Configuration Example
- PeriphExec Linkage
- Notes
Source Reference
The detailed operational source is preserved below so implementation details stay exact while the English navigation, titles, and reading path remain available.
示例44:人体红外传感器(PIR)
实验概述
HC-SR501 人体红外感应模块通过检测人体发出的红外辐射变化来判断是否有人移动。检测到人体时输出高电平,适用于自动照明、安防报警、人员计数等场景。
硬件接线
| 开发板标识 | GPIO引脚 | 连接设备 |
|---|---|---|
| OUT | GPIO4 | PIR模块输出(检测到人为高电平) |
HC-SR501 供电 5-20V,输出 3.3V 高电平,可直接接 ESP32。
JSON 配置示例
{
"peripherals": [
{
"id": "pir_01",
"name": "人体红外",
"type": 11,
"enabled": false,
"pins": [4],
"params": {}
}
]
}外设执行联动
场晦1:人体感应开灯(轮询触发)
功能:检测到人体时打开继电器,30秒后关闭
Web界面配置步骤
步骤1:确保已配置继电器外设
- 外设ID:
relay_01 - 类型:GPIO输出
步骤2:创建规则
- 点击左侧菜单 外设配置 → 切换到 外设执行管理 标签
- 点击 新增规则 按钮
- 填写基础配置:
- 规则名称:
人体感应灯 - 上报数据:✅ 启用
- 启用:✅ 启用
- 规则名称:
步骤3:配置触发器(轮询触发)
点击 添加触发 按钮
填写触发器配置:
字段 填写内容 说明 触发类型 选择 轮询触发 定时检测条件 目标外设 选择 pir_01人体红外 轮询间隔 200200ms 条件表达式 value == 1检测到人体
步骤4:配置动作(需要3个动作)
动作1:打开继电器
- 点击 添加动作 按钮
- 填写:
- 动作类型:选择 高电平
- 目标外设:选择
relay_01
动作2:延时30秒
- 再次点击 添加动作 按钮
- 填写:
- 动作类型:选择 延时
- 延时时间:
30000(30000ms=30秒)
动作3:关闭继电器
第三次点击 添加动作 按钮
填写:
- 动作类型:选择 低电平
- 目标外设:选择
relay_01
点击 保存 按钮
场晦2:安防报警(轮询触发)
功能:检测到人体移动时触发蜂鸣器报警
配置步骤:
- 创建规则,名称:
入侵报警 - 触发器配置:
- 触发类型:选择 轮询触发
- 目标外设:选择
pir_01 - 轮询间隔:
500 - 条件表达式:
value == 1
- 动作配置(需要2个动作):
- 动作1:选择 高电平,目标
buzzer_gpio - 动作2:选择 发送事件,类型
alarm,消息检测到人体移动!
- 动作1:选择 高电平,目标
- 点击 保存
PIR传感器说明
| 特性 | 说明 |
|---|---|
| 供电电压 | 5-20V |
| 输出电平 | 3.3V(兼容ESP32) |
| 检测距离 | 3-7m(电位器可调) |
| 延时时间 | 5s-5min(电位器可调) |
| 触发模式 | L=不可重复,H=可重复(跳线) |
| 预热时间 | 约1分钟 |
注意事项
- 预热时间:HC-SR501 上电后需约 1 分钟预热稳定
- 延时调节:模块电位器可调输出高电平保持时间(5s~5min)
- 灵敏度:另一个电位器调节检测灵敏度/距离(3~7m)
- 触发模式:L=不可重复触发,H=可重复触发(跳线选择)
- 温差依赖:PIR 检测人体与环境的温差,环境温度接近体温时灵敏度降低
- 遮挡:透过玻璃无法检测(玻璃阻挡远红外)
