引言
无线传感网络,是从虚拟的因特网到现实的物理世界的一个延伸,它集合了传感器技术、微机电制造系统(MEMS)技术、无线通信技术和分布式信息处理技术等众多技术。本文就讨论了无线传感网络在现代智能家居安防系统中的应用,随着高科技产品在家居中的广泛应用,一些不安全因素也悄悄升起,如煤气管道、热水器以及其他许多大容量的家用电器的使用,使得火灾、煤气中毒和爆炸的可能性随之增加。所以家庭安防系统的研究具有迫切意义。如此。我们可以看到家庭安防系统的广阔市场前景,系统将会全面应用在家居和工业等领域。
1 基于Zigbee的无线传感器网络
Zigbee网络首先由连接无线网关的协调器发动并建立,其他节点加入已经建立的网络。每个节点加入网络时,其父节点都会按约定规则给它分配一个网络层地址供通信使用。功能比较强且供电充足的节点充当路由节点(RouteNode,RN)为全功能设备(FullFunctionDevice,FFD),它能接收其他节点作为其子节点,同时根据自身状况决定是否给其他节点查找路由和转发数据;功能比较弱的节点为简化功能节点(RFD),不能成为其他节点的父节点,通信时只能请父节点帮忙转发数据。Zigbee标准的协议栈如图1所示。
2 系统设计方案
2.1 总体设计方案
基于无线传感器网络的智能家居系统,主要是由若干无线传感器节点、无线执行机构、家居无线控制中心组成。其中,节点分布于客厅、卧室、洗手间、厨房等需要监测的区域内,负责数据的采集、处理和通信。无线执行机构负责启动声光报警、自动继电器开关等控制功能。家居无线控制中心处理、转发来自无线传感器节点中的信息,并且为互联网的连接提供接口进行远程控制。由于不同网络结构会对网络的速度、特点和实现有着不同程度的影响。智能家庭网络系统有很多特点,比如家庭内部无线网络连接距离较短,家用电器位置不易固定,房间之间仍有一段不小的距离,分布的节点并不是太多,并且数据的传输量也不是太大,网络中的信息传送主要发生在WSN的基站和其他室内终端上的传感器节点之间。因此,本文以WSN的基站节点为中心节点组建一个串状树形家庭网络。
系统要实现的功能包括智能门禁系统、智能门窗防盗、煤气监测系统、火灾监测系统、居室内的人体红外检测、远程监控、数据库系统。节点布置和网络系统的总体设计方案如图2所示,图中的ZD代表的是Zigbee终端设备,可以是FFD也可以是RFD;ZR代表的是Zigbee路由器;ZC代表的是Zigbee协调器。
2.2 各功能块的描述
2.2.1 智能门禁系统
当人走到家居门口时,靠着红外热释电传感器,感应到人体的靠近,促使门禁设备主动发射获取人体身份命令信号。当人体携带着身份识别标签时,标签会发送加密身份信号给门禁Zigbee设备,门禁系统经过分析判断身份后,再决定是否开启数字门锁,于是用户再也不用自己掏钥匙开门了,免去了有时没带钥匙的尴尬情形。如果是一个未知身份的人体,则门禁系统会搜索家居内是否有人,如果有人则通知家居内的用户有客人到来,如果家居内没人则会远程通知智能家居安防用户有客人在家门口,通过门禁系统的摄像头采集客人的人脸图像并通过Internet发送到用户PC上。当然远程用户也可以随时给家庭网关协调器发送命令来采集家居门口人脸的图像。当用户确认了来人的身份以后可以远程控制门禁系统开启数字门锁,让客人进屋,以免让客人在屋外等待。
2.2.2 智能门窗防盗
在所有的家居窗户上都会安装红外幕帘传感器,目的是防止目的不纯的人员从窗户侵入家居进行违法范围行为。该系统是人性化的运行方式,分为白天和黑夜两种运行方式,这由协调器的实时时钟来进行控制。白天时,当家居内有人体走进一个房间时,该房间的红外幕帘即告失效,防止不必要的误报警,而当人体一旦离开房间则该房间的红外幕帘马上开启。而在夜晚的时候,用户需要设定一个时间点,当到达设定的时间点的时候,红外幕帘会强制开启,并保持到天亮。
2.2.3 煤气泄漏监测
在厨房安装多个煤气检测传感器节点,随时厨房煤气的含量是否超标,如果超标则立即报警,同时开启所有的排气扇,保证家居内人员的人身安全。
2.2.4 火灾预警系统
所有的房间都安有火灾光电烟雾探测器,对即将发生的火灾事件预警通知,合理布置火灾探测器节点,防止盲点的出现,遏制火灾事件的发生。
2.2.5 居室内的人员定位
在居室内布置有红外热释电传感器节点,用来监测家居内是否有人、位于哪一个屋(如果是佩戴有身份标签的人员则还可知其身份)。这些都可以在远程监控界面中观察到。这还可以用来监督孩子老人的学习、娱乐和休息。
2.2.6 远程监控
以上所有的安全参数都可以在远程客户端软件中观察到,并可以实现部分电器和数字门锁控制,全图形化监视和控制界面,方便观察和控制。
2.2.7 数据库系统
所有的控制命令、图像采集数据、报警参数时间等数据都通过上位机软件存储于SQLServer2000数据库中。
3 硬件设计
3.1 硬件设计框图
图3为系统的整体硬件设计框图,本系统是以CC2430节点为组建Zigbee网络。不同节点上分布有各种传感器,采集各种安防参数以进行声光报警和执行机构的控制。在执行机构旁也分布有节点用于进行远程的电器控制,特别是在数字门锁旁安装有节点用于智能门禁系统的组成。
3.2 CC2430射频模块
CC2430模块的硬件设计方面选择了TI公司的方案,主要是射频部分的设计,包括电源滤波、匹配阻抗、非平衡变压器的设计、PCB微波传输带线,整个结构满足RF输入/输出阻抗(50Ω)的要求,天线采用的是3dB的鞭状SMA天线。
3.3 节点传感器板和通用底板
节点底板用于引出模块I/O引脚,作为传感器电路板和电源供应模块以及RS232通讯电路,在该板上可以引出I/O线控制外部执行机构和采集传感器数据,并且还可扩展LCD液晶模块,方便观察和调试。
4 软件设计
4.1 Zigbee节点的软件设计
本系统采用的Zigbee协议栈是TI公司的2006版Zigbee协议栈,版本是Z-Stack-1.4.3-1.2.1。
Z-Stack达到了参考平台水平,作为率先实施版ZigBee标准并通过两家ZigBee检试实验室之一独立测试的平台。参考平台的建立为未来(ZCP)的提供了参考点,并且重要的就是该款协议栈现今对于研究和实验室的,这使得该协议栈的受欢迎度大大提高。Zigbee节点的软件开发环境采用的是IAREmbeddedWorkbench7.30B,这也是Z-Stack协议栈推荐使用的软件开发环境。
在Z-Stack开发一个系统主要是在应用层上面编写事件处理函数和按键处理函数。但必要的硬件相关程序是编写在HAL硬件层的,比如说人体热释电传感器和音乐报警器的初始化和中断触发、报警驱动程序等,由硬件触发中断后发送事件消息到应用层,操作系统循环检测到应用层有事件需要处理则执行应用层事件处理函数App_ProcessEvent(),相当于事件驱动机制。下位机与上位机通信的接口是RS232串口,注意串口程序开发的时候,Z-Stack是默认允许了硬件流控制的,必须把2430的CTS和RTS端拉为高电平才能互相通信,否则无数据收发,曾经浪费了很多时间在这上面研究。如果协调器无法建立网络或者路由器和终端设备无法加入网络,并且LED灯一直闪烁,或者加入了网络无法实现设备绑定,究其原因是地址的关系,在Z-Stack操作系统程序zmain_ext_addr()里面,如果节点的IEEE地址全为0xFF(因为写程序的时候有可能把存IEEE地址的内存给清除了),则需要按键来初始化节点的IEEE地址,但是路由器和终端设备的初始化地址都一样为0x20,所以地址重复,无法加入网络或者实现绑定。可以使用SmartRF04FlashProgrammer烧写不同的IEEE地址到节点上。,很重要的一点就是应用层初始化程序中一定要在AF层登记你的端点—afRegister(端点描述符),否则无法通过你自定义的端点实现设备之间的通信。因为节点上的异构性,即不同的节点担任着不同的任务和节点上的传感器也不尽相同,所以编写程序的时候尽量采用条件编译#ifdef的方式。
4.2 上下位机软件设计
本系统的上位机程序采用全图形化的操作界面,大部分的显示和控制都是在图像上面进行的,程序设计语言采用的是VB6.0。上位机程序分为服务端和客户端,服务端用于与协调器进行通信和为远程客户端提供查询和控制服务,客户端用于远程家居监视和控制。上位机程序实现的功能主要是图像显示报警信息并通知用户、电器和门禁远程控制、摄像头视频采集和远程图像传输、家居内人员定位图形显示以及所有的监控数据存入SQLServer2000数据库中。图6是服务器的主监控界面,图7是人员定位图和摄像头图像采集界面。客户端的监控界面与服务端的监控界面基本上一致,服务器界面的变化必然也会导致客户端的变化。
在设计上位机和下位机通信程序的过程中,很重要的一点就是通信的可靠性,特别是报警信息的收发,为了保证可靠性,本系统建立了一系列的应答通信机制,包括消息应答、等待超时重发、包丢失重发等。本系统的本地控制和远程控制基本都是在图像上面进行的操作,比如说要控制客厅的灯光,点击图像上面的某一个灯,图像上的灯就会熄灭,同时通过无线传感器网络也相应地关闭实际的灯。
5 结论
从上述看出,本文介绍了以Zigbee作为无线传感器网络组网技术而建立的智能家居安防监控系统,具有低成本、低功耗、低复杂度的特点。本文对下位机和上位机均做了设计介绍,特别是提出了全图形化的显示和操作界面,客户无须记住繁杂的控制指令。本智能家居安防系统基本实现了现代家居安防所必需的功能,集家庭安防报警、家居人员定位、智能门禁、电器远程控制、远程视频图像监控于一体,为下一步的深入研究奠定了基础。本文虽实现了智能家居安防的基本功能,但是还需进一步加深理论算法的研究,比如节点任务调度和节点部署以节省传感器网络的能耗问题,还有节点的休眠和唤醒的时间问题等。
[1]. CC2430 datasheet https://www.dzsc.com/datasheet/CC2430_1055132.html.
[2]. PCB datasheet https://www.dzsc.com/datasheet/PCB_1201640.html.
[3]. SMA datasheet https://www.dzsc.com/datasheet/SMA_1054310.html.
[4]. RS232 datasheet https://www.dzsc.com/datasheet/RS232_585128.html.
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。