APP下载

基于NB-IOT的室内环境监测和报警系统

2021-07-10谭汶易

科技与创新 2021年12期
关键词:串口指令报警

谭汶易

(武汉理工大学自动化学院,湖北 武汉 430070)

1 引言

在现在的智能家居市场中,大部分智能家居系统只能实现检测功能,且检测数据也有较大的误差。本系统以NB-IOT为核心,解决数据传输云端的问题,以较低的成本实现了更加完善的功能。为解决一些安全隐患,本系统配置的报警系统在检测到有害气体浓度超标时,能够及时提醒用户。在最易发生事故的厨房,配备了检测和自动关闭天然气阀门的装置,同时用户可以通过云平台下发指令,远程关闭天然气阀门,降低火灾发生的概率。

2 总体设计

本设计主要由传感器采集系统、数据处理与传输系统、电源控制系统、无线通信系统、报警系统、自动关阀系统组成。数据处理与传输系统主要由Zigbee模块控制,电源控制系统采用自制的降压电路控制板,无线通信系统指NB-IOT模块和云端互传数据,报警系统主要包括声光报警和短信报警两部分,自动关阀系统通过步进电机来执行。

3 系统硬件设计

3.1 传感器控制部分

传感器主要用于实时监测室内情况,为单片机提供及时、准确的信息,使其做出最优判断。

温湿度采集部分使用STM8L051F3芯片和SHT20芯片控制的高精度传感器。温度测量精度0.3℃,湿度测量精度可达3%RH,单片机串口采集其输出的TTL电平,经过内部转换处理后可得测量的温湿度值。

气体传感器部分由DS-HCHO甲醛传感器、MQ-135传感器、天然气检测传感器、烟雾传感器组成。STM32F4单片机自带12位ADC接口,可以检测气体传感器输出的电压信号,气体浓度的大小与输出的电压值成正比关系,通过单片机内部计算后得到气体浓度。

为提高检测速度和精度,使用DMA传输方式采集电压。ADC采集并转换后的数值被保存到一个16位的规则通道数据寄存器中,通过DMA将其值读取并传输到通信模块,无需通过CPU进行传输,极大提高了检测效率。

3.2 Zigbee数据传输

Zigbee模块相较于蓝牙模块、wife模块,传输速率更快,价格更低。因此在本系统中,单片机通过串口与Zigbee连接实现数据互传。

3.3 电源和执行机构设计

为了避免因断电而致使设备无法使用的情况发生,本系统采用220 V交流电和12 V备用电池的双电源方案。通过开关电源将220 V电压转换为12 V电压输出,将锂电池供电部分接到备用接口,电源转换通过继电器控制,从而实现24 h不间断工作,增强了系统的稳定性。

由于本系统中所用传感器核心主控板的供电电压为3.3V、5 V。设计以TPS54360芯片、AMS1117芯片为核心电源控制板。

步进电机具有扭矩大,反应快速、精准的特点。步进电机的转向控制端与单片机的IO口连接,通过输出高低电平来实现其正反转。同时将单片机的PWM输出口与步进电机相连,通过改变输出的TTL电平来控制其转动的距离。

3.4 无线通信系统

在本系统中,以移远NB-IOT BC26模块作为通信模块,其具有超低功耗、安全性强、稳定可靠、低成本的优势,使用MQTT协议与云端互传数据。MQTT是一个基于客户端与服务器的用于发布和订阅消息的传输协议。传输数据稳定、快速,能适应低宽带、低开销的情况。

通过该模块与阿里云物联网平台连接,单片机通过串口与其互传数据。单片机通过发送AT指令建立和BC26模块间的通信,同时将卡号发送给模块,同时发送激活网络的指令,等待应答成功后,查询并保存当前的激活状态。等待模块网络激活成功,配置前景场景并激活,此时单片机发送指令控制BC26模块从MQTT服务器断开一个客户端,并将其网络关闭,同时将阿里云平台上配置的设备参数发送给模块,完成模块和云端的连接后,将MQTT客户端网络打开。此时,单片机向BC26模块发送传感器检测的数据,模块通过建立的MQTT协议将数据传输传送到云平台。

3.5 报警系统

3.5.1 声光报警

声光报警的设计部分主要由LED灯和语音播放模块两部分组成。当报警功能启动时,单片机控制LED快速闪烁,同时串口发送指令到语音模块,播放存放在SD卡中的录音。

3.5.2 短信报警

短信报警的设计部分主要由GPRS模块控制短信的发送。在本系统中,采用SIM800C模块,附着GPRS网络传输数据,具有传输距离远、传输速度快的特点。单片机与模块连接成功后,通过发送AT指令来实现控制。短信报警功能启动时,串口发送AT指令初始化SIM800C模块的短消息模式,设置短信为text模式,单片机将短信内容转成Unicode字符串存放到数组中。此时,单片机等待SIM800C模块应答,应答成功后,串口发送指令设置接收方电话号码和短信中心号码,将设置的短信发送出去。

4 系统软件设计

系统以STM32芯片为载体,通过keil软件编写程序。每次进入主程序时,通过接收各种传感器数据并进行处理,将数据通过MQTT协议传到用户操作的云平台。采集的数据与设定值进行比对分析,若检测的数据超过设定值,就会触发系统的两种报警方式,提醒用户。软件系统工作流程如图1所示。

图1 软件系统工作流程图

5 测试结果

测试系统工作的稳定性。各传感器正常工作,两块单片之间数据传输稳定,NB-IOT模块成功与阿里云物联网平台通信,实时传输数据。

6 结语

本系统以STM32F407、NB-IOT模块为核心,实现数据与云端的互传,配置多种传感器同时检测,使用Zigbee模块实现单片机之间近距离传输数据,供电方式采用双电源供电,实现24 h不间断运作,同时配备报警系统,解决用户居住的一些安全隐患。登录云平台,可以远程监控室内环境,支持查询历史数据。

随着智能家居行业的飞速发展,本系统成本低、可操作性强,可以在其基础上添加更多的功能,为保障人们生活的舒适、安全和便利提供一些新的发展方向。

猜你喜欢

串口指令报警
《单一形状固定循环指令G90车外圆仿真》教案设计
基于EM9000工控板高性能双串口通信模型设计与实现
新机研制中总装装配指令策划研究
关于ARM+FPGA组建PLC高速指令控制器的研究
小心,墙纸在报警
鞋子摆放透露的信息
MCS—51单片机中的多串口通讯技术的应用
死于密室的租住者
基于Wonderware平台的分布式报警系统的设计与实现
微机串口的测试诊断