• 收藏
  • 加入书签
添加成功
收藏成功
分享

基于Arduino 与OneNET 云的智能家居安全卫士研发与应用

魏欢歌 金歆哲
  
富网媒体号
2025年187期
南阳师范学院 河南南阳 473000

摘要:针对室内火灾隐患问题,开发一套基于物联网的智能火灾预警与消防一体化系统,该系统主要由分布式监测节点、无线通讯模块、物联网云平台、手机 APP 客户端组成。节点硬件设计:使用 Arduino单片机设计节点感知和执行电路,多源传感器采集室内温湿度、可燃气体浓度、火焰强度等环境参数,多路继电器、舵机控制消防开关、卷帘门、排气扇等执行设备。云平台通讯设计:通过 ESP8266 通讯模块,以 EDP 协议连接 OneNET 云平台,实现数据上传及指令下发功能。软件和算法设计:完成主程序和传感器驱动程序设计;为提高数据的精准性,通过自适应加权算法和卡尔曼滤波算法对多源传感器采集数据进行二级融合处理;若环境参数超过安全阀值,自动触发蜂鸣器和打开消防执行机构,并向 APP 发送报警信息。安卓端 APP 开发:在 App Inventor 2 开发环境下,编译 APK,完成用户设备管理、一键连接OneNET云、室内环境参数查询、历史数据查询、远程打开执行机构、智能专家系统等功能的设计。

火灾,是当今世界上发生频率最高的灾害之一。近年以来,南阳方城县某学生宿舍、河南大学大礼堂和南京某高层住宅楼相继发生火灾,对人民群众生命和财产安全造成严重影响。随着经济发展,人们的安全意识不断增强,室内特别是高层住宅的智能家居防护设施不断迭代升级。当前,人口老龄化加速以及单身独居人口数量增加,住宅消防安全成为越来越值得关注的问题。家庭环境中,常见的可燃气体有天然气、液化石油气、煤气、沼气等,尤其是餐饮及家庭厨房等民生领域。据应急管理部年度工作报告官方统计,2023 年全国消防救援队伍累计接报处置 213.8 万火灾事件,其中城乡火灾扑救 87.8 万起、抢险救援 44.4 万起、营救和疏散人员 39.5 万人。家庭消防安全面临的形势日益严峻,引发公众对火灾隐患的担忧,家庭火灾逐渐成为公共安全领域的难题。为此有必要在人员密集的公共场所和线路复杂的老旧小区中安装智能化火灾报警和处置系统,最大限度地保证人民的生命和财产安全。

传统的室内火灾监测方式已无法满足实际需要,具体表现在:一是缺乏连续高效的监测手段,部分老旧小区组织物业、业主等人力不定期巡查,人为监测掺杂了很多主观因素,特别是在人力紧张、资金有限的情况下,无法实现 24 小时连续、高效监测;二是受制于监测点位置,传统的室内火灾监测仪器大多需要布线,且只能采集重点区域的部分信息,然而,室内火灾源头多且分布广,布线方式复杂不易移动,监测点的数量极其有限,导致存在监测盲区,无法全面的反应室内环境信息;三是人机交互性能差,传统的火灾监测系统通常只能在现场工作站提取数据,缺乏 Web 端/APP 远程监测功能,且主要以 TFT 显示屏进行人机交互,查询、统计数据不方便;四是监测和消防缺乏联动,智能化水平低,传统火灾报警系统自动化程度低,大部分设备报警与消防不联动,存在只能报警,不能自动处置火情等问题[1]。

随着物联网、大数据技术兴起,不断有学者尝试应用物联网技术,通过设计感知层、传输层、应用层,构建智能监控系统,实现自动化、智能化的安全防护系统。针对传统室内火灾监控系统布线复杂、功能单一、成本较高、人机交互性能差、智能化程度低的问题,设计了一种基于 Arduino 和OneNet云的无线远程室内火灾监控系统,在降低成本的同时,提高用户体验,最大程度“防患未燃”,保护家庭生命和财产安全。

1、系统总体设计

本系统采用经典的物联网四层架构,组建“底层感知层-网络传输层-系统平台层-用户应用层”运行体系。

底层感知层以 Arduino uno R4 单片机为系统主控单元,嵌入 DHT22 温湿度传感器,Dsm501-A、MQ-2、MQ-5、MQ-7 系列可燃气体浓度传感器、GY-30 光照强度传感器等,全方位、多角度、多参数采集室内环境参数,多维数据参数经过自适应加权算法和卡尔曼滤波算法二级融合处理,提高采集精度、减少数据冗余。同时感知层还配置了蜂鸣器和继电器、舵机、液晶显示屏等,当传感器监测到燃气数据异常时,能实现及时报警,自动关闭燃气管道,打开风扇通风等功能。

网络传输层以 Esp8266 wi-fi 模块为基础执行硬件,负责将感知层采集的环境因子参数上传给云端OneNet 平台。为减少数据丢包率、提高传输效率,本系统使用 EDP 通讯协议,将数据打包封装帧结构,通过优化数据帧结构提升传输效率。

系统平台层应用中国移动开发的 OneNet 云物联网平台,该平台集成数据库存储功能、指令上传下达功能、历史数据分析功能、数据可视化功能,与此同时,还提供了丰富的 API 接口服务,能够满足用户的各种需求。

用户应用层由两部分构成,一部分是在 OneNet 云物联网平台上,应用 REST 软件开发结构,调用 RESTful API 设计监控系统 Web UI 界面,通过深度定制优化工具栏、页面面板、导航栏、编辑区等模块,最终提供给用户便捷友好的人机交互应用;另一部分是在 Google app inventor 2 开发环境下,完成组件设计、逻辑设计、界面设计,快速研发智能家居安全卫士安卓 APP。

2、系统硬件设计

2.1 Arduino uno R4 主控器

Arduino 是开源硬件平台,在 Arduino IDE 编程环境中完成驱动程序设计[2]。相比于传统的嵌入式设备和单片机,Arduino 更具有灵活性,支持 C、Processing、Flash 等语言。最大的亮点是 Arduino 封装了丰富的库函数,能帮助用户快速完成多样的开发任务。Arduino 衍生出系列产品,本系统底层感知层采用Arduino uno R4主控器,它是基于Arm Cortex®-M4架构运行的单片机,5V电压,速度48MHz,编程端口:USB-C,数字 I/O 接口数 14 个,6 个 PWM 接口,6 个 ADC 接口,6SRAM 较上一代增加到 32kB,闪存 256kB,增加了 12 位 DAC 和 CAN 总线,能够适应更复杂的多任务项目。

2.2 多源传感器设计

DHT22 温湿度传感器体积小、功耗低,它由感湿元件、NTC 热敏电阻和一个 8 位 IC 芯片构成,测量范围在-40-80℃。分辨率为 0.1℃,误差为 0.5C ;湿度测量范围在 0-100%RH ,分辨率为 0.1%RH, ,误差为 2%RH[3]∘ 。根据 DHT22 传感器电路设计硬件电路,将传感器 DATA 引脚接入 Arduino 开发板的数字引脚口,实现传感器与开发板之间的数据通信;传感器 VCC 引脚接 Arduino 5V 电源;传感器 GND

脚接 Arduino GND 地线。

MQ 系列传感器常用于监测气体浓度,不同型号的传感器会对某种或某几种气体较为敏感,MQ系列传感器灵敏度高、响应速度快、稳定性能好、使用寿命长、驱动电路简单,广泛应用于家庭气体泄漏报警器。本系统主要使用以下 3 种传感器:MQ-2 可燃气体传感器主要检测液化气、丙烷和氢气等;MQ-5 气体传感器主要检测液化气,天然气,煤气等;MQ-7 气体传感器主要检测一氧化碳浓度。

MQ 系列气体传感器构成是二氧化锡半导体气敏材料,当与特定气体接触时,表面导电率产生变化,进而获得某些气体存在的信息。以 MQ-2 可燃气体传感器为例,有 4 个引脚,VCC 接 Arduino 5.0V电压,GND 接 Arduino GND 口,AOUT 接 Arduino 模拟量输出口,DOUT 接 Arduino 数字量输出。

GY-30 光照强度传感器用于测量火焰强度,判断火势大小。它具有四个引脚: VCC 用于为传感器提供电源接 Arduino 5.0V 电压;GND 接 Arduino GND 口;SCL 接口与 Arduino 微控制器的串行时钟(SCL)相连,用于 I2C 通信;SDA 接口与 Arduino 微控制器的串行数据(SDA)相连,同样用于 I2C 通信。

2.3 蜂鸣报警器设计

蜂鸣器是可以发出“Tip、Tip、Tip”声音的报警器。本设计采用价格低廉且稳定性较好的无源蜂鸣作为报警器,该型号报警器使用 PWM 方波驱动发声。把蜂鸣器嵌入到终端节点的 Arduino 控制器上,当室内某一环境参数超出阈值时,蜂鸣器会自动报警。蜂鸣器有 3 个管脚:GND 脚和 VCC 脚分别接到 Arduino 的 GND 脚和 VCC 脚,IN 口接到 Arduino 的模拟输出口。

3、系统软件设计

在完成设备选型和硬件电路设计后,根据系统预设功能,开始对软件进行开发。为了使各软件程序结构清晰、便于后期维护,系统采用块化编程思想开发。智能家居火灾环境监测系统软件分为五个部分:一是本地节点程序部分,主要包括节点主程序设计和通信数据帧结构设计;二是下位机驱动程序,主要包括传感器、蜂鸣器、舵机开关驱动程序设计;三是 ESP8266 Wi-Fi 与 OneNET 的通信程序部分,主要是对 EDP 协议接入程序进行设计;四是上位机软件部分,主要是对 OneNET 云平台 Web 应用软件进行设计和 Google app inventor 2 环境下安卓 APK 设计;五是两级数据融合算法设计部分,主要包括自适应加权平均算法和卡尔曼滤波算法的原理与应用。

3.1 传感器驱动程序设计

由于传感器类型较多,且驱动代码结构类似,在此主要详细给出 DHT22 温湿度传感器驱动程序。在 Arduino IDE 开发环境下,新建 sketch 工程,并在 HTTPS://github.com/adafruit/DHT-sensor-library网页中下载 DHT.zip 传感器库文件,将其解压到 libraries 目录下。完成以上工作后,开始编写主程序,代码如下:

#include //调用 DHT 库

DHT dht(D1,DHT22); //设置 Data 引脚所接 IO 口和传感器类void setup ( ) { //初始化函数,只在程序开始

Serial.begin(115200); //设置串口波特率

dht.begin( );

3.2 安卓 APP 开发

App Inventor 2 是一个图形化的Android 应用程序开发环境,通过简单的拖放操作来设计设计界面、添加功能,并在实时预览中测试应用程序。该开发平台具有成熟的模块,方便构建,在浏览器中即可完成部署,可视化编程,大大缩短了开发周期。

4.系统测试运行

经实际测试,本系统能 24 小时不间断监测室内温湿度、可燃气体浓度、火焰强度等环境参数;本地终端节点算法运行正常,节点与 OneNET 云平台通讯正常,OneNET 云平台与手机 APP 客户端通讯正常,数据丢包率低于 1% ;现场环境参数超过规定阈值,终端节点蜂鸣器自动报警,继电器和舵机开启消防设备,同时发送报警信息到手机 APP 端,系统整体延时低于 2 秒;OneNET 云和手机 APPTinyDB 数据库保存历史数据,供后续新增算法提升系统智能决策能力。

总结:随着人们安全意识逐步提高,对室内火灾监测设备和智能家居安全提出了更高要求。当前,迫切要求室内火灾监测方式从复杂从局域重点监测到全局监测;从单一指标监测转向综合多指标监测;从单独监测功能转为“监测+报警+消防”一体化智能决策复合功能。将物联网技术和智能算法应用于家庭火灾预警领域中,使火灾防控与救援有了更有力的技术支撑,不但降低了火灾发生的概率,还提高了火灾救援的效率,是未来智能家居技术发展的方向。

参考文献:

[1]魏欢歌.基于IoT-WSN 的陶瓷生产车间环境监测系统设计与实现[D].景德镇陶瓷大学,2020.DOI:10.27191/d.cnki.gjdtc.2020.000176.

[2]张浩华,刘凡杨,佟佳琪.基于 Arduino 和 OneNet 云平台的温度与行踪监控系统设计[J].沈阳师范大学学报(自然科学版),2020,38(06):537-542.

[3]吕微微,贠振刚,李资,等.基于 Arduino 的家居安全防护控制系统设计[J].无线互联科技,2021,18(20):47-49.

作者简介:魏欢歌(1996-),男,硕士,助教,研究方向物联网应用

课题基金:校级理工课题,项目编号:2025QN031;河南省高等学校大学生创新训练项目,项目编号:202510481066

*本文暂不支持打印功能

monitor