张颖,杨臻
(上海海事大学 信息工程学院,上海 201306)
随着物联网的研究和无线传感网络技术迅速发展,ZigBee技术[1]作为一种新兴的低成本、低功耗、低速率短距离的无线传感网络技术,它是基于IEEE802.15.4[2]标准开发的无线协议。IEEE802.15.4负责物理层和MAC层,而ZigBee联盟负责制定网络层和应用层。利用ZigBee技术实现定位具有低成本、低功耗的优点,且信号传输不受视距的影响,被广泛的应用于环境监测、工业现场采集、智能家居和医疗护理等领域。
RFID (Radio Frequency Identification,射频识别)是利用射频信号通过空间融合(交变磁场或电磁场)实现无接触信息传递并通过所传递的信息到达自动识别目的的技术[3]。射频识别卡的优点就在于它的非接触性,因此它在完成识别工作时无须人工干预,适于实现自动化、可识别高速运动物体并可同时识别多个射频卡,操作快捷方便。RFID技术是一个崭新的技术应用领域,它不仅涵盖了射频技术,还包含了射频技术、密码学、通信原理和半导体集成电路技术,是一个多学科综合的新兴学科。因此,对RFID技术的认识和研究具有深远的理论意义。
目前实现室内定位主要有基于测距技术和非测距技术,基于测距的定位算法有AOA、TOA、TDOA、RSSI;基于非测距技术的定位算法主要有:DV-Hop定位算法、质心算法、凸规划定位算法等[4]。基于测距的定位机制定位精度相对较高,在低功率无线设备组成的高密度网中,由于各设备之间的同步无法实现,利用AOA、TDOA估计具体难以实现。尽管可以通过测量TOA来估计距离,但是多径和噪声,以及参考时钟的不精确性,都将使距离估计的效果变差;基于非测距的定位算法无需测量节点间的绝地信息和角度信息,是利用网络连通性计算节点的位置,但是定位精度低。而基于RSSI的距离估计,可以由传感器节点自身测量得到,不需要额外的硬件支持。与单纯利用连通信息的算法相比,RSSI增添了额外的有价值的信息。所以基于RSSI的测距是无线传感网络较常用的方法。本人通过基于RSSI的测距技术,采用RFID和ZigBee技术相融合的室内定位系统设计,有效的提高了室内的定位精度,以及实现了房间级的定位。
本系统的设计有5个部分组成,包括上位机、网关、基站、电子标签、参考节点。上位机的功能是监控和管理整个系统。定位系统的结构框图如图1所示。
图1 定位系统的结构图Fig.1 Structure diagram of positioning system
网关的功能是由协调器来充当,它在整个系统中起着至关重要的左右,首先它要响应上位机发出的命令,开启网络,等待其他类型的节点入网,其实还要接收各节点的上传的数据并传送给上位机软件处理。基站是由ZigBee模块和RFID Reader模块组成,它们之间通过RX/TX进行数据的传输,基站的功能是在定位过程中接收上位机发送过来的消息,以调制的方式形成射频信号,通过天线不断的向外发送射频信号;其中的ZigBee模块也可以作为参考节点的作用,能够将自身的坐标信息和RSSI值发送给盲节点。电子标签是由ZigBee模块和RFID Tag模块组成,它们直接是通过SPI接口连接起来的。其功能是接收基站发送过来的射频信号,经过解调和解码后,将数据通过SPI方式传送给ZigBee模块,ZigBee模块再通过无线的方式发送到网关。ZigBee模块还有另外一个作用,就是作为盲节点,可在参考节点包围的区域内任意移动。它与参考节点、网关构成一个定位系统。参考节点仅只有一个ZigBee模块组成,它是一类静止的、已知自身位置坐标信息的节点,其功能是将自身的RSSI值和位置坐标信息发送给盲节点。
网关的设计包括2个部分,即无线通信模块和辅助功能模块。其中无线通信模块是这个网关的核心部分,负责跟基站、电子标签以及参考节点等之间进行通信。辅助功能模块是完成定位串口通信、状态指示、LCD的显示、供电等辅助功能。网关的结构框图如图2所示。
图2 网关的结构图Fig.2 Structure diagram of gateway
基站的设计包括2个部分,RFID Reader模块和ZigBee模块。其中RFID Reader模块主要是由PIC16F887的微控制器和匹配电路组成。RFID Reader模块和ZigBee模块两者之间通过RX/TX进行数据传输。基站的结构框图如图3所示。
图3 基站的结构图Fig.3 Structure diagram of base station
上位机发送命令,网关将激励器ID等信息无线发送给基站中的ZigBee模块,ZigBee模块通过RX/TX将激励器ID等信息发送给微控制芯片PIC16F887处理,微控制芯片通过输出PWM信号,产生频率125 kHz的载波,并将激励器ID等信息以OOK调制方式调制在125 kHz载波上形成激励信号,其中的数据编码是通过曼彻斯特编码,然后经过驱动器TC4422的功率放大作用,通过天线不断的向外发送125 kHz的激励信号。当有RFID Tag模块接近该区域时即被唤醒,微控制器通过控制片选信号CS,将数据通过曼彻斯特码的形式发送给RFID Tag模块。ZigBee模块既可以与RFID Reader进行数据传输,还可以作为参考节点,将自己的坐标信息和RSSI值发送给电子标签中的盲节点。
电子标签的设计包括RFID Tag模块和ZigBee模块。其中RFID Tag模块主要是由AS3933前端模拟芯片和匹配电路组成,ZigBee模块是由射频芯片CC2530和匹配电路组成。它们之间通过SPI接口进行数据传输。CC2530通过SPI接口配置AS3933,详细的引脚连接如图4所示。
图4 RFID标签模块与ZigBee模块的引脚连接图Fig.4 Connection diagram of pins between tag module and ZigBee module
RFID Tag模块接收基站发送过来的125 k的激励信号,再通过AS3933芯片对激励信号解调,并对曼彻斯特码进行解码后,通过配置SPI总线的相关寄存器,当WAKE的电平为“1”时,说明有数据到来,ZigBee模块中的CC2530将数据从AS3933中的DATA中读出,并打包后,通过天线将数据包无线发送给网关,最后送到上位机机进行处理,上位机根据激励器ID和电子标签ID判断,可以知道电子标签在某个激励器所在位置,ZigBee模块既与RFID Tag模块进行数据传输,还可以作为盲节点,不断的向参考节点发送定位请求,从而,获取参考节点的坐标信息和RSSI值,再通过调用定位算法,计算出自己的坐标信息和RSSI值,无线发送给网关,最后将数据发送给上位机,根据坐标信息可以知道电子标签的位置。通过RFID Tag模块与ZigBee模块相互配合,能够实现更精确的区域定位和房间级定位。
在该设计中,有单独的参考节点模块以及基站上的ZigBee模块也可以作为参考节点。参考节点的设计包括2个部分,分别为无线通信模块和辅助功能模块。参考节点中的无线通信模块接收网关发送过来的参数配置;收集盲节点通信时的RSSI值,并计算其平均值;能够发送自身的坐标信息和RSSI的平均值。辅助功能模块包含3个部分,分别是指示模块、按键模块、供电模块。指示模块是完成定位状态的指示;按键模块是加入和绑定网络;供电模块是负责对整个参考节点的供电。参考节点的结构框图如图5所示。
图5 参考节点的结构图Fig.5 Structure diagram of reference nodes
定位系统的基本思想就是系统对网络内的参考节点和盲节点节点进行参数配置之后,盲节点等待网关发送定位请求,当盲节点接收到网关发送来的定位请求后,就开始发送一系列的RSSI Blast信息进行广播,参考节点接收到盲节点发送过来的RSSI Blast数据,并保存其RSSI值。等待盲节点已配置完成规定的时间间隔后,盲节点向参考节点发送XYRSSI请求广播,每个接收到RSSI Blast信息广播的参考节点将计算接收到的RSSI值,并根据该请求的RSSI值和之前的RSSI Blast的RSSI值计算出平均值,发送XY-RSSI响应给盲节点,盲节点接收XY-RSSI响应后,参考节点将向盲节点发送自己的坐标信息和RSSI值。盲节点收到这些参数后,根据定位算法计算出自己的坐标信息,最后将计算得到的坐标信息发送给网关,网关再通过串口将数据发送到PC机上。定位系统的定位时序[8]如图6所示。
图6 定位系统的定位时序Fig.6 Time sequence of localization in positioning system
定位软件设计后,搭建硬件平台,采用810的实验室房间进行定位。红色的圆形点代表固定的参考节点位置,黄色正方形点代表电子标签的实际位置,粉色的长方形代表放置在基站,蓝色色三角形代表使用上位机监控软件监测到的位置。我们在房间内放置四个参考节点,坐标分别为(0,0)、(0,5)、(5,0)和(5,5),围成一个 55 的区域,并记录电子标签的坐标位置;定位图像如图7(a)所示。保持电子标签点不动,再增加一个参考节点,再次记录坐标;定位图像如图7(b)所示。继续保持电子标签不动,在房间的门口增加一个基站。最后记录其坐标。定位图像如图7(c)所示。
图7 图像显示的定位实验Fig.7 Positioning experiments indicated by pictures
在没有增加基站的条件下,通过观察图 7(a)、7(b)的定位图像,可以发现随着参考节点的增加,上位机监测到的测量值越来越接近实际值,所以在一定的范围内,随着参考节点的增加会提高定位的精度。在相同参考节点下,在房间的门口增加一个基站,观察图7(c)的定位图像,发现上位机监测到的测量值要比图7(b)中监测到的测量值更接近于实际值。由于基站上既有RFID Reader,还有参考节点。所以不仅能提高定位精度,而且还能确定电子标签的具体位置。这说明通过RFID与ZigBee两者很好的结合,可以很好的提高房间区域的定位精度,而且实现了房间级的定位。
文中主要从硬件设计介绍了一种基于RFID和ZigBee技术相融合的室内定位系统的设计方案,对定位系统的硬件各个功能模块进行详细的介绍,并对定位系统软件流程进行了分析。通过合理布设参考节点和基站,在室内环境中进行了实测,在定位模块通信范围内,通过增加参考节点的数量以及增加基站等有效方式,可以有效的提高定位的精度。通过实验证明,通过RFID和ZigBee技术相融合的设计方案,不仅可以达到1m之内的定位精度,还实现了室内房间级的定位。该方案的硬件设备要求低、定位精度高的特点,很好地满足了市场需求。采用基于ZigBee和RFID的室内定位系统的设计方案可以很好的应用在智能楼宇、地下车库、医疗护理等方面。
[1]盛利.基于RFID和ZigBee技术煤矿井下人员跟踪定位系统的研究[J].信息技术,2009(11):31-33.SHENG Li.Research of tracing and positioning system for workers in coal mine based on RFID and ZigBbee technology[J].Information Technology,2009(11):31-33.
[2]IEEE 802 Std 802.15.4.Wireless Medium Access Control(MAC) and Physical Layer (PHY).Specifications for Low Rate Wireless Personal Area Network[EB/OL].(2003).http://standards.ieee.org.
[3]吴伶,沈岳,傅自钢.基于射频识别和无线传感器网络技术的教学互动系统设计 [J].湖南农业大学学报,2010,31(1):106-108.WU Ling,SHEN Yue,FU Zi-gang.The design of a teaching interaction system based on Radio frequency identification and wireless sensor network[J].Journal of Hunan Agriculture University,2010,31(1):106-108.
[4]朱明辉,张会清.基于RSSI的室内测距模型的研究[J].传感器与微系统,2010,29(8):19-22.ZHU Ming-hui,ZHANG Hui-qing.Research on model of indoor distance measurement based on RSSI[J].Transducer and Microsystem Technologies,2010,29(8):19-22.
[5]陈维克,李文锋,首珩,等.基于RSSI的无线传感器网络加权质心定位算法[J].武汉理工大学学报,2006,30(2):265-268.CHEN Wei-ke,LI Wen-feng,SHOU Heng,et al.Weighted centroid localization algorithm based on RSSI for wireless sensor networks[J].Journal of Wuhan University of Technology,2006,30(2):265-268.
[6]李新.基于CC2530的ZigBee网络节点设计[J].可编程控制器与工厂自动化,2011(3):22-25.LI Xin.Design of the nodes of ZigBee networks based on CC2530[J].PLC&Factory Automation,2011(3):22-25.
[7]李文仲,段朝玉.ZigBee2007/PRO协议栈实验与实践[M].北京:北京航空航天大学出社,2009.
[8]吕源,李军.基于CC2431的室内定位系统[J].现代电子技术,2009(2):95-97.LV Yuan,LI Jun.Indoor location system based on CC2431[J].Modern Electronic Technique,2009(2):95-97.
[9]王洋,王忠.基于CC2431的无线定位系统 [J].通信技术,2009,42(9):190-192.WANGYang,WANGZhong.Wirelesslocation systembased on CC2431[J].Communications Technology,2009,42(9):190-192.
[10]王静,张会清.基于ZigBee网络无线定位技术的研究与实现[J].传感器与微系统,2010,29(2):13-15.WANG Jing,ZHANG Hui-qing.Research and implement of wireless networks location technology based on ZigBee[J].Transducer and Microsystem Technologies,2010,29(2):13-15.
[11]薛锋,刘忠,曲毅.无线传感器网络中的分布式目标被动跟踪算法[J].系统仿真学报,2007,19(15):3499-3503.XUE Feng,LIU Zhong,QU Yi.Decentralized algorithm for target passive tracking in wireless sensor networks[J].Journal of System Simulation,2007,19(15):3499-3503.