基于ZigBee的大型楼宇安全监控系统

刘传振+程耕国



摘 要: 针对现有大型楼宇安全监控功能单一、数据量大、監控盲区多的问题,设计基于ZigBee的大型楼宇安全监控系统,通过采用多个协调器节点的传感器网络结构解决监控难题。ZigBee网络节点采用低功耗的CC2430微控制器,外接多个传感器采集楼宇内温度、湿度、烟雾、红外等数据。管理中心对各个节点进行可视化管理,若收到报警信息,管理员可查询节点信息,确定节点位置后通知保安前去处理,同时以短信的方式通知住户。实验结果表明,系统能够可靠完成数据采集并完成本地报警功能,管理中心能够查询各网络节点信息。
关键词: 楼宇安全监测; ZigBee; 传感器网络; 楼宇管理; CC2430
中图分类号: TN948.64?34; TP277 文献标识码: A 文章编号: 1004?373X(2017)04?0095?04
Large building security monitoring system based on ZigBee
LIU Chuanzhen, CHENG Gengguo
(School of Information Science and Engineering, Wuhan University of Science and Technology, Wuhan 430081, China)
Abstract: For the problems of single function, massive data quantity and numerous monitoring dead zone of the large building safety monitoring, the large?scale building security monitoring system based on ZigBee was designed, in which the sensor network structure with multiple coordinator nodes is used to solve the monitoring problem. The microcontroller CC2430 with low?power consumption is adopted by the ZigBee network node to collect the temperature, humidity, smog and infrared data in the building through multiple sensors. The management center can perform the visual management for each node. The administrator can query the node information while receiving the alarm information, and notice the security guard to deal with and the inhabitant with SMS after determining the node location. The experimental results show that the system can acquire the data reliably and implement the local alarm function, and the management center can query the information of each network node.
Keywords: building safety monitoring; ZigBee; sensor network; building management; CC2430
随着社会经济的高速发展,城市的小区越来越多,小区的楼宇也越来越趋向于大型化。楼宇的大型化一方面提高了土地的利用率,另一方面也会带来很多安全隐患。近年来,很多小区发生了火灾、天然气或者煤气泄漏、盗窃的安全事故,由于大型楼宇楼层高,住户也多,一旦发生安全事故,如果及时处理,就会造成大量财产损失和人员伤亡。为了避免这类事故的发生,必须要有高效智能化的安全监测系统对这些威胁提前报警,让住户能够有足够的时间转移到安全的地方[1]。
目前,一些小区楼宇都安装了安全监测系统,但是监控功能单一,只能进行本地报警,缺少远程监控,从而造成事故处理不及时,酿成悲剧。对于大型化楼宇,住户很多,为了对每个住户都安全监测,需要很多监测点,每个监测点也要监测多种数据,同时需要有效地进行远程监控,方便部署,节约成本,采用ZigBee无线传感器网络比较适合。ZigBee传感器网络可以容纳很多的节点,这对于大型楼宇监测中需要大量传感器的要求很吻合。所以本文采用ZigBee和树莓派来监测大型楼宇,同时服务器Web端可以实时地查询各节点信息,确定事故位置,然后作出及时有效的处理。
1 系统总体结构
大型楼宇的楼层一般都很高,每层的住户也会很多,如果每户都要安装一个ZigBee监测节点,则需要安装数量很庞大的监测节点,而且每个监测节点还要和多个传感器连接。传统的无线传感器网络中,一般只有一个协调器节点(sink)来处理所有终端节点的信息,这对于需要监控节点比较少的中小型楼宇,还能满足需要,但是对于大型的楼宇需要很多的监测节点的情况,传输的数据量很大,而协调器节点的数据处理能力有限,这样会增加数据传输的误码率,造成网络的不稳定,所以本文设计的大型楼宇系统中用到多个协调器节点,用来均衡数据流量。
传感器网络一般包含监测节点、路由节点、协调器节点。监测节点通过各种传感器,负责采集环境数据;路由节点负责数据的转发;协调器节点负责数据传输、网络的建立和维护等功能。本文中ZigBee节点采用的是TI公司的CC2430芯片,在TI公司提供的ZigBee协议栈里面定义了NWK_MAX_DEVICS,NWK_MAX_
ROUTERS,NWK_MAX_DEPTH的值,NWK_MAX_DEVICS決定了路由或者协调器节点可以处理的子节点的最大个数,默认值为20;NWK_MAX_ROUTERS决定了协调器节点可以处理的具有路由功能的儿子节点的最大个数,默认值为6;NWK_MAX_DEPTH决定了网络的最大深度,默认值为5。假设大型楼宇有n层,每层住户m家,每户需要安装一个ZigBee监测节点,网络的深度为3。如果每层需要p个路由节点,k层为一个控制单位,需要一个汇聚节点,则p的值为m除以20,k的值为p除以6,系统的整体部署如图1所示。
从图1中看到,每层的m个监控节点负责采集环境数据,p个路由节点负责数据的转发,然后在每个k层的控制单位的中间层位置安装带GPRS模块的汇聚节点,负责数据的传输、网络的管理和维护。管理中心一般相对于被监测的楼宇较远,为了实现远程控制,每个协调器节点需要带一个GPRS模块和服务器之间进行通信。管理中心用树莓派作服务器,通过串行接口和一个带GPRS模块的协调器连接,这里的协调器负责接收楼宇内采集的数据,同时当发生事故时,广发短信通知住户。
2 数据传输可靠性分析
为了测试大数据传输中的误码率,实验中让PC端向一个ZigBee节点发送一串数据,为了体现大数据传输的特点,使结果更加接近系统真实的误码率,传输的数据必须足够大,需要连续不断地传送0xFF字节。程序中通过设定不同的连续传输次数,每次传输256 B,在115 200 b/s的传输速率情况下,测得不同的误码率。实验条件有限,没有考虑噪声的影响,表1列出了测试结果。
表1 测试数据
从实验数据可以看出,传输总的比特数越大时,误码率也越高,所以大数据传输可靠性的研究很有必要。
目前ZigBee主要应用在少量小数据传输的网络中,不会发生数据阻塞和丢失的问题,可靠性很高。但大型楼宇的ZigBee网络,包含有数量庞大的监测节点,而且每个监测节点和多个传感器连接,需要传输的数据量很大,对于这种长时间、大数据量的无线通信,传输效率不高,可靠性也很低。本文通过设计合理的传输机制可以确保较大数据文件的可靠传输。
ZigBee协议应用层中的ASP子层提供了可靠传输、碎片(当数据包长度大于网络层帧时,可以分割数据包)流控制、阻塞控制等数据服务,但处理能力有限,当大量数据涌入ZigBee时,ASP层的数据分割能力不能有效发挥出来,另外,数据传输过快,会出现阻塞的情况,从而造成数据丢失。
综上所述,传统的ZigBee协议提供的一些服务不能很好地解决大数量传输带来的溢出、阻塞和传输失败的问题。所以本文对ZigBee通信协议做了改进,以确保大数据传输的可靠性。包括两个方面:首先,ZigBee将待发送的信息分割成较小的数据包,使数据包维持在合适的长度;其次,为了保证每个数据的可靠传输,需要实现自动重传请求ARQ协议和停止等待协议的无差错情况。ZigBee使用的是32.768 kHz的外部晶振,实验中开启了MT_TASK,轮询周期为6 ms,每秒传输11 B,则一个轮询周期传输66 B。而缓冲区的数据是64 B,所以传输的数据包要大于64 B且小于66 B,实验中数据包长度取64 B。停止等待协议需要数据包和响应包,当发送完一个数据包后,暂停发送,等待确认响应包。两个ZigBee之间发送数据时,如果没有收到数据包,就不会发送响应包,没有收到响应包,就认为数据丢失,需要重新发送数据包。
3 硬件设计
硬件设计包括无线传感器网络和控制中心两部分,无线传感器网络由监控节点、中继节点、协调器节点组成。其中监控节点主要负责数据采集。中继节点是在监控节点基础上增加一个CC2591射频前端,来提高发送功率。协调器节点不需要采集数据,需要增加一个GPRS模块,负责远程通信。
3.1 监控节点设计
监控节点需要不间断的采集环境数据,硬件结构如图2所示,监控节点采用 CC2430微处理器,需要外接多个传感器和一个起报警作用的喇叭。结构上非常简单,其中只有CC2430片上系统能耗较大,但正常工作时功耗也很低,所以系统具有低功耗特点,满足应用需求[2]。
数据采集模块负责采集楼宇温度、湿度、烟雾、红外数据,需要用到数字温度传感器、湿度传感器、烟雾传感器、红外探测传感器[3]。火灾监测采集的是温度和烟雾浓度数据,采用DS18B20数字温度传感器和MQ?2烟雾传感器,天然气检测采集的是天然气浓度数据,采用MQ?5传感器,它的工作原理同MQ?2。防盗监测采用红外探测传感器,看是否有陌生人员入侵。
3.2 协调器节点设计
楼宇内的协调器节点负责接收传感器网络数据并发送给服务器,服务器端的协调器节点除了完成数据的接收外,当收到报警信息时,需要广发短信通知住户。由于协调器节点在监控节点基础上增加了一个GPRS模块,同时需要远距离传输,功耗较大,因而协调器节点最好能够工作在外接电源的条件下,才能满足系统长时间工作的需要。硬件结构如图3所示。
4 软件设计
系统软件流程如图4所示,从图4中可看到包括四个部分,数据采集、数据传输和网络管理属于传感器网络节点的软件设计,数据显示属于服务器软件设计。传感器网络节点中的监控节点负责数据采集,中继节点负责数据传输,协调器节点负责网络的管理。服务器软件负责数据存储。
4.1 ZigBee节点的软件设计
节点软件设计包括监控节点、中继节点、协调器节点程序。监控节点主要是数据的采集和发送,首先进行上电初始化,然后申请加入无线网络,加入网络后,开始采集环境数据,采集的数据通过无线通信模块的发送程序发送出去。中继节点通过无线通信模块的接收程序接收监控节点采集的数据,数据经过CC2430微处理器处理后,再通过无线通信模块的发送程序发送给协调器节点,节点都是周期性的工作,当任务完成时,进入休眠状态[4?5]。节点程序流程图如图5所示。
协调器节点负责输的传输,另外服务器端的协调器节点还有接收控制中心的命令,广播短息给住户。上电后首先系统初始化,然后建立起网络连接,当网络建立起来后,开始接收传感器网络发送的数据,封装之后通过串口发送给服务器。节点流程图如图6所示。
4.2 组网测试
实验中使用SSCOM 3.2串口调试工具接收协调器节点的数据,设置好串口的波特率和串口号,在软件界面观测网絡组网调试结果见图7,网络组建起来后,IEEE地址为0x0100000000000000和0x0200000000000000
的节点成功加入到网络,并成功接收了节点发送的数据包。
5 结 语
本文设计的基于ZigBee的大型楼宇安全监测系统,由于采用无线网络模式,部署简单,功耗低,实用性强。在实验过程中,改进的协议实现了低误码率的大数据量传输,采用ZigBee星型拓扑结构,实现了数据的长距离传输,在20 m距离内能够准确无误的传输,在实际生活中有很好的应用价值[6]。
参考文献
[1] 万文青,赖松林,程树英,等.基于ZigBee的楼宇安防报警系统的设计与实现[J].电子测量技术,2006,35(12):2?5.
[2] 杨文铂,尤一鸣.基于MC13192的Zigbee无线数传模块设计[J].单片机与嵌入式系统应用,2008(1):46?49.
[3] 周岭松,余春暄.基于ZigBee技术的温、湿度控制系统[J].电子测量技术,2011,34(6):47?50.
[4] 刘青,宋立军.ZigBee无线传感器网络组网研究[J].电脑开发与应用,2008,21(6):44?45.
[5] 于海峰.基于ZigBee技术的嵌入式智能楼宇安防系统的研究与设计[D].镇江:江苏大学,2012.
[6] 周燕灿.ZigBee技术的楼宇安全测控研究与应用[D].广州:广东工业大学,2010.
[7] 夏华.无线通信模块设计与物联网应用开发[M].北京:电子工业出版社,2011.
[8] 郭渊博,杨奎武,赵武,等.ZigBee技术与应用[M].北京:国防工业出版社,2010.
[9] 梅志坚,马娅婕,肖凡男.基于ZigBee和GPRS的大气污染监测系统设计[J].武汉科技大学学报(自然科学版),2015,38(1):63?66.
[10] 杨波,陈忧先.热释电红外传感器的原理和应用[J].仪表技术,2008(6):66?68.