Scenario: Smoke Alarm, Buzzer, and MQTT Reporting
Scenario: Smoke Alarm, Buzzer, and MQTT Reporting
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
- Scenario: Smoke Alarm, Buzzer, and MQTT Reporting context and expected reader workflow.
- Configuration, verification, and release-readiness details.
- Source-aligned implementation notes, screenshots, and troubleshooting references.
Source Reference
The detailed operational source is preserved below so implementation details stay exact while the English navigation, titles, and reading path remain available.
场景:烟雾报警 + 蜂鸣器 + MQTT 上报
场景描述
使用 MQ-2 烟雾传感器通过 ADC 采集烟雾浓度值,当浓度超过设定阈值时触发蜂鸣器报警,同时通过 MQTT 上报设备告警事件到 IoT 平台,实现本地+远程双重报警。
硬件清单
| 模块 | 型号 | 数量 | 接线 |
|---|---|---|---|
| 烟雾传感器 | MQ-2 | 1 | AO→GPIO34 |
| 蜂鸣器 | 有源蜂鸣器模块 | 1 | IN→GPIO25 |
| LED指示灯 | 红色LED | 1 | →GPIO2 (板载) |
完整配置流程
方式1:Web界面配置(推荐)
本场景需要先添加烟雾 ADC、蜂鸣器和指示灯,再用外设执行规则实现阈值报警和 MQTT 上报。
烟雾报警场景按闭环拆解为:ADC 采集浓度、规则判断阈值、蜂鸣器和指示灯执行动作、MQTT 上报告警事件。
第一步:配置外设
步骤1:进入外设管理页面
- 打开浏览器访问 ESP32 IP 地址
- 登录后点击左侧菜单 外设配置
步骤2:添加MQ-2烟雾传感器
点击 新增外设 按钮
填写配置:
字段 填写内容 说明 外设ID smoke_sensor烟雾传感器MQ2 名称 烟雾传感器MQ2显示名称 外设类型 GPIO模拟输入 (type: 15) ADC采集 引脚配置 34AO对应GPIO34(ADC1) 衰减 11dB(3)0-3.3V量程 分辨率 12位0-4095 采样率 55Hz 点击 保存
步骤3:添加报警蜂鸣器
再次点击 新增外设 按钮
填写配置:
字段 填写内容 说明 外设ID buzzer_01报警蜂鸣器 名称 报警蜂鸣器显示名称 外设类型 GPIO数字输出 (type: 12) 蜂鸣器控制 引脚配置 25IN对应GPIO25 初始状态 0默认关闭 点击 保存
步骤4:添加报警LED
第三次点击 新增外设 按钮
填写配置:
字段 填写内容 说明 外设ID led_alarm报警LED 名称 报警LED显示名称 外设类型 GPIO数字输出 (type: 12) LED控制 引脚配置 2板载LED 初始状态 0默认关闭 点击 保存
第二步:配置外设执行规则
规则1:定时采集烟雾浓度
切换到 外设执行管理 标签
点击 新增规则 按钮
填写基础配置:
- 规则名称:
烟雾浓度采集 - 上报数据:✅ 启用
- 启用:✅ 启用
- 规则名称:
配置触发器:
- 触发类型:选择 定时触发
- 定时模式:选择 固定间隔
- 间隔时间:
5(5秒,烟雾检测需要高响应速度)
配置动作:
- 动作类型:选择 传感器读取
- 目标外设:选择
smoke_sensor - 数据字段:
analog
点击 保存
规则2:烟雾超限报警
创建规则,名称:
烟雾超限报警触发器配置:
- 触发类型:选择 事件触发
- 事件ID:填写
ds:smoke_sensor_analog - 运算符:选择
大于 (>) - 阈值:
2000(ADC值,约中等烟雾浓度)
动作配置(需要3个动作):
- 动作1:选择 闪烁,目标
buzzer_01,间隔300(300ms快速鸣叫) - 动作2:选择 闪烁,目标
led_alarm,间隔500(500ms闪烁) - 动作3:选择 触发事件,事件ID
smoke_alarm
- 动作1:选择 闪烁,目标
点击 保存
规则3:烟雾恢复正常
创建规则,名称:
烟雾恢复正常触发器配置:
- 触发类型:选择 事件触发
- 事件ID:填写
ds:smoke_sensor_analog - 运算符:选择
小于 (<) - 阈值:
1000(低于报警阈值,形成迟滞)
动作配置(需要2个动作):
- 动作1:选择 低电平,目标
buzzer_01 - 动作2:选择 低电平,目标
led_alarm
- 动作1:选择 低电平,目标
点击 保存
💡 提示:报警阈值2000,恢复阈值1000,形成1000的迟滞区间,防止反复报警
方式2:JSON配置文件导入
工作原理
- MQ-2 传感器输出模拟电压,烟雾浓度越高电压越高
- ADC 读取范围 0~4095(对应 0~3.3V)
- 阈值 2000 约对应中等烟雾浓度(需根据实际环境校准)
- 恢复阈值 1000 形成迟滞,避免在阈值附近反复报警
参数调整
| 参数 | 建议值 | 说明 |
|---|---|---|
| 采集间隔 | 5s | 烟雾检测需要较高响应速度 |
| 报警阈值 | 2000 | ADC原始值,需根据环境校准 |
| 恢复阈值 | 1000 | 低于报警阈值,形成迟滞区间 |
| 蜂鸣器闪烁间隔 | 300ms | 快速鸣叫提示危险 |
注意事项
- MQ-2 传感器需要 5~10 分钟预热时间才能稳定
- 新传感器首次使用需预热 24 小时以上
- 报警阈值需根据实际环境和应用场景校准
- 建议定期维护传感器(灰尘积累会影响灵敏度)
