浅谈基于WiFi与ZigBee技术的楼宇监测系统设计
摘要: 楼宇监测是楼宇智能化的重要组成部分,主要是针对楼宇出入口、内部过道以及一些重要场所进行监测,特别是在无人值守的情况下。能够自动监测人员进入楼宇和重要场所情况。
楼宇监测是楼宇智能化的重要组成部分,主要是针对楼宇出入口、内部过道以及一些重要场所进行监测,特别是在无人值守的情况下。
能够自动监测人员进入楼宇和重要场所情况。在必要情况下,能够采集进入这些场所人员的图像、声音等信息,自动报警。楼宇监测系统要求无人值守、网络化、便于操作和管理、系统成本低廉、能够自动报警并且自动收集到相关的信息。现有的监测系统多数通过有线方式进行数据传输,成本普遍比较高,通常高达几万元甚至几十万元,且维护困难,扩展性差。
ZigBee 技术(也称之为802.15.4 标准)是一种近距离、低复杂度、低功耗、低数据速率、低成本、高容量的无线传感网络技术,主要适合于承载数据流量较小的业务。相对于现有的各种无线通信技术,ZigBee技术是最低功耗和成本的技术。而与ZigBee 技术相反,WiFi(Wireless Fidelity, 也称之为802.11 标准)是一种远距离、复杂度较高、高功耗、高数据速率(达54Mbps)、高成本的无线网络技术。目前在无线局域网中得到了较为广泛的应用,十分便于接入Internet.
可见基于ZigBee 技术的无线传感器网络具有可快速部署、隐蔽性强、成本低、无人值守等优点,十分适合于楼宇监测的应用。但是,由于Zig-Bee 技术是一种低数据速率的无线传输技术,它一般传输的数据量较小,而在楼宇监测系统中,除了监测是否有人员进入楼宇和重要场所之外,还需要采集和传输数据量较大的图像、声音等信息。这对于ZigBee 技术是个难点,很难完成,但是对于WiFi 则易如反掌。因此,为了满足楼宇监测系统的具体需要,我们可以将ZigBee 技术和WiFi 技术相结合,构建一个技术ZigBee 和WiFi 相结合的楼宇监测系统。利用ZigBee 技术组建无线传感器监测网络,监测和报警人员进入情况,传输小数据量的监测活动信息; 利用WiFi 技术组建无线监测局域网络,根据无线传感器监测网络监测的情况采集相关的图像或声音信息,传输大数据量的监测活动信息。
1 监测系统体系结构
根据上述对楼宇监测系统的要求以及ZigBee技术和WiFi 技术的特点分析,提出了一种基于ZigBee 技术和WiFi 技术相结合的楼宇监测系统,其体系结构如图1 所示。楼宇某层的网络布局如图2 所示,其中O(0, 0)表示坐标原点。
图1 楼宇监测体系结构
图2 楼宇某层网络布局图
本系统由4个部分组成:①基于ZigBee 技术的无线传感器网络子系统;②基于WiFi 技术的机器人子系统;③基于WiFi 技术的摄像监视子系统; ④监控中心子系统。
其中,基于ZigBee 技术的无线传感器网络子系统由若干个红外传感检测器(IR)、音频传感检测器、汇集节点Mo te 和网关T mo te 组成。IR 被安装到楼宇进出口和重要场所,每临近的5 个检测器汇集到一个汇集节点Mote.汇集节点采用由美国克尔斯博科技(CrossBow )公司开发和生产的无线传感设备Mote, 该节点由处理器和RF 芯片构成。
[#page#]
该子系统主要负责监视人员进入楼宇和重要场所的活动情况,当有人员进入IR 的监测范围时,IR便将监测数据发送给与它相连接的Mo te, 然后通过网关T mote 上报给监控子系统。在监控子系统中可以将这些监测数据存入数据库,同时对一些重要场所设置告警规则,当规测满足时,触发告警。
图2 楼宇某层网络布局图基于WiFi 技术的机器人子系统由若干个机器人和无线网络接入节点(无线路由器)组成。该子系统主要负责对重要场所的侵入活动进行跟踪。当监控中心子系统触发告警后,通过WiFi 通信技术给机器人发送命令,指挥机器人到指定的位置进行跟踪,采集相关的图像和音频信息,并将这些信息反馈到监控中心显示/ 播放和存档。本系统中的机器人采用加拿大Dr. Ro bo t 公司设计和开发的智能无线机器人X80 系列WiRobot (该机器人配备有超声波传感器3 个、红外距离传感器7 个、人体传感监测器2 个、摄像头1 个、音频播放器1 个)。
无线网络接入节点采用D-
基于WiFi 技术的摄像监视子系统由若干个Web 照相机和无线网络接入节点(无线路由器)组成。Web 照相机被安装到楼宇进出口和重要场所,能够对监视范围内的活动情况进行拍照,并将照片通过无线网络接入节点发送到监控中心进行显示和存档。本系统中的Web 照相机采用D-
监控中心子系统由服务器、PC、笔记本电脑等组成。该子系统主要负责对整个监测系统进行调度、控制、数据处理和存储。监控中心子系统中的设备可以通过有线,也可以通过WiFi 无线接入网络。
2 关键技术
基于ZigBee和WiFi相结合的楼宇监测系统中涉及到的关键技术主要有传感数据的采集、传感器节点能量的节省、坐标系统的建立以及机器人的控制。
2. 1 传感数据的采集
传感数据采集是本系统中最为基础的功能,是系统处理的数据来源和控制基础。本系统中采用的汇集传感器节点是由克尔斯博科技(CrossBow )公司开发和生产的无线传感设备Mo te, 该节点是在TinyOS 支持之下进行数据采集和通信工作。TinyOS是美国加州大学伯克利分校专门针对传感器网络特点而设计的操作系统。TinyOS 使用高效的基于事件的执行方式,包含经过特殊设计的组建模型,成为高效率的模块化和易于构造的组件型应用软件。在TinyOS 中,通过nesC 语言表达组件以及组件之间的事件/ 命令接口。
本系统中的传感数据的采集和传输也是在TinyOS 基础之上进行设计和开发的。利用nesC应用程序框架和各种组件开发了数据采集和数据传输功能模块,并将采集的数据在监控中心实时显示和入库存储。为了便于数据的采集和识别,在监控中心的服务器中预先给每个传感器IR 分配一个惟一的标识(ID), 通过该ID 指示传感器的位置。如图2 所示的传感器布局中,共布局了45 个IR 传感器,根据每临近的5 个IR 汇集为的原则,分别分配ID 号为11, 12, 13, 14, 15, 21, 22, ,,,91, 92, 93, 94, 95. 为了尽量节省传感器的能量,传感器IR 采用休眠工作机制,即当没有数据需要发送时,传感器IR 处于休眠状态,当需要发送数据时,IR 被唤醒并传送数据。IR 检测和传送数据采用基于事件驱动方式,传感器IR 检测到人员活动时,将它的ID 通过汇集节点Mote 和网关T mo te传送到监控中心的数据采集模块。数据采集模块接收到该ID 后,提取当前的系统时间,然后将ID 和当前的系统时间实时显示并存入数据库。
在一个楼宇中可能有一些重要区域(或称之为禁区), 当检测到某个禁区出现人员活动时,检测中心应当自动发出告警信息。为此,首先需要在该禁区安装若干个传感器IR, 如图2 所示禁区316 中的5 个IR. 然后在监控中心的服务器中预先将该禁区与该禁区中安装的所有传感器IR 的ID 进行关联,并设置告警条件。当处于该禁区所有IR 中的任何一个检测到人员活动时,立即将该ID 以及当前的系统时间实时显示并存入数据库,同时通过声音、颜色发布告警。
2. 2 基于能量均衡的分簇多跳路由
当楼宇中多层楼道的传感器节点组成一个规模较大的传感器网络时,传感数据往往需要经过多个中间节点(簇头)的转发才能到达网关,再通过网关发送到监控中心。由于传感器中间节点的能量有限, 尽量降低传感器中间节点的能量消耗。提高网络的生存周期是无线传感器网络必须重点考虑和解决的问题。 将传感器网络的能量消耗分为有用能耗和无用能耗。有用能耗包括传数据输/ 接收、数据处理、数据查询等; 无用能耗主要有空闲侦听、数据重传、额外开销以及产生和处理控制包。高效的路由算法能够较好的降低数据传输/接收能量消耗。
系统一个方面通过休眠机制, 使传感器节点在无数据传输时处于休眠来降低节点的能量消耗。
同时由于充当簇头节点的能量消耗远远高于其他的节点,为了提高整个网络的整体生存期,提出了一种基于能量均衡的分簇多跳路由算法。算法的基本思想是将若干个节点划分为一个簇,定时评估簇内各个节点的剩余能量。根据能量评估结果,使剩余能量最多的节点充当簇头,即定时动态产生簇头,使簇内各个节点轮值充当簇头,从而避免长期让某个节点充当簇头将能量耗尽后无法工作的现象发生。该算法相对于其他的相关算法具有简单、易于实现、高效的特点。
[#page#]
2. 3 坐标系统构建
本系统需要建立两个坐标系统,一个是传感器布局实际空间坐标系统,该坐标系统主要用于控制机器人的移动以及指示告警位置。另一个坐标系统是屏幕图形显示坐标系统,主要用于屏幕以图形方式显示传感器布局和告警点。
在传感器布局实际空间坐标系统中需要标识的对象主要包括三个方面: 传感器的位置、重要场所的位置以及特殊标识物的位置。
如前所述,由于预先将每个传感器编制了惟一的ID, 于是可以根据坐标原点O(0, 0)预先测量确定传感器IR 的坐标位置,然后建立传感器ID 与传感器位置信息的配置表。因此,当某个传感器报警时,利用该传感器的ID 通过查表可以确定报警点的位置。
重要场所(禁区)的位置信息原则上可以通过安装在该场所中传感器的ID 来指示,但是由于需要控制机器人对该场所进行跟踪监视,实际上是对某区域范围中的可疑人员进行跟踪监视。因此严格的说需要的是该场所的位置信息(确切的说是进入该场所入口的位置信息), 而不是场所中传感器的位置信息。所以,可以将一些重要场所的位置信息预先在坐标系统中标出,并且建立场所中所有传感器与该场所入口的位置信息对应表。当该场所中任何一个传感器报警时,通过查找对应表,给出该场所入口的位置信息。如图2 所示,当确定坐标原点O(0, 0)的位置后,通过测量,可以预先获得一些重要场所的坐标信息。如: 302A 的坐标信息是(-182, 697); 302 的是(- 939, 1302); 329 的是(2393,1606); 330 的是(2121, 1303 ); 316 的是(1545,1698). 坐标信息的单位是厘米,因此根据该坐标系统控制机器人的移动,精确度可以达到1 厘米。
特殊标识物是用于控制机器人的一些辅助性标识。由于WiRobot X80 自身没有位置定位装置,但是在控制机器人移动的过程中,需要及时掌握机器人的当前位置,因此通过坐标系统和特殊标识物来解决这个问题。如图2 所示墙壁1 和墙壁2 可用作特殊标识物,当控制机器人进入320, 330, 316 等房间时,需要利用墙壁1 作为标识,指示控制机器人转向。当控制机器人进入329 房间时,需要利用墙壁1 和墙壁2 作为标识。根据图2 中的位置,墙壁1 和墙壁2 的位置信息是: 墙壁1 (* * * ,1667). 由于利用墙壁1 控制机器人的转动,只是关心它与原点的Y 值,而不关心它的X 值。墙壁2(2363, * * * ), 同理,只是关心它与原点的X 值,而不关心它的Y 值。
例如,当需要控制机器人进入316 房间,程序的控制规程是根据316 的坐标信息(1545, 1698)驱动机器人从原点O(0, 0)出发,一直前行,直至到达墙壁1(通过机器人的红外传感可以检测到), 然后控制机器人90b右转,当X 值达到1545 时,控制机器人90b左转进入316 房间。
系统以图形界面方式显示传感器布局、机器人的实时移动路线以及显示告警点,因此还需要建立一个图形界面坐标系统。为了保持显示图形能够与实际传感器布局以及告警点一致,与机器人的移动同步,需要将传感器布局实际空间坐标系统与图形界面坐标系统映射。具体方法是当进行图形显示时,将实际空间坐标系统中的坐标值映射为图形界面中的坐标值,按照图形界面中的坐标值进行画图显示。当图形被放大/ 缩小时,按照图形放大/ 缩小的比例因子重新计算被映射的坐标值。为了保证系统的灵活性,我们开发了坐标系统映射配置功能,用户可以预先输入实际空间坐标系统中的传感器、重要场所、特殊标识物以及原点等的坐标信息。系统能够将这些坐标信息直接映射为图形界面中的坐标值。当需要新增加禁区、特殊标识物、新增或移动传感器节点时,只需要重新配置这些点的坐标信息即可,而不需要修改系统软件部分。
2. 4 机器人的控制
基于WiFi 技术的机器人子系统主要负责对重要场所的侵入活动进行跟踪。当监控中心子系统触发告警后,通过WiFi 通信技术给机器人发送命令,指挥机器人到指定的位置进行跟踪,采集相关的图像和音频信息,并将这些信息反馈到监控中心显示/ 播放和存档。
1)机器人的驱动。
机器人按照给定的速度前进(假定速度为Vcm/ s), 前进时间t 秒,可以计算出它移动的距离d= v* t . 这样在实际空间坐标系统中我们可以确定机器人的当前位置,从而可以控制机器人顺利到达目的地。但是实际情况较为复杂,在机器人前进的过程中,机器人可能不是完全走直线,也可能走成斜线,如图3 所示。这样根据速度和时间计算出来的d 值与坐标系统中的实际Y 值之间存在偏差,而且偏差值可能较大。为了解决该问题,我们可以根据d 和Y 计算得到偏移的x 值,然后对坐标X 值进行矫正。实际上,通过反复试验发现,如果当机器人在原点时的前进方向刚好垂直于特殊标识物墙壁1, 偏移值x 很小(偏移量< 3% ), 可以忽略。当然,在原点时的让机器人的前进方向刚好垂直于特殊标识物墙壁1 是很困难的。
图3 机器人可能行进的实际路线
[#page#]
如上述控制机器人进入316 房间的例子中,假定当机器人在原点时的前进方向刚好垂直于特殊标识物墙壁1. 如果考虑到实际可能存在的偏差,则程序的控制规程是,根据316 的坐标信息(1545, 1698)驱动机器人从原点O(0, 0)出发,同时开始计时,一直前行,直至到达墙壁1(通过机器人的红外传感可以检测到). 此时根据机器人实际行进的距离d 和已知的墙壁1 距离原点的垂直距离Y 值(1667), 计算出偏移值x . 同时比较机器人前方左右端两个红外传感检测值,可以判断出是偏移正向的x , 还是偏移负向的x . 将机器人当前的位置设定为(x , 1667), 然后控制机器人90b右转,当X 值达到1545 时,控制机器人90b左转,继续前行31 cm(1698~ 1667)进入316 房间。
2)障碍物的避让。
控制机器人前行的过程中可能遇到障碍物。因此,需要控制机器人自动检测和自动避让障碍物。
障碍物的自动检测比较简单,利用机器人上配置的超声波传感器或红外传感器以及WiRobotSDK 提供的API 可以实现。本软件系统采用红外传感器以及WiRobo tSDK 提供的API 来实现,通过获取机器人前端、左、右各个红外传感器的检测值,可以分别判断出在前方、左、右是否存在障碍物。
控制机器人避让障碍物则较为复杂,主要是需要重新计算坐标值。设计和实现的机器人躲避障碍物控制流程如图4 所示。
图4 机器人躲避障碍物流程图
当机器人在前行的过程中检测到前方出现障碍物时,停止机器人的前进,继续检测左、右方是否也存在障碍物。①如果左方存在有障碍物(说明只能向右方躲避),则暂存当前的行进距离值y , 并且控制机器人向右转动90b继续前进,直到机器人的左方红外传感器检测不存在障碍物为止(表明已经绕过障碍物),假定向右行进了d 厘米,则将原来的目标点的坐标值X 修正为X - d, 然后控制机器人向左转动90b继续前进,同时在原来的y 值基础上继续记录行进距离值。②如果右方存在有障碍物(说明只能向左方躲避),则暂存当前的行进距离值y , 并且控制机器人向左转动90b继续前进,直到机器人的右方红外传感器检测不存在障碍物为止(表明已经绕过障碍物),假定向左行进了d 厘米,则将原来的目标点的坐标值X 修正为X + d, 然后控制机器人向右转动90b继续前进,同时在原来的y值基础上继续记录行进距离值。③如果左、右方均不存在障碍物(说明向左、右方均能躲避), 系统默认控制向右方躲避,其控制方法与①相同。
3 结论
由于ZigBee 和WiFi 各自存在较为明显的特点,许多特性是相互补充的,因此将二者相结合具有很好的应用前景。本系统结合ZigBee 和WiFi 各自的优点,建立了一种楼宇监测无线网络系统。它能够自动监测楼宇中人员的活动情况,并根据基于ZigBee 无线传感器网络发出的告警指令,自动控制机器人到达告警位置进行跟踪。与传统的监测系统相比较,该系统具有低成本、无人值守的特点。该系统已经在科罗拉多矿业学院工程系主楼上得到实际应用。
该系统还可以应用于矿山、小区等地方,同时,也适用于环境监测(需要将红外距离传感检测器换成温度、湿度等传感检测器). 但是,该机器人目前只能每次从固定的地点(坐标原点)出发,经过预定的路线到达目标点,当然,如果配备GPS 模块,就很容易解决该问题。
暂无评论