基于ZigBee无线传感网络的综合环境实时监控系统
2015-07-18孙秀勇陆航杨晓飞韩成春
孙秀勇++陆航++杨晓飞++韩成春
摘 要:设计无线传感网络综合环境实时监控系统,实现对公共垃圾箱的实时监控和集中管理。该系统集成ZigBee无线通信模块和GPRS DUT无线传输模块,以STC12C5A60S2芯片为主控单元,采集公共垃圾箱的重量、容量和箱内异味信息并由ZigBee终端节点传送至汇聚节点,通过GPRS DUT无线传输将汇集数据一并传送至监控主机,以此达到对公共垃圾箱的实时监控、数据处理和集中管理的目的。该系统操作方便,极大地减少了管理人员的工作量,提高了工作效率。
关键词:ZigBee;GPRS DTU;公共垃圾箱;实时监控;集中管理
中图分类号:TP212 文献标识码:A 文章编号:2095-1302(2015)05-00-04
0 引 言
随着社会经济的发展,环保问题逐步成为社会关注的焦点,各国也不惜投入大量资金,改善人们的生活环境质量。目前我国的环保发展还处于初级阶段,大部分城市垃圾处理系统还不完善,人流密集的街区路口仍会出现垃圾箱散落溢出、未得到及时清理等情况,其主要原因在于我国城市垃圾箱的管理仍采用人力现场巡查的方式,这不仅需要大量劳动力,而且工作效率低、环保成本高,也不利于城市环境集中管理。
本系统把无线传感网络技术应用到公共垃圾箱的集中管理中,代替人员的现场巡查,以提高工作效率。目前国内市场纷纷出现一系列智能垃圾桶,比如自动分类垃圾桶、自动压缩处理垃圾桶等产品[1,2],但此类产品主要用于相对独立的设施,且仅限于室内。而本系统可应用于小区、学校、广场等公共场所,实现分散垃圾箱的集中管理。
1 系统框架及其工作原理
该系统主要包括公共垃圾箱监测节点、无线数据传输模块、综合环境监控中心[3,4]。公共垃圾箱监测节点还包括终端节点、汇集节点和GPRS模块,其中终端节点和汇聚节点通过ZigBee模块交换分布垃圾箱采集箱内空气质量,箱内剩余容积,箱内物质重量等信息,汇聚节点与GPRS模块相连,通过GPRS模块将采集到的信息传送至环境监控中心,如图1所示。
图1中,GPRS模块将汇聚信息发送至以太网,用户利用固定IP的主机作为监控机从以太网中提取对应的采集数据,实现对系统的管理、监控以及对采集信息的存储和分析。此外,由于固定IP资源有限,用户可以利用现有的动态域名解析服务将连接以太网的本机解析为一个固定域名,然后通过配置GPRS单元相关参数,结合本地接收软件的IP与端口号设置,最终也可以实现采集信息的接收。
图1 系统总体框图
2 系统硬件设计
终端节点由主控芯片、传感器和ZigBee模块组成[5]。箱内的空气质量传感器检测箱内空气质量,输出模拟量通过微处理器的A/D转换端口转换为数字量,该数字量大小反映箱内空气质量的好坏。箱内容积传感器为阈值可调节的漫反射测距传感器,在距箱底的不同距离处由近到远布置三个光电传感器,该光电传感器达到阈值时向微处理器端口输出1,即高电平,通过光电传感器可以获取箱内垃圾由少量到中度再到高量的变化信息。箱内物质重量传感器内有电阻式应变式压力传感器的称重传感器,用来检测箱内物质重量,输出模拟量通过微处理器的A/D转换端口转换为数字量,该数字量大小反映箱内物质重量的大小。最终微处理器获取到垃圾箱的箱内空气质量、剩余容积、物质重量,这三个参数经过汇聚节点传输至综合环境监控中心再发送给清洁人员。其系统工作流程如图2所示。
2.1 主控芯片STC12C5A60S2
主控芯片STC12C5A60S2是STC生产的单时钟机器周期(1T)单片机,是具有高速、低功耗、超强抗干扰特点的新一代8051单片机,指令代码与传统8051兼容,但速度比传统8051快8~12倍[6]。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换。工作电压在5.5~3.5 V之间,具有双串口,外部时钟源11~17 MHz,系统整体结构如图3所示。
图2 系统工作流程
系统以1117-5V稳压器及并联10 uF电容作为稳定电源。系统复位采用阻容复位电路,电容为10 uF,电阻为10 k?,另设置复位开关可以对系统进行手动复位。STC12C5A60S2单片机的端口P3.0(RxD)和P3.1(TxD)分别与SZ05-ZigBee无线通信模块的TxD和RxD连接,端口P1.1、P1.4为称重传感器和气味传感器的输出电压信号输入端,端口P0.4、P0.5、P0.6为容量检测器的输出电压信号输入端,其他作为正常的I/O端口使用。
2.2 SZ05-ZigBee无线通信模块
SZ05-ZigBee嵌入式无线通信模块集成了符合ZigBee协议标准的射频收发器和微处理器[7,8],具有TTL电平收发接口、标准串口 RS 232数据接口。可实现点对点、一点对多点、多点对多点之间的设备间数据透明传输;可组成星型、树型和蜂窝型网络结构。模块传输距离可达到1 500 m,工作频率2.4 GHz,可设置低功耗模式,待机电流10 mA。该模块集成ZigBee协议,用户只需将需要传输的数据送到数据接口便可实现透明传输。
2.3 LQ1000-GPRS DUT模块
LQ1000-GPRS DTU采用了先进的GPRS无线通信技术、嵌入式单片机技术和TCP/IP网络通信技术,提供标准RS 232/485数据接口,可方便地与通用设备进行数据交换[9,10]。该模块支持固定IP或动态域名解析的连接方式,可接收指定用户手机发送的短信命令和数据。支持850/900 MHz和1800/1 900 MHz移动通信服务,可以在任何环境中使用,保证数据传输的可靠性。模块可以实现串口数据透明传输,接收手机短信指令,串口外接设备通过模块发送短信,中心软件通过模块发送短信等功能。
2.4 各类传感器模块
作为综合环境监测系统,其核心在于实时准确的监测被测公共垃圾箱的参数指标。YZC-1B称重传感器[11]能对箱体的重量进行相对准确的测量,通过主控芯片的计算分析大致判断垃圾箱是否装满。TGS2600-SOP气体传感器监测箱体内周围空气的质量水平,如果超过正常值,将报警信号发给微控制器。DS100C1光电传感器检测箱体的空间容积,如果箱体近满,则传感器报警,同时微控制器做出相应判断。最后通过微处理器串口将判断结果和重要参数发送给无线通信模块并上传至监控中心。
3 监控软件设计与调试结果
3.1 监控软件设计
综合环境实时监控系统软件主要对系统进行管理和监测,对终端监测节点设备进行手动或自动远程控制,也是整个系统的综合监控中心。运行本监控软件的主机需要有固定的IP地址或者能够进行动态域名解析到固定域名。
本监控软件基于微软.NET环境开发,作为系统PC客户端服务软件,为系统提供三大基本功能:监听并实时显示系统参数、操作人员向外围设备发送短信、数据存储,其监控软件流程图如图4所示。
数据监听功能配合GPRS模块实现,通过开放主机IP和端口号与网络中的客户端实现数据通信,然后将接收到的数据进行处理和存储。当数据成功连接后,发送短信就可以实现,但是由于下端设备需要相应AT指令才能完成发短信操作,所有本软件内部又集成了将中英文字符转换为AT指令的函数模块。数据存储选用轻便简单的Access数据库,方便用户使用和查看,用户可以自主选择是否将数据存入数据库。此外,本软件还可以直接将数据存入txt文本中。
软件以C语言为基础,以Microsoft Visual Studio作为集成开发环境,主要包括网络流操作、数据库操作、文件操作、界面设计等。其中,将本地服务器与远程客户端设备通过网络流建立连接是本软件的基础部分。因此,程序获取本地固定IP,并将数据映射到计算机端口是本软件设计的重点也是难点。其核心代码如下:
txtPort.Text = “10000”;//设置开发端口
IPAddress[] ips = Dns.GetHostAddresses(Dns.GetHostName());//获取IP
for (int i = 0; i < ips.Length ; i++) {
if (ips[i].ToString().Length < 20)//过滤掉IPv6
{
IPBox.Text = ips[i].ToString();//得到12位IP
}
}
此外,用户可以通过本软件远程控制GPRS模块向任意手机发送短信。由于GPRS模块在发送中文短信时必须有附加指令操作,即在需要发送的手机号码开头和结尾分别加上 “SMS”、“#”。因此,软件需要加上额外指令以及汉字转为Unicode码操作。具体代码如下:
string DTU_Text_ASCII;
string DTU_Text_Unicode;
DTU_Text_ASCII ="SMS"+ textBox1.Text + "#";
DTU_Text_Unicode = textBox3.Text;
DTU_Text_ASCII = DTU_Text_ASCII.Trim();
try {
string ss = StrToHex(DTU_Text_ASCII);
txtReceive.Text = ss+DTU_Text_Unicode;
byte[]data1= Encoding.ASCII.GetBytes(DTU_Text_ASCII);
byte[]data2= System.Text.Encoding.Unicode.GetBytes(DTU_Text_Unicode);
for (int i = 0; i < data2.Length;i+=2 ) {
byte temp1;
temp1 = data2[0+i];
data2[0+i] = data2[1+i];
data2[1+i] = temp1;
}
this._networkStream.Write(data1,0,data1.Length);
//将字节数组发送到网络流中
this._networkStream.Write(data2,0, data2.Length);
}
3.2 软件调试结果
本监控软件基于微软.NET Framework 4.0,结构精简,基本不占系统内存。软件运行环境最低要求:Windows7系统,512 MB RAM,1 GHz主频。
图5为登录界面,用户输入账号和密码,点击登录即可。如果勾选“记住密码”,则软件在下次登录时无需再次输入密码。
图6为监测界面,点击“监听”按钮开始监听(接收)客户端的传送数据,并显示在“网络数据接收区”。通过区域选择用户可查看对应区域的节点情况,比如被选区域1的节点2处的箱体处于已满状态,此时自动向清理人员发送短信,或将信息发送至综合环境监控中心。
图4 监控软件流程图
图5 软件登陆界面图 图6 监控软件读取数据结果
此外,若用户勾选监控界面的“数据存入Access数据库”的选择框,可以将重要数据进行保存,存储成功显示“与数据连接成功”,如图7所示。
图7 读取数据存取结果
4 结 语
系统设计基于ZigBee无线传感网络和GPRS无线通信网络相结合的综合环境监控系统,配合底层各终端节点和综合环境监控软件,对公共垃圾箱实现集中管理和集中监控,减少工作人员的工作量,提高工作效率。系统结构合理,性能稳定,满足设计要求。通过自主开发的综合环境监控软件测试,其操作界面简单,设计功能齐全、成本低、具有较好的实际应用价值。
参考文献
[1] 周慧珺,许锦标. 新型智能垃圾桶的设计方案[J].广东工业大学学报, 2006, 23(3):85-88.
[2] 汤俊良.智能垃圾箱[J]. 科学启蒙, 2005 (6):14.
[3] 杨晓飞,陆航,孙秀勇,等. 公共垃圾箱自动预报清理控制装置[P]. 2014- 11.
[4] 陆航,杨晓飞,孙秀勇,等. 一种公共垃圾箱按需定点清理自动预报系统[P].2014-12.
[5] 杜春飞. 无线传感网络大气环境监测系统设计[D].大连:大连海事大学, 2012.
[6] 黄超,刘婷,谢印庆. 基于STC12C5A60S2多功能通信开发板设计[J]. 现代电子技术, 2014, 37(5): 152-155.
[7] 赵晨.基于ZigBee技术的无线传感器网络的研究与实现[D]. 青岛:中国海洋大学, 2007.
[8] 林子敬. 基于ZigBee技术的无线传感器网络的研究与实现[D]. 合肥:中国科技技术大学, 2009.
[9] 杨州.基于GPRS的无线信息采集监控系统的研究与设计[D]. 武汉:华中科技大学, 2011.
[10] 夏忠球.浅谈GPRS的网络工作原理及其优势[J].电脑与电信, 2010(12):36-37.
[11] 钱婷婷,李正明,石鑫,等. 基于单片机的自动称重系统[J]. 制造业自动化, 2014 (16):116-118.