基于STM32的家庭环境监测系统设计

2017-07-18 12:01陈明杰黄嘉航周学礼
苏州市职业大学学报 2017年2期
关键词:烟雾温湿度指令

陈明杰,黄嘉航,秦 桥,周学礼

(常熟理工学院 物理与电子工程学院,江苏 常熟 215500)

基于STM32的家庭环境监测系统设计

陈明杰,黄嘉航,秦 桥,周学礼*

(常熟理工学院 物理与电子工程学院,江苏 常熟 215500)

设计一个以STM32单片机为控制核心的家庭环境监测系统,系统控制核心为STM32F103ZET6,通过搭载温湿度传感器、人体红外传感器、烟雾传感器、无线收发器、GSM模块,实现对家庭环境的实时监测,并将监测所得数据通过LCD屏显示。同时,利用GSM模块进行数据的传输,将数据发送至用户手机,实现实时监控功能。通过较长时间的运行测试,系统具有功耗低、性能稳定、经济实用等优点,符合未来智慧城市的发展趋势,具有较强的实用价值与推广价值。

STM32;家庭环境;单片机;智慧城市;无线收发

近几年来,信息技术的发展带动了智慧城市的建设。在城市化建设过程中也出现了一些问题,例如,资源短缺、环境污染、安全隐患等,而智慧城市则使用物联网技术[1]、云计算技术在内的新一代技术解决发展过程中遇到的问题。

智慧城市[2]的首要前提是一个安全的城市,只有家庭财产安全得到保证,并以此为基础用技术改善生活才是真正的智慧。目前国内外公司实现类似功能的设备连接复杂,功能单一受限,且缺乏人性化和有效的通信手段,价格相对而言也比较昂贵。本文设计的家庭环境监测系统是在智慧城市的背景下,以STM32为控制核心,通过无线收发器构成物联网,利用传感器模块提前发现存在的安全隐患,并将预警信息及时发送给用户,从一定程度上,可以避免安全隐患的发生,保证家庭财产的安全。

1 系统整体设计方案

系统整体框图如图1所示,由环境数据采集模块、系统主机和信息传输三大部分组成,系统主机由STM32F103ZET6单片机实现;环境数据采集从机部分由温湿度传感器、人体红外传感器、烟雾传感器和单片机组成;信息传输部分由无线收发模块(单片机之间通信),GSM模块(单片机与用户通信),声光报警模块(单片机与用户)构成。

本系统的实现是依靠单片机的控制和处理数据的能力,单片机发送指令驱动各个模块工作,单片机之间通过无线收发器来进行数据传输(本系统选用NRF24L01),将所得数据与系统所设定的阈值进行对比,如果超出阈值,则启动声光报警,同时利用GSM模块(本系统选用SIM800模块)向预设手机发送信息。为了方便用户,本系统使用一块TFT-LCD来显示不同位置各个模块监测到的数据,如温湿度的实时显示。

图1 系统整体框图

2 系统硬件设计

整个系统的设计分为硬件和软件两个部分,硬件部分包括温湿度采集模块、烟雾检测模块、人体红外感应模块、声光报警模块、无线收发模块和GSM模块。主控制部分采用的是ST公司生产的STM32F103ZET6,该芯片具有512 K的Flash、64 K的SRAM和1.25 DMips/MHz的处理性能,一共有112个I/O口;拥有3个ADC,最多支持18个通道;能够提供3.3 V和5 V 电压。

2.1 温湿度采集模块

对于温湿度采集模块,本设计采用的是DHT11数字温湿度传感器,DHT11可进行相对湿度和温度的测量并进行数字输出,具有稳定性好、传输距离和能耗低等优点,无需额外附件。它的供电电压范围为3~5.5 V,湿度的测量范围为20%~90% RH,测湿精度为±5% RH,温度的测量范围为0~50 ℃,测温精度为±2 ℃,满足了家庭环境监测的需求,因此,本设计选用DHT11作为室内的传感器。DHT11数字温湿度传感器采用单总线数据格式,本系统使用PG11端口来完成通信。

2.2 烟雾检测模块

烟雾传感器模块采用的是MQ-2[3]型烟雾传感器,属于二氧化锡半导体气敏材料。烟雾与传感器接触时,晶粒间界处的势垒会受到烟雾的调制从而产生变化,然后引起表面电导率改变,电阻值随之降低。考虑到STM32本身携带的A/D转换功能,在设计中选择了将MQ-2所采集到的模拟信号经过ADC1的通道1(PA1)转换后由单片机处理。MQ-2在使用前要进行预热,大概经过3~5 min之后就会正常。MQ-2对液化气、天然气等易燃气体的检测也是非常理想的。在使用时要注意传感器的维护。

2.3 人体红外感应模块

本设计中,人体感应报警采用HC-SR501人体红外感应模块,HC-SR501是基于红外线技术的自动控制模块,灵敏度高,可靠性强,可工作于超低电压模式[4]。如有人进入HC-SR501感应范围,传感器感应模块OUT端输出高电平,当人离开感应范围时,传感器会自动延时,输出端电平由高变低。人体红外感应模块可跳线选择,可重复触发或不可重复触发两种方式。本系统采用可重复触发方式:当HC-SR501感应到人体活动时输出高电平并持续保持高电平,直至人离开其感应范围。本系统选用PB6作为输入,其工作模式为下拉输入。工作时,用户注意模块默认工作电压为4.5~20 V。感应模块通电后有一小段初始化时间(1 min左右)。在此期间,模块会间隔进行0~3次输出,初始化结束后,模块会进入待机状态。同时,在使用时,应尽量避免靠近干扰源,如灯光等近距离直射模块表面透镜会造成信号干扰导致误报。

2.4 声光报警模块

声光报警模块作为测试暂时采用的是LED和蜂鸣器,当检测到人体或者火灾的时候驱动LED灯闪烁,并由蜂鸣器发出声音警告。

2.5 无线收发模块

通过使用无线收发设备可以将多个单片机系统组成一个功能更完善的环境数据,多个从机同时在不同位置采集各个房间里的温度,使系统具有更大的探测范围。采用的NRF24L01 是单片射频收发芯片[5],硬件电路结构如图2所示,工作于 2.4~2.5 GHz ISM 频段。工作电压为 1.9~3.6 V,有多达125个频道可供选择。可通过SPI写入数据,最高可达10 Mb/s,数据传输率最快可达2 Mb/s,并且有自动应答和自动再发射功能[6]。芯片内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融进增强式ShockBurst技术[7],可以通过程序配置通信频道和输出功率。

图2 无线收发器模块

2.6 GSM模块

GSM网络的覆盖范围非常之广,几乎遍及全球每一个角落,与之对应的应用也很广泛,在生活中的许多安全方面的设计中都有运用。短消息可以将信息轻松地发送给不在家里的用户,而GPRS则符合现代物联网的要求。在本系统中,将两者相结合,起到实时监测的目的,因此选用SIM800模块。SIM800模块是一款高性能高性价比工业级的GSM/GPRS模块,支持4频,可以工作在850/900/1800/1900 MHz频率,符合GSM Phase2/2+。模块支持RS232和TTL接口控制,TTL支持3.3 V/5 V系统。本系统设计为TTL接口控制,T_TX和T_RX引脚分别接在单片机上的U3_RX和U3_TX引脚,V_MCU则选择了3.3 V。需要注意的是,SIM800模块提供一路电源接口,建议使用9 V或12 V电源输入(至少1 A)。

2.7 TFT-LCD显示模块

系统设计中选用了一款4.3寸、分辨率为480×800的TFT-LCD[8-9]电容触摸屏,16位的并口驱动,驱动IC:NT35510,借助STM32自带的FSMC接口,使用8080并行的方式完成数据传输。图3为LCD硬件电路图。将LCD_CS连接在PG12引脚上,TFT的数据引脚RS连接到FSMC的NE4(STM32上PG0脚)上,即FSMC的数据总线地址,TFT的读使能引脚RD连接到FSMC的NOE(STM32上PD4脚),使能引脚WR连接到FSMC的NWE(STM32上PD5脚),TFT的16位并口数据引脚分别与FMSC的D0~D15相连。

图3 LCD硬件电路图

3 系统软件总体设计

3.1 系统总体流程

系统运行的总流程图如图4所示,整个流程包括传感器模块、控制模块、报警模块。单片机进行初始化,检测NRF24L01的信号是否正常,本系统针对家庭环境,需要多个单片机同时监测,这就需要将各个单片机所获得的数据进行整合,NRF24L01是否能正常工作很重要;检测到正常信号之后,就对每个传感器进行初始化,此时STM32单片机对传感器的数据进行处理,如果监测的数据超过预设阈值,如监测到的温度超过预设温度,就会进行声光报警、短信预警、通过GSM模块传送至用户;本系统中TFT-LCD显示监测到的数据, LCD上也可以显示当前的日期、时间,相当于一个万年历,既方便用户又增加实用性。

3.2 火灾预警流程

火灾的源头有很多,如尚未熄灭的烟头、电路老化引起的漏电或短路、天然气泄漏等,只要做到及时预防,就可以避免火灾的发生。下文,以一个单片机为例,给出火灾预警的流程。整个系统会连续采集数据,烟雾传感器会采集数据,与预设阈值进行对比,如果超出阈值则驱动GSM模块发送报警信息;同时,温度传感器也进行相同的操作,两个传感器同时工作保证了数据的准确性。在实际生活中,由于不同房间里环境的差异,对阈值的设定也要合理,如厨房的温度阈值要高于其他房间,卫生间的湿度阈值要高于其他房间。火灾预警流程图如图5所示。

3.3 人体识别报警

利用HC-SR501的高灵敏度,将人体红外传感器安装在重要的位置,就可以实时监测了。报警流程图如图6所示。系统读取HC-SR501的输出,读取到输出为高电平时,发出警报。

图4 系统运行的总流程图

图5 火灾报警流程图

图6 人体红外感应与报警流程图

3.4 GSM模块设计

要使得设计中采用的SIM800模块正常工作,就需要得到不同的AT[10-11]指令,发送短信用到AT+CSCS、AT+CMGF、AT+CMGS三种指令。简单介绍一下三种命令的功能,AT+CSCS用于设置字符集,如需发送英文短信,指令为AT+CSCS=“GSM”,而发送中英文短信时,将指令改为:AT+CSCS=“UCS2”。AT+CMGF指令用于设置短消息模式,SIM800支持PDU模式和TEXT模式,发送指令:AT+CMGF=1,即可设置为文本模式。如给手机号12345678901发送短信,则可用指令AT+CMGS来进行设置,发送指令:AT+CMGS=“12345678901”即可[12]。

GPRS则要用到以下指令,如需查询当前连接状态,指令为AT+CIPSTATUS;要配置域名服务器DNS,指令为AT+CDNSCFG,如发送:AT+CDNSCFG=1,“CMNET”,设置为GPRS连接,接入点为“CMNET”;发送数据则可以使用指令:AT+CIPSEND;建立TCP连接使用指令:AT+CIPSTART;关闭TCP连接使用指令:AT+CIPSHUT。

4 实验结果与分析

本设计主要实现对家庭环境的监测与实时预警和报警,为了提高实用性,系统加入了时间显示功能,即在无安全隐患的时候是一个时钟,一旦发现安全隐患,就成了一个报警器。当任意一个从机检测到安全隐患就会先判断安全隐患位置并将相应信息发送给用户,还通过GSM将报警信息发送给用户。下面以一个房间为例,对所测得的数据进行分析。

4.1 温湿度测量与分析

湿度测量选取FLUKE971作标准值,实验数据如表1所示。温度测量选取FLUKE1524作标准值,实验数据如表2所示。

表1 湿度测量值与相对误差

表2 温度测量值与相对误差

4.2 烟雾传感器数据测量与分析

烟雾传感器模块利用STM32中的A/D转换,读取烟雾传感器的输出电压。经过测试发现,在室内正常情况下,A/D通道读取的电压值约为0.4 V。通过模拟火灾发生前和发生后情况,得到的电压数据都在1 V以上,因此设定的阈值为1 V。

4.3 信息采集发布形式

本设计将采集的信息通过短信发送给用户,信息格式为:“当前温度:20 ℃;湿度:40%;陌生人:无;火灾隐患:无”。在正常情况下,系统设置每两小时向用户发送当前的环境监测数据,如果遇到紧急情况,则立即向用户发送报警信息,并报告相应的位置信息。

5 结论

本设计是一种基于STM32的家庭环境监测系统,系统以STM32单片机为主控,集多种传感器为一体,实现在智慧城市背景下家庭环境智能监测功能。经验证,系统具有智能化程度高、性能稳定、成本低等优点,具有较强的实用价值和推广价值,可为企业的决策和生产提供切实可行的思路和经验。在本系统的基础上,还可以进行下一步功能提高,如加入摄像模块,灭火控制模块,设计一款APP,用户可以通过APP来远程监控家庭的安全;也可以将电器用系统进行远程控制,实现智能家居,从而实现更加智能化的生活。

[1] 钱志鸿,王义君.物联网技术与应用研究[J].电子学报,2012,40(5):1023-1029.

[2] 周学礼,王资,朱永元.面向智慧城市的家庭火灾预警系统设计与实现[J].南阳理工学院报,2015,7(6):10-13.

[3] 黎山峰,杨雷,孙建军.面向智慧社区的环境监测系统设计与实现[J].计算机测量与控制,2015,23(5):1785-1787.

[4] 朱博,李捍东,王小梅.基于AT89S52的智能家居控制系统 [J].现代机械,2014(1):88-90.

[5] 刘婷.基于NRF24L01和STM32的定量装车站无线控制系统[J].工矿自动化,2015,41(6):104-106.

[6] 肖林京,于鹏杰,常龙,等.基于LTC6803和NRF24L01的动力电池监测系统[J].计算机测量与控制,2015,23(7):2278-2280.

[7] 沈勇,蒋文雄,段勇.基于NRF24L01的通用无线通信模块设计[J].电子设计工程,2013,21(18):84-86.

[8] 吴彤,刘嘉新.基于Cortex-M3的数码框设计[J].仪表技术,2016(3):15-18.

[9] 王淼军,韦海成,魏鑫.基于STM32的高精度数字电压表设计[J].自动化与仪器仪表,2016(3):26-28.

[10] 方浚丞,包敬海,梁韶华.基于GSM的远程火灾报警系统设计[J].钦州学院学报,2016(10):30-34.

[11] 顾涵,刘靖,卢怡.基于Vivado环境的智能照明控制系统设计[J].苏州市职业大学学报,2016,27(4):9-11.

[12] 张远海,翁佩纯.基于北斗GPS模块UM220和四频GPRS模块SIM800H的人员定位应用研究[J].电子设计工程,2016,24(13):107-109.

(责任编辑:沈凤英)

Design of Home Environment Monitoring System Based on STM32

CHEN Mingjie,HUANG Jiahang,QIN Qiao,ZHOU Xueli

(School of Physics and Electronics Engineering,Changshu Institute of Technology,Changshu 215500,China)

With the deepening of the concept of smart city, this paper presents a novel home environment monitoring system based on STM32 microcontroller. The core of the control system is equipped with STM32F103ZET6, using temperature and humidity sensor, infrared sensor, smoke sensor, wireless transceiver module and GSM module to achieve real-time monitoring of the home environment. The system displays the monitored data through LCD. At the same time, the system uses the GSM module to send SMS to the user's mobile phone to realize the real-time monitoring function. According to the experiments, the design which the paper introduces enjoys low power consumption, stable function and economical quality, which conforms to the development trend of smart city and has a strong practical value worthy of popularization.

STM32;home environment;MCU;smart city;wireless transceiver

TP273.5

A

1008-5475(2017)02-0024-05

10.16219/j.cnki.szxbzk.2017.02.004

2017-02-17;

2017-03-16

江苏省高校自然科学研究资助项目(15KJD310002);江苏省大学生创新创业训练计划项目(201610333068X)

陈明杰(1996-),男,江苏南通人,主要从事嵌入式系统设计研究。

*通信作者: 周学礼(1979-),男,河南南阳人,副教授,主要从事计算机图形学、医学图像处理及嵌入式系统设计研究。

陈明杰,黄嘉航,秦桥,周学礼.基于STM32的家庭环境监测系统设计[J].苏州市职业大学学报,2017,28(2):24-28,36.

猜你喜欢
烟雾温湿度指令
薄如蝉翼轻若烟雾
基于AT89C51的数字型蚕用温湿度计的设计
影视剧“烟雾缭绕”就该取消评优
基于DSP的多路温湿度监测系统
ARINC661显控指令快速验证方法
基于温湿度控制的天气预测装置
咸阳锁紧烟雾与尘土
蒸发冷却温湿度独立控制空调系统的应用
杀毒软件中指令虚拟机的脆弱性分析
中断与跳转操作对指令串的影响