一、前言
1.1 项目介绍
【1】项目开发背景
随着智能家居和物联网技术的快速发展,人们对于家庭安全的关注度日益提升。尤其是在火灾防范方面,传统的火灾报警系统往往只能在火灾发生时提供本地警报,这对于及时发现并采取措施以减少损失具有一定的局限性。由于现代生活节奏加快,越来越多的人无法时刻待在家中,因此需要一种可以远程监控家庭环境、尤其是火灾情况的解决方案。基于这样的背景,设计一个能够连接云端服务器的火灾感知系统显得尤为重要。
本项目开发一套基于STM32微控制器的智能火灾感知系统,该系统不仅具备基础的环境监测功能,如通过SHT30传感器检测室内温度与湿度,还集成了火焰检测(使用火焰传感器)及烟雾浓度监测(采用MQ2烟雾传感器),能够在早期阶段准确识别潜在的火灾风险。当检测到异常情况时,系统将立即激活蜂鸣器发出警报,并通过Wi-Fi模块将信息上传至华为云IOT平台,实现了从硬件端到云端的数据传输。这使得即使用户不在家,也能第一时间收到通知,从而快速响应可能发生的紧急状况。
为了进一步增强用户体验,为这套系统开发了一款配套使用的Android手机应用程序。借助这款APP,用户可以在任何地方轻松访问其家庭中的实时数据,包括但不限于当前的温湿度水平、是否存在火源或烟雾等关键指标。这种即时的信息反馈机制极大地提高了居住安全性,同时也符合当今社会对于智能化生活方式的追求。本项目不仅体现了技术进步如何改善日常生活质量,也是推动“万物互联”愿景实现的具体实践之一。
【2】设计实现的功能
1. 环境温湿度监测
• 硬件:使用SHT30数字温湿度传感器。
• 功能:实时采集室内温度和相对湿度数据,为用户提供关于居住环境舒适度的信息。同时,异常的温湿度变化也可能预示着某些潜在风险。
2. 火焰检测
• 硬件:采用红外火焰传感器。
• 功能:持续监控是否存在明火或高温热源。一旦探测到火焰信号,即刻启动报警机制。
3. 烟雾浓度监测
• 硬件:MQ2气体传感器。
• 功能:用于检测空气中的可燃气体及烟雾颗粒浓度。当烟雾水平超过设定阈值时,表明可能存在火灾隐患。
4. 声光报警
• 硬件:蜂鸣器与LED指示灯。
• 功能:结合火焰传感器和烟雾传感器的数据分析结果,如果发现任何一项指标达到预警标准,则立即触发蜂鸣器响铃并点亮LED以吸引注意,提醒用户采取行动。
5. 数据上传至云端
• 硬件:Wi-Fi模块(ESP8266)。
• 功能:将收集的所有传感器读数定期发送到华为云IoT平台,确保即使用户不在家也能随时了解最新情况。此外,云端存储还支持历史数据分析。
6. Android手机应用交互
• 软件:专为本项目定制开发的应用程序。
• 功能:允许用户通过智能手机接收来自家庭设备的即时更新,包括当前环境参数状态以及是否发生了紧急事件。应用程序界面友好,易于操作。
7. OLED显示屏信息展示
• 硬件:OLED显示屏幕。
• 功能:直接向用户展示现场测量值,如当前温度、湿度、烟雾浓度等重要信息,无需额外设备即可查看。
这套基于STM32的火灾感知系统不仅能够提供全面的环境监控服务,还能利用物联网技术实现远程管理与控制,极大地增强了家庭的安全保障能力。
【3】项目硬件模块组成
本项目基于STM32F103RCT6微控制器设计的火灾感知系统,其硬件模块组成主要包括以下几个部分:
1. 主控芯片
• 型号:STM32F103RCT6
• 功能:作为整个系统的控制核心,负责处理来自各个传感器的数据,并根据设定逻辑执行相应操作,如触发报警、数据上传等。
2. 温湿度传感器
• 型号:SHT30
• 功能:用于监测室内的温度和相对湿度。SHT30是一款高精度数字温湿度传感器,能够提供准确可靠的环境参数信息。
3. 火焰传感器
• 类型:红外火焰传感器
• 功能:检测室内是否存在明火或高温热源。这种传感器通常对波长在760nm到1100nm范围内的红外光敏感,适用于探测火焰产生的特定辐射。
4. 烟雾传感器
• 型号:MQ2
• 功能:检测空气中的烟雾及多种可燃气体(如天然气、液化气等)的浓度。MQ2是一种常用于气体泄漏检测和火灾预警的低成本传感器。
5. 蜂鸣器
• 功能:当系统检测到火焰或烟雾超过预设阈值时,蜂鸣器会发出声音警报,提醒用户注意潜在危险。
6. OLED显示屏
• 规格:例如0.96寸I2C接口OLED屏
• 功能:实时显示当前的温度、湿度、烟雾浓度等重要信息,便于用户直接查看现场状态。
7. Wi-Fi模块
• 型号:ESP8266或其他兼容Wi-Fi模块
• 功能:负责将采集到的数据通过无线网络上传至华为云IoT平台。同时也支持从云端接收指令,实现远程控制功能。
8. 电源管理
• 组件:稳压器、电池(可选)、电源适配器
• 功能:为系统各部件提供稳定的工作电压。根据实际需求可以选择使用外部供电或是内置电池方案以保证设备长时间运行。
【4】原理图
【5】框架图
1.2 设计思路
本项目的整体设计思路围绕着构建一个高效、可靠且易于使用的火灾感知系统展开,该系统旨在通过实时监测环境参数来预防和应对潜在的火灾风险。项目选择了STM32F103RCT6作为主控芯片,这款微控制器以其高性能、低功耗及丰富的外设接口而闻名,非常适合处理复杂的数据采集与处理任务。为了实现对室内环境条件的全面监控,系统集成了多种传感器:SHT30用于精确测量温度和湿度;火焰传感器用于检测明火的存在;MQ2烟雾传感器则用来评估空气中的烟雾浓度。这些传感器的选择基于它们在各自领域的高灵敏度和可靠性。
当任何一种传感器检测到异常情况时,如温度突然升高、湿度变化或检测到火焰和烟雾,系统将立即触发蜂鸣器发出警报,以引起周围人员的注意,并促使他们迅速采取行动。此外,为了保证即使在用户不在家的情况下也能及时获得通知,采用了ESP8266 Wi-Fi模块将所有采集到的数据上传至华为云IoT平台。这一举措不仅实现了数据的远程存储,还使得通过互联网连接的家庭成员可以随时访问最新的监测信息。
为了进一步增强用户体验并简化操作流程,项目团队开发了一款专用Android手机应用程序。这款APP能够直接从华为云服务器接收更新,并以直观的方式展示给用户,包括当前的温湿度水平、是否存在火源或烟雾等关键指标。这不仅方便了用户的日常使用,也极大地提高了响应紧急状况的速度。同时,在本地端,OLED显示屏被用来实时显示重要的环境参数,确保即便是在网络不可用的情况下,用户也能直接查看相关信息。
整个火灾感知系统的架构是围绕提高家庭安全性和便捷性来设计的。它结合了先进的硬件技术(如多传感器集成)与现代物联网解决方案(如云端数据管理和移动应用),形成了一个闭环的信息反馈体系。这样的设计不仅能有效预警火灾危险,而且为用户提供了一个全方位了解居住环境状态的窗口,无论身处何地都能保持对家庭安全的关注。通过这种方式,项目成功地将传统的火灾报警系统升级为更加智能化、互动化的智能家居组成部分。
1.3 系统功能总结
序号 | 功能模块 | 描述 | 硬件/软件支持 |
1 | 温湿度监测 | 通过SHT30传感器实时检测室内温度和相对湿度。 | SHT30传感器, STM32F103RCT6, OLED显示屏 |
2 | 火焰检测 | 使用红外火焰传感器持续监控是否存在明火或高温热源。 | 红外火焰传感器, STM32F103RCT6, 蜂鸣器 |
3 | 烟雾浓度监测 | 采用MQ2烟雾传感器检测空气中的可燃气体及烟雾颗粒浓度。 | MQ2烟雾传感器, STM32F103RCT6, 蜂鸣器 |
4 | 声光报警 | 当检测到火焰或烟雾超过预设阈值时,蜂鸣器发出声音警报,并点亮LED指示灯。 | 蜂鸣器, LED指示灯, STM32F103RCT6 |
5 | 数据上传至云端 | 通过ESP8266 Wi-Fi模块将采集的数据定期发送到华为云IoT平台。 | ESP8266, 华为云IOT服务, STM32F103RCT6 |
6 | Android手机应用交互 | 开发专用Android应用程序,用户可以通过手机实时接收家庭环境数据和紧急报警信息。 | Android APP, 华为云IOT服务, 互联网连接 |
7 | 本地数据显示 | 通过OLED显示屏实时显示当前的温湿度、烟雾浓度等重要信息。 | OLED显示屏, STM32F103RCT6 |
8 | 远程监控与控制 | 利用云端服务器实现远程数据访问和设备状态查看,支持通过手机APP进行远程操作。 | 华为云IOT服务, Android APP, 互联网连接 |
1.4 开发工具的选择
【1】设备端开发
STM32的编程语言选择C语言,C语言执行效率高,大学里主学的C语言,C语言编译出来的可执行文件最接近于机器码,汇编语言执行效率最高,但是汇编的移植性比较差,目前在一些操作系统内核里还有一些低配的单片机使用的较多,平常的单片机编程还是以C语言为主。C语言的执行效率仅次于汇编,语法理解简单、代码通用性强,也支持跨平台,在嵌入式底层、单片机编程里用的非常多,当前的设计就是采用C语言开发。
开发工具选择Keil,keil是一家世界领先的嵌入式微控制器软件开发商,在2015年,keil被ARM公司收购。因为当前芯片选择的是STM32F103系列,STMF103是属于ARM公司的芯片构架、Cortex-M3内核系列的芯片,所以使用Kile来开发STM32是有先天优势的,而keil在各大高校使用的也非常多,很多教科书里都是以keil来教学,开发51单片机、STM32单片机等等。目前作为MCU芯片开发的软件也不只是keil一家独大,IAR在MCU微处理器开发领域里也使用的非常多,IAR扩展性更强,也支持STM32开发,也支持其他芯片,比如:CC2530,51单片机的开发。从软件的使用上来讲,IAR比keil更加简洁,功能相对少一些。如果之前使用过keil,而且使用频率较多,已经习惯再使用IAR是有点不适应界面的。
【2】上位机开发
上位机的开发选择Qt框架,编程语言采用C++;Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。Qt能轻松创建具有原生C++性能的连接设备、用户界面(UI)和应用程序。它功能强大且结构紧凑,拥有直观的工具和库。
1.5 模块的技术详情介绍
【1】SHT30传感器
SHT30是一款高精度的数字温湿度传感器,由瑞士Sensirion公司生产。这款传感器广泛应用于各种环境监测系统中,如智能家居、工业控制、气象站以及农业监控等领域。SHT30以其卓越的性能、低功耗和易于集成的特点而受到用户的青睐。
SHT30传感器采用了先进的CMOSens®技术,将温度和湿度传感元件与信号处理电路集成在同一个芯片上,从而确保了高度的可靠性和长期稳定性。该传感器提供I2C接口,方便与微控制器或其他主控设备进行通信。其测量范围广泛,温度测量范围为-40°C至+125°C,湿度测量范围为0%至100% RH(相对湿度)。此外,SHT30具有很高的测量精度,典型情况下,温度精度可达±0.3°C,湿度精度可达±2% RH。
SHT30传感器具备多种功能以提高测量质量和用户体验。例如,它支持用户自定义的测量频率和分辨率设置,允许根据具体应用需求调整传感器的工作模式。传感器还内置了加热器,可用于检测结露或除湿等特殊应用场景。此外,SHT30具有自动校准功能,能够在长时间运行后保持测量数据的准确性,减少了维护成本。
为了适应不同的环境条件,SHT30传感器采用了坚固的设计,能够抵抗灰尘、水汽和其他污染物的影响。其紧凑的尺寸(2.5 x 2.5 x 0.9 mm)使其易于集成到空间受限的应用中。同时,SHT30还提供了多种封装选项,包括标准表面贴装(SMD)封装和平板式封装,满足不同安装要求。
SHT30传感器的低功耗特性也是其一大亮点,这使得它非常适合电池供电的应用。在正常工作模式下,传感器的平均电流消耗仅为0.5 μA至2.8 μA,具体取决于所选的测量频率和分辨率。此外,SHT30还支持睡眠模式,在不进行测量时进一步降低功耗,延长电池寿命。
SHT30传感器凭借其高精度、宽测量范围、易用性以及低功耗等特点,成为众多需要精确温湿度测量应用的理想选择。无论是用于家庭自动化中的舒适度监测,还是工业环境中的过程控制,SHT30都能提供可靠的数据支持。
【2】ESP8266-WIFI
ESP8266 是一款高性价比、功能强大的 Wi-Fi 模块,广泛应用于物联网(IoT)设备中,用于实现设备的无线通信功能。ESP8266 模块由乐鑫科技(Espressif Systems)设计和生产,集成了 TCP/IP 协议栈,支持 Wi-Fi 协议,可以充当无线通信设备或嵌入式微控制器的 Wi-Fi 适配器。其核心是 Tensilica L106 32 位处理器,最高主频为 80 MHz 或 160 MHz,性能足以应对绝大多数 Wi-Fi 通信需求。模块内部集成了射频收发器、PA(功率放大器)、低噪声接收器和高效天线,确保 Wi-Fi 信号的可靠性和强度。
ESP8266 支持多种通信模式,包括 Station 模式(作为客户端连接到已有 Wi-Fi 网络)、SoftAP 模式(充当接入点,让其他设备连接到 ESP8266 创建的网络)以及 Station+SoftAP 模式(同时支持客户端连接和接入点功能)。其中,Station 模式常用于 IoT 应用,让设备可以接入互联网,将数据上传到云端,实现远程监控或控制。模块支持的通信协议包括 TCP、UDP,便于不同网络应用协议的实现。此外,ESP8266 的网络通信支持多个 TCP/IP 套接字连接,并且具备 HTTP 和 MQTT 等常用协议的扩展功能。
ESP8266 的默认通信方式是基于 UART 接口的 AT 指令集,通过串口指令控制模块工作。AT 指令集功能丰富,包括 Wi-Fi 网络连接管理、TCP/UDP 连接管理、数据传输、网络扫描、获取 IP 地址等功能,能够满足绝大多数无线通信需求。此外,ESP8266 具有丰富的 GPIO 引脚和 UART、SPI、I²C 等外设接口,可以通过开发固件(如 ESP8266 SDK 或第三方开源固件)实现模块的二次开发,使其不仅仅是一个 Wi-Fi 模块,还可以作为主控芯片使用。
ESP8266 的应用十分广泛,常见于智能家居设备(如智能灯泡、插座、温湿度传感器)、远程数据采集、工业自动化控制系统等场景中。其显著的特点在于成本低、功能强大,适合 IoT 设备对网络通信的需求。通过 ESP8266 模块,设备可以轻松接入互联网,实现物联网应用的基础功能。
【3】MQ2传感器
MQ2 是一种常用的气体传感器,专门用于检测空气中的可燃气体和烟雾浓度。它基于金属氧化物半导体(MOS)的敏感原理,内部的传感材料通常是二氧化锡(SnO₂)。当二氧化锡表面接触到可燃气体(如液化石油气、丙烷、氢气等)或烟雾中的还原性气体分子时,这些气体会在传感器加热的情况下发生反应,导致表面电阻的变化,传感器即可通过测量电阻值的变化来感知气体浓度。这种变化会转换为模拟电压信号输出,便于后续的电路读取和处理。
MQ2 传感器具有较高的灵敏度和快速响应特点,特别适合用于环境空气中可燃气体泄漏和火灾烟雾检测。它的电路设计简单,通常包括一个加热元件和一个输出引脚。传感器的加热元件由内部微小电阻组成,通过外部电源加热后持续保持较高温度,增强了传感器对气体的反应速度与灵敏度。其典型输出为模拟信号,可以接入 ADC(模数转换器)模块进行数值采集与处理。MQ2 传感器模块一般包含一个数字输出端和一个模拟输出端,模拟端直接对应传感器检测到的气体浓度,数字端则用于报警设定,输出高低电平,用于连接报警装置,如蜂鸣器、LED 指示灯等。
该传感器广泛应用于家庭、工业以及商业的气体泄漏报警和环境监测中。例如,家用燃气泄漏报警、工业可燃气体检测、智能家居中的烟雾火灾预警等。MQ2 的优点在于它的高灵敏度、易于校准和低成本,适合大规模部署。它的缺点则在于对湿度、温度变化较为敏感,在复杂环境中可能需要进行补偿校准。MQ2 传感器使用时需要一个稳定的电压源,通常推荐 5V 供电,且在初次启动时需要进行预热(通常 24 小时以上)以达到最佳性能和准确度。
1.6 摘要
本项目设计并实现了一个基于 STM32 和 ESP8266 的火灾感知系统,并通过华为云 IoT 平台实现远程监控与报警功能。系统的核心控制器 STM32F103RCT6 通过 SHT30、火焰传感器和 MQ2 传感器实时检测室内的温度、湿度、火焰和烟雾浓度。当检测到火灾相关参数超过阈值时,系统会触发蜂鸣器本地报警。同时,通过 ESP8266 Wi-Fi 模块将采集数据上传至华为云 IoT 平台,使用户可以在 Android 应用程序中远程查看室内环境信息及火灾报警状态,实时掌握家庭安全情况。系统还通过 OLED 屏幕本地显示实时数据,实现数据的可视化。
本系统不仅实现了火灾的本地感知和报警,还通过云平台的集成实现了真正的远程监控和预警,满足了现代家庭对智能安防系统的需求。
1.7 参考文献
1. 曾彦钧,李越,东文等.基于NB-IoT和STM32的数据融合智慧消防系统设计[J].物联网技术,2020.
2. 王强强,李玉丽.基于物联网云平台的火灾监测报警系统设计 附视频[J].技术与市场,2024.
3. 1. 西安交通大学城市学院电气与信息工程系2. 机器人与智能制造陕西省高校工程研究中心.基于OneNET云平台的智慧消防远程监控系统的设计[J].电子设计工程,2024.
4. 胡祝格,赵敏华.基于信息融合技术的无线火灾探测报警系统[J].电子科技,2012.
5. 廖芝逸,敖银辉.基于STM32的消防远程监测系统[J].机电工程技术,2016.
6. 茹清晨.基于物联网的火灾感知系统设计与实现[D].南京信息工程大学,2022.
7. 徐崇奇,解建国,毕佳琦等.基于STM32的智能火灾监测及灭火系统设计[J].河南科技,2022.
8. 张伟,段萍,丁承君.基于STM32火灾报警系统设计[J].科技创新与应用,2016.
9. 刘燕燕,杨帮华,丁丽娜等.基于STM32的红外火灾探测系统设计[J].计算机测量与控制,2013.
10. 梁剑烽.基于物联网云平台的家居火灾监控系统的研究与实现[D].广西大学,2021.
11. Ziliu Ye, Fuwen Su et al. “Intelligent Fire-fighting robot based on STM32.” 2019 Chinese Automation Congress (CAC)(2019).
12. Yazhou Zhong, Fei Wu et al. “Design of smoke alarm system based on STM32.” International Journal of Engineering Research and(2017).
13. Fengshan Huang, Shaozi Li et al. “Design on Intelligent Smoke Alarm System.” 2022 12th International Conference on Information Technology in Medicine and Education (ITME)v(2022).
14. 丁伟杰,刘昱廷,李建英等.基于窄带物联网技术的智能火灾报警系统设计[J].电工技术,2023.
15. 赵哲,陈伟利.基于STM32单片机、树莓派和CortexA9的云端智慧消防控制系统设计[J].科学技术创新,2021.
16. 朱黎,全斐,王磊等.基于无线网络的环境监测系统[J].电子制作,2022.
17. 杜朝明,胡静,宋铁成等.基于NB-IoT的智慧消防监控系统设计与实现[J].无线互联科技,2021.
18. 赵剑毅, 梁柱等. “Fire alarm system based on STM32.” (2014).
19. 栾兵.智能火灾报警系统的设计与研究[J].电子测试,2019.
20. 胡祝格.基于多传感器信息融合技术的火灾探测报警系统设计与研究[D].西安建筑科技大学,2013.
21. 刘满喜,谢再晋,潘佳卉等.基于STM32单片机的智能灭火小车设计[J].电子设计工程,2020.
22. 杜鑫,陈洁,郭彦文等.单片机和NB-IOT的智能家居火灾检测报警系统 附视频[J].福建电脑,2024.
23. 张国伟.关于STM32火灾报警系统设计分析[J].农村经济与科技,2018.
24. 朱慧君.智能安防系统之无线火灾远程报警器的设计[D].哈尔滨理工大学,2018.
25. 郭灼豪,彭杰琛,庄乙辉等.多模态火灾检测报警系统设计[J].韶关学院学报,2022.
26. Lihui Wang, Shuai Zhao et al. “Remote multi-function fire alarm system based on Internet of things.” (2018).
27. Anyi Wang, Jinpeng Cheng. “Realization of Dynamic Information Data Transmission Function of Fire Scene Based on NB-iot.” 2020 3rd International Conference on Electron Device and Mechanical Engineering (ICEDME)(2020).
28. 王晓鹏,丁学文,王敏军等.基于STM32单片机的微型智能消防车的设计[J].计算机与网络,2021.
29. 丁杨.基于stm32单片机的智能消防机器人的应用[J].计算机产品与流通,2020.
30. 廖银霜.基于物联网的火灾探测报警系统的研究[D].贵州大学,2021.