智慧社区环境监测系统设计
2019-07-18李兴江陈明杰周学礼
李兴江,陈明杰,毛 威,周学礼*
(常熟理工学院 物理与电子工程学院,江苏 常熟 215500)
在物联网[1]的带动下,数据的传输更加快捷方便。作为社区管理的一种新理念,智慧社区[2]充分借助互联网、物联网等新技术,营造一个更加安全、智能的生活环境,形成智能、快捷、安全的新型形态社区。
智慧社区的重要前提是安全,而目前市场上用于环境监测的设备种类繁多,功能单一受限,价格较为昂贵,也缺乏及时、有效的通信手段,本系统在智慧社区的背景下,将多种传感器集于一体,将STC89C52单片机作为主控芯片,通过物联网进行数据传输,可以降低产品的成本,主要采用短信报警,借助本地报警以及互联网,做到信息实时发布,从而确保社区的安全。
1 系统整体设计方案
系统整体设计图如图1所示,系统由上位机和下位机两个模块构成,下位机模块包含主控芯片、温湿度传感器、热释电红外传感器、紫外线传感器、烟雾传感器以及PM2.5传感器,传感器采集的环境数据通过主控芯片进行处理,通过无线传输至上位机。上位机模块包含主控芯片以及报警模块,上位机负责接收下位机发送的数据并产生应答,所得环境数据存入云端,判断接收的环境数据是否超过阈值,如果超过,则驱动报警模块。电源模块为系统各个模块进行供电。
本系统功能的实现依靠单片机强大的数据处理能力,单片机通过发送指令驱动各个模块进行工作,单片机之间的无线通信采用的是NRF24L01,在确定超过阈值后,系统会通过GSM模块(本系统采用的是SIM800)向预设的手机发送报警信息,本地报警则会启动声光报警。
图1 系统整体设计图
2 系统硬件设计
系统硬件部分主要由监测环境的传感器构成,传感器用于测量温度、湿度、紫外线、烟雾、PM2.5,还包括人体红外识别模块、无线传输模块以及GSM模块。采用STC89C52单片机作为主控芯片,该芯片具有8 K字节系统可编程Flash存储器,可以直接使用串口下载。
2.1 温湿度采集模块
温湿度检测部分采用DHT11[3]数字温湿度传感器,该传感器能够测量温度和湿度并将数据以数字形式输出,稳定性好、传输距离长和能耗低,且无需额外部件。温度、湿度传感器的测量分辨率分别为8bit、8bit。DHT11通过DATA口与单片机进行通信,本系统中DATA端连接P1.0端,采用单总线传输,单根信号线既可传输时钟,又能传输数据,而且数据传输是双向的,这样能使线路简单,便于扩展和维护。
2.2 烟雾检测模块
烟雾传感器采用的型号是MQ-2[4],该传感器对液化气、丙烷等部分可燃性气体的检测有很好的效果。主要用于家庭和工程的气体检测装置。MQ-2传感器模块有AOUT和DOUT两种输出端,在模块内部,AOUT端输出即为MQ-2模拟输出。对于DOUT输出端,MQ-2传感器输出的模拟电压会输入至LM393比较器,通过调节变阻器改变参考电压。
MQ-2烟雾传感器使用时需要一定时间的预热,输出的电压值和烟雾浓度有关,模拟量输出0~5 V电压,浓度越高,电压越高,通过模数转换得到数字量。MQ-2烟雾传感器将其模拟电压输出口A0与A/D转换芯片的外部信号输入口AIN3连接,数据以数字量的形式输出。
2.3 人体红外感应模块
人体感应报警采用HC-SR501热释电红外感应模块。在HC-SR501感应区域内,当有人进入感应范围内,其OUT端输出高电平,当人离开感应范围,则自动延时并输出低电平。热释电红外感应模块有可重复触发和不可重复触发两种方式[5]。本系统选用可重复触发方式,设计中将OUT端与P1.1端口相连。
2.4 A/D转换
主控制芯片不自带A/D转换模块,本设计采用外置A/D转换芯片PCF8591。该芯片为8位逐次逼近式A/D转换器,内含采样保持电路,具有4个模拟输入以及1个串行I2C总线接口[6],通过时钟线SCL和数据线SDA与CPU进行信息传输。将单片机的P2.1、P2.0脚分别连接至时钟线SCL和数据线SDA进行数据的传输,本设计中使用的是内部时钟,将EXT脚接地。烟雾传感器、紫外线传感器、PM2.5传感器都采用A/D转换的方式。
2.5 紫外线检测模块
本设计中,紫外线检测传感器为UVM-30[7],电压输出模式为线性电压,响应波长200~370 nm,UV指数0~10对应输出电压0~1 V。将UVM-30紫外线传感器模块3个引脚中的OUT端连接至A/D转换模块的外部输入AIN2。
2.6 PM2.5传感器模块
本设计中,PM2.5检测采用夏普公司的GP2Y1050AU0F传感器[8]。该传感器可检测0.03~2.5 μm微尘颗粒,输出电压为0~3.5 V,流损耗最大20 mA,有A/D采样和串口通信两种方式可供选择,本设计选用A/D采样的方式,传感器的输出脚接入PCF8591芯片的AIN1脚。
2.7 无线收发模块
无线收发设备可以使多个单片机系统组成一个环境数据采集系统,因此扩大了监测的范围,满足了社区监测的条件。本设计中采用的是NRF24L01单片射频收发芯片,其结构如图2所示,工作频段为2.4~2.5 GHz ,工作电压为1.9~3.6 V,可以选择多达125个频道,数据传输速率最快可达2 MB/s,芯片内置的各功能模块配合增强式ShockBurst技术[9],使得通信频道和输出功率可以通过程序来配置。
图2 无线收发模块
2.8 GSM模块
本设计中,需要用到短消息(SMS)收发功能,以及与物联网相关的GPRS无线网络通信技术。因此,选择性能和性价比较高的工业级SIM800模块,能够起到实时监控的作用。该模块支持850/900/1800/1900 MHz这四个频段,同时支持RS232[10]和TTL接口控制。本设计中将SIM800T_RX引脚与单片机TXD引脚连接,T_TX引脚与单片机RXD引脚连接,GND和V_MCU分别为接地端和电源端。该模块仅支持移动或联通卡,并配备开机按键,模拟手机开机键,如需启动该模块,则按住该键并保持1 s以上,随后模块启动。同时,模块上的LED指示灯便于判断模块的工作状态。
3 系统软件总体设计
3.1 系统总体流程
系统分为上位机和下位机两个模块,上位机运行的流程图如图3所示。上位机进行初始化,随后开始检测NRF24L01的信号,只有检测到NRF24L01通信成功,程序才会向下执行。程序通过返回值来判断NRF24L01是否存在,“0”表示存在,“1”表示不存在。当上、下位机之间通信正常时,上位机才会接收下位机发送的数据,并通过判断语句与不同数据对应阈值相比。如果超出阈值,主机通知SIM800发送报警短信到对应手机;如果没有超出阈值,程序继续执行接收数据。
下位机运行的流程图如图4所示,首先进行初始化,然后检测NRF24L01信号,判断返回值,若为0则表示NRF24L01存在,程序向下执行,NRF24L01初始化,传感器开始逐个检测环境数据并发回到下位机,下位机处理分析后发送到上位机。
3.2 火灾报警
社区是人口密集地区,存在着一定的火灾隐患,例如老化的电路、烟头、货物堆放的地方等,如果对这些有隐患的地方做到及时地预防,可以在一定程度上减少损失。本设计中利用温湿度传感器测量周围环境中的温度和湿度,烟雾传感器采集周围环境中的烟雾浓度,通过两者数据来判断是否存在火灾隐患,系统会一直采集数据,如果采集到的烟雾传感器和温湿度传感器数据超过阈值,系统则驱动SIM800及时发送报警信息,设置两个阈值是为了确保获得的数据的准确性。同时也要注意不同地方的阈值也是不同的,不同环境是有差异的。
3.3 人体识别报警
社区人口众多,因此只需选择在关键位置安放即可。单片机读取HC-SR501的输出电平,继而判断是否需要发送报警信息。
3.4 PM2.5检测与紫外线检测
图3 上位机运行的流程图
图4 下位机运行的流程图
在本系统中,PM2.5模块和紫外线模块采集到的数据均经过A/D转换,通过在程序中设定阈值,将A/D转换后得到的数据与阈值相比,如果超出阈值,则发送报警信息。
3.5 GSM模块设计
本系统SIM800模块采用的是AT指令[11]来进行信息的收发。如指令AT+CSCS=“GSM”用于发送英文短信,指令AT+CSCS=“UCS2”则用于发送中英文短信,指令AT+CMGF=1可以用于设置发送消息的模式为文本模式,而要给指定的用户发送信息则要用到指令AT+CMGS=“手机号码”。除了进行短信息的收发,系统中还涉及到了GPRS模块,则还需要用到以下指令,指令AT+CIPSTATUS用于查询当前的连接状态,指令AT+CDNSCFG=1,“CMNET”设置了GPRS连接,接入点为“CMNET”,指令AT+CIPSEND用于发送数据,指令AT+CIPSTART用于建立TCP连接,指令AT+CIPSHUT用于关闭TCP。
4 实验结果与分析
本系统主要实现的是对社区环境的监测与实时报警,将采集得到的数据与阈值相比较,一旦出现安全隐患,则会将报警信息发送至用户手中,并报告相应的位置,起到及时报警的作用。下面以一套实物为例,对数据进行分析。
4.1 温湿度测量与分析
表1 湿度测量值与相对误差
表1 湿度测量值与相对误差
FLUKE971测量值 本系统测量值 相对误差25 26 4.0 30 31 3.3 43 42 2.4 50 48 4.0
表2 温度测量值与相对误差
湿度测量选取FLUKE971作标准值,实验数据如表1所示。温度测量选取FLUKE1524作标准值,实验数据如表2所示。
4.2 烟雾传感器数据测量与分析
烟雾传感器模块所得数据经过A/D转换变为数字电压,实际测试中,采集的电压为0.3~0.4 V,在模拟火灾之后测试得到的电压均超过1 V,所以整体测试时,将阈值设为1 V。
4.3 UVM-30数据测量与分析
本系统采用的紫外线传感器经A/D转换之后的电压为0~1 V,分别对应着10个不同级别的辐射强度。实际生活中,当紫外线的指数达到5或6,即对应电压在0.5~0.6 V时,辐射强度已经对人体产生一些伤害了,因此将阈值设定为0.5 V,并通过实际测试,报警系统运行正常。
4.4 PM2.5传感器数据测量与分析
根据国家的PM2.5标准,在测试时将阈值设置为1 V,经实际测试,系统运行正常。实际测试中,为了方便用户,本设计选择将电压转换为空气质量等级。经查询可知,24小时PM2.5平均标准值为0~35 μg/m3时,空气质量等级为优;35~75 μg/m3时,空气质量等级为良;75~115 μg/m3时,空气质量等级为轻度污染;115~150 μg/m3时,空气质量等级为中度污染;150~250 μg/m3时,空气质量等级为重度污染;高于
250 μg/m3时,空气质量等级为严重污染。
4.5 信息采集发布形式
本系统的短消息发送格式为:“温度:20 ℃;湿度:50%;紫外线等级:1;PM2.5:良”,正常情况下,系统设置为每3小时给用户发送环境监测数据,遇到紧急情况后,如探测到陌生人入侵时,热释电红外传感器发出高电平,从而发送报警信息至用户,同时小区保安也会接到对应的提示信息。烟雾检测模块是当遇到有火灾隐患时,单片机检测到信号之后发出报警的指令。
5 结论
本设计实现的环境监测系统,采用STC89C52单片机作为主控芯片,结合多种传感器,实现了在智慧社区背景下社区环境监测智能化。经验证该系统具有智能化程度高、性能稳定、成本低等优点,具有较强的实用价值和推广价值,可为企业的决策和生产提供切实可行的思路和经验。在本系统基础上,加入LCD屏用于时间显示,将主控芯片换成功能更强大的STM32系列单片机,实现功能升级,并开发相应的APP,使得用户可以进行远程操控。