内容正文:
智能消防系统实践
1
01
2
02
2
03
04
2
05
2
06
目录
情境导入与任务揭示
功能拆解与硬件选型
硬件搭建与接线规范
程序逻辑与代码实现
系统调试与故障排除
成果展示与反思提升
2
01
情境导入与任务揭示
3
实验室火灾隐患
与智能方案
以校园无人实验室突发火情为背景,传统喷淋无法远程通知,存在巨大安全隐患。本课将构建一套“智能消防系统”,实现 远程监测、报警、控制 三位一体。
温度超标
手机报警
远程喷淋
4
项目目标与核心问题
知识与技能
阐述系统逻辑,完成硬件选型与接线,实现核心功能代码。
过程与方法
经历“设计→实现→测试→优化”的工程流程,提升问题解决能力。
情感与价值
体会物联网在安全领域的价值,激发对系统开发的兴趣。
核心问题 1
如何让传感器数据直达手机?
核心问题 2
报警信息如何触发执行器?
5
02
功能拆解与硬件选型
6
三大功能闭环逻辑
数据流:传感器 → 主控 → 云平台 → 手机
远程监测
温度/烟雾数据同步到手机App
远程报警
超标时发布“fire/alarm”主题
远程控制
手机指令启动水泵
7
硬件清单与角色分工
硬件清单与功能
Arduino Uno:
系统核心,处理数据
DS18B20:
监测环境温度
ESP8266:
连接云平台,数据收发
有源蜂鸣器:
现场声音报警
继电器:
控制水泵等大功率设备
直流水泵:
模拟喷水灭火
⚠️ ESP8266必须使用3.3V供电,接5V会烧毁!
小组角色分工
硬件长
负责正确接线
程序长
负责代码编写
测试长
负责调试记录
8
03
硬件搭建与接线规范
9
核心电路接线步骤
以“远程报警”回路为例,强调 “先断电,再接线” ,用颜色区分功能。
1. 连接温度传感器
红(VCC)→3.3V, 黑(GND)→GND, 黄(DATA)→D2
2. 连接物联网模块
VCC→3.3V, GND→GND, TX→D0, RX→D1
3. 连接蜂鸣器
红(VCC)→5V, 黑(GND)→GND, 信号(S)→D3
电源 (红)
接地 (黑)
数据 (黄)
10
小组实操与巡检要点
检查串口连接
重点排查ESP8266的 TX与RX是否反接 ,这是通信失败的主要原因。
核对电源电压
确保ESP8266接入 3.3V ,蜂鸣器/继电器接入5V,避免烧毁元件。
确认杜邦线连接
检查杜邦线是否完全插入引脚, 杜绝松动 导致的接触不良。
11
04
程序逻辑与代码实现
12
算法流程图
以“远程报警”功能为例, “判断语句” 就是系统的报警开关。
初始化传感器与MQTT
循环读取温度 (temp)
温度是否 > 55℃
(阈值)
是
否
发布报警蜂鸣器响
不动作延时1秒
关键变量与定义
temp: 存储读取到的温度值
55: 设定的报警温度阈值
"fire/alarm": MQTT发布主题名
D3: 蜂鸣器连接的数字引脚
13
核心代码逐行解析
// 1. 包含必要的库
#include
#include
#include
// 2. 定义引脚和对象
#define
ONE_WIRE_BUS 2
// 温度传感器接D2
#define
BUZZER_PIN 3
// 蜂鸣器接D3
const char*
mqtt_server = "183.230.40.39";
// 3. 在loop()中读取温度并判断
sensors.requestTemperatures();
float temp = sensors.getTempCByIndex(0);
// 4. 核心判断与执行
if (temp > 55) {
client.publish("fire/alarm", "温度超标!");
digitalWrite(BUZZER_PIN, HIGH);
} else {
digitalWrite(BUZZER_PIN, LOW);
}
// 5. 远程控制部分 (拓展)
voidcallback(...) {
if (payload[0] == 'o') // 收到'on'
digitalWrite(PUMP_PIN, HIGH);
}
下发空白模板,只需修改Wi-Fi名、密码、设备ID即可完成编译,体验 “填空式” 编程。
14
05
系统调试与故障排除
15
三级调试策略:逐级放行
形成“先硬后软、先局部后整体”的系统调试思维,快速定位故障节点。
本地
功能级
加热传感器,观察串口温度与蜂鸣器,排除 硬件接线 问题。
2. 通信级
查看云平台消息列表,排查 Wi-Fi/主题/ID 错误。
3. 远程级
手机App订阅主题,验证 应用层推送 功能。
16
常见故障对照表
按“ 看现象→查原因→改参数→再测试 ”四步口诀,自主纠错。
现象:温度始终-127℃
原因:数据线接反或缺失上拉电阻。
解决:检查DS18B20的DATA线,并确保D2引脚有4.7kΩ上拉电阻。
现象:ESP8266不断重启
原因:供电不足。
解决:使用独立3.3V稳压电源为ESP8266供电。
现象:MQTT连接失败
原因:密码错误,如误把字母O输成0。
解决:仔细核对Wi-Fi密码和MQTT密码。
现象:手机收不到推送
原因:订阅主题与发布主题大小写不一致。
解决:确保App订阅的主题与代码中publish的主题完全一致。
17
06
成果展示与反思提升
18
小组演示与评价
1. 功能实现 (40%)
演示加热报警与远程控制功能。
2. 接线规范 (30%)
检查接线是否正确、整洁、安全。
3. 合作分工 (20%)
观察团队协作与角色执行情况。
4. 故障记录 (10%)
查看《调试记录表》的完整性与分析深度。
19
课堂小结与作业布置
课堂小结
回顾开发四步:功能设计 → 硬件搭建 → 程序编写 → 调试改进。
核心收获: MQTT协议 让“物”会说话,实现了从数据到行动的闭环。
作业布置
完善代码:实现手机发送“on”指令,远程启动水泵功能。
撰写日记:记录调试中遇到的最大挑战及解决思路。
思考拓展:若加入烟雾传感器,程序应如何修改?
预告:下节课将加入OLED就地显示,构建更完整的系统!
20
感谢观看
21
$