现如今,随身物品频频丢失,造成财产损失,对人们日常生活造成严重的影响。当物品超出相对安全的范围时,若使用者及时得到提醒,就会避免不必要的损失。因此,对物品是否在安全范围的监测,即防盗监测系统的研究具有较高的现实意义。
有线方式通讯可靠、抗干扰能力强、器件成本低,适用于新建且可以在墙壁内预留连接线的建筑物,但是其具有机动性差、不便适应用户及产品的多变要求,对预留连接线的维护及更换难度高、费用大的缺点。无线方式可避免探头与主机之间的连接线,降低了现场施工、维护成本。它具有灵活、施工简易、布线成本低等优点。
以短程无线通信为基础,通过实时监控各无线模块来判断物品是否处于相对安全范围内,若物品超出范围时,则接收终端发出震动警报,提醒拥有者了解该物品目前处于“危险”状态。
随着无线通信技术的发展,出现了红外、蓝牙、射频识别、ZigBee等相关技术,ZigBee技术具有低功耗、低成本、高通信率等优点[1],使得 ZigBee技术成为当今无线通信技术的研究热点。
本文结合ZigBee网络技术、嵌入式技术、开发了一套无线定位系统。本系统采用无线传输和IEEE802.15.4短程无线通信协议,整个系统采用模块化,设计成本较低,可实现一对一或者一对多个节点的无线设备的通信与定位。无线定位系统对于提高物品的安全监测起到了重要的作用。
1 无线防盗系统设计
本文设计的无线防盗系统包括ZigBee终端节点、ZigBee网络协调器(即报警主机)与PC三个部分组成,如图1所示。终端节点由无线发射器CC2530模块、3.7V锂电源组成。报警主机由无线收发CC2530模块、数据处理模块组成。
如图1所示,首先,总机向终端发送请求定位信息,然后,终端节点发射自身的RSSI值,最后,网络协调器根据接收的RSSI值计算该节点的距离。网络协调器通过串口将终端节点的网络ID号,RSSI值和定位距离显示在PC机上。
1.1 ZigBee定位系统结构
ZigBee是基于IEEE标准的802.15.4无线标准研制开发的[2]。本系统采用ZigBee树形结构,利用ZigBee的定位系统包括网关节点、参考节点和定位节点[3],如图2所示。
网关节点即无线定位系统的网络协调器,由CC2530模块和HFZ-SmartRF07EB组成,通过串行口RS232与PC相连。首先它接收监控软件提供的各个参考节点和定位节点的配置数据,并发送给相应的节点;其次,接收各个节点反馈的有效数据,并将其传输给监管软件。
参考节点是无线定位系统中已知坐标的静态节点,是ZigBee网络中的路由器,由3.7V锂电池与CC2530模块组成。
定位节点是无线定位系统中的移动节点,由CC2530与电源模块组成,它是ZigBee网络的路由器。通过处理参考节点发送的信息包来计算自身的RSSI值。
1.1.1 RSSI测距原理
文献[4]提出RSSI和无线信号传输距离之间有确定的关系。RSSI定位技术是根据信号强度在传输过程中的衰减程度来估算节点间的距离[5]。普遍采用的理论模型是Shadowing模型[6],由式(1)给出:
(1)
式(1)中:d-接收端与发射端之间的距离(m);
d0-参考距离,一般取1m;
pr(d0)-参考距离d0点对应的接收信号功率(dBm);
n-路径衰减指数,与环境有关的值,一般取2~4;
XdBm-平均值为0的高斯随机变量,反应当距离一定时,接收信号功率的变化;
在本系统实际设计中,采用简化的Shadowing模型,由式(1)可得出RSSI测距公式(2):
式(2)中A为信号传输1m远时接收信号的功率(单位dBm),d0=1m接收端与发送端之间的距离(单位m)。通过公式(2)算出发射节点与接收节点之间的距离d。
RSSI测距具有重复性和互换性,在应用环境下,RSSI的变化有规律可循。这在无线测距调试过程中起到了关键的作用。
1.1.2 统计均值模型
利用RSSI测距时,有三种处理RSSI数据的校正模型,分别为:统计均值模型、基于固定节点间距离的校正模型和高斯模型。
统计均值模型是指未知节点采集一组RSSI值,然后求出这些数据的均值,由式(3)给出:
可以通过调整m值来平衡精确性和实时性。m很大时,可有效地解决定位数据的随机性,但提高了通信成本。
1.2 硬件设计
本系统选择ZigBee作为无线通信平台,利用TI公司的CC2530无线收发芯片完成固定节点与移动节点的无线通信及RSSI的收集。CC2530芯片内部集成了2.4GHz的ZigBee射频前端、模数转换器、低功耗的8051内核MCU,集成IEEE 802.15.4标准MAC收发器[7]。
接收主机为固定节点。物品上事先安装的为移动节点,移动节点的尺寸为5.8cm×5.8cm。固定节点从CC2530接收的MAC层读出芯片寄存器RSSI—VAL的值。通过收集移动节点RSSI值,设定输入参数A(通常取-35dBm)与n(通常取3.5),通过公式(1)(2)计算两节点间的距离。定位估计算法需要3~8个参考节点,计算节点位置耗时少于40ms。在无障碍环境下,测距范围为100m,定位偏差低于2.5m,从而完成定位测距功能。
1.3 软件设计
固定节点(接收主机)的位置信息由程序先写入CC2530模块,主机向移动节点(丢失物品)发送请求定位信息,移动节点收到定位请求后向主机回复一条消息,该消息中包含了计算距离所需的数据。基于ZigBee的CC2530定位系统的流程。
为了提高定位精度,对接收的定位信息包的数量规定至少3个。RSSI值是通过读取max_rx.c文件中的数组rxBuf的第1位,代码如下:RSSI=rxBuf[0]。
此时的信号强度值是补码形式,因此在读取之前需要对其进行补码转换,即temp=~(rspMsg[LOCATION_XY_RSSI_IDX]-1),最后向串口送出定位结果。
2 实验结果
本文设计了一种基于ZigBee的无线防盗系统,通过串行口助手调试结果包括My name即被分配的网络ID号(调试ID号每次都不一样)、RSSI值与race距离。如图4所示为本系统的定位测距结果75m。
上位机定位距离显示界面如图5所示,短地址为移动节点请求加入ZigBee网络后分配的ID号,通过接收的RSSI值计算得出定位距离。
实验表明,该系统实现了预期的功能,具有低功耗、低成本、高速率等特点。
在后续的工作中,可以改进RSSI的校正模型来提高定位精度和抗干扰能力。
参考文献:
[1]梁维斌.基于ZigBee的无线传感器网络技术研究[D].上海:上海大学,2007
[2]梁湖辉,张峰,等.基于ZigBee的变电站监测报警系统[J].电力系统保护与控制,2010,38(12):121-124
[3]张典.基于ZigBee/ARM技术的智能公交系统的研究与实现[D].青岛:青岛科技大学,2009
[4]张洁颖,王侠,等.基于RSSI和LQI的动态距离估计算法[J].电子测量技术,2007,30(2):142-145
[5]章坚武,张璐,应瑛,等.基于ZigBee的RSSI测距研究[J].传感技术学报,2009,22(2):285-288
[6]瞿雷,刘盛德,胡咸斌.ZigBee技术及应用[M].北京航空航天大学出版社.2007
[7]毛玉蓉.基于zigBee技术的无线传感器网络研究[J].化工自动化及仪表,2010,37(10):9l-94