技术频道

ZigBee网络实现GPS功能

ZigBee网络实现GPS功能
成都无线龙通讯的C51RF-CC2431无线定位开发系统具有ZigBee网络实现GPS功能,同时提供各种ZigBee(CC2430/CC2431)开发工具。
定位引擎提供ZigBee网络无线装置高定位精确度,且耗电低,还能减少额外通讯负担,并能利用现有ZigBee基础设施计算无线装置在网络里的位置,再由中央资料点搜集信息以供追踪使用,或由使用者启动此功能引导其在建筑物内移动。
想像到一个商场的卖场,想购买一样称心的商品,该从那里着手?其实很简单,如果商场上布置了定位系统,只要拿出行动电话或PDA搜寻商品区,行动装置就会显示卖场地图,并且告诉消费者往那个方向走,当消费者穿过卖场时,还会显示可能感到兴趣的商品。


德州仪器(TI)ZigBee无线射频元件CC2431所含的定位引擎(Location Engine)就像是室内全球卫星定位系统(GPS),利用ZigBee网络的无线射频基础设施计算物品或人员的位置。相较于GPS系统,把定位引擎和微控制器(MCU)全部整合至单晶片射频收发器,不仅耗电量远少于GPS硬体,成本更不到其十分之一,且无论在室内或室外,只要有ZigBee网络的地方就能使用。常见应用包括从屋内不同房间移动时,遥控开灯或关灯;装运码头的货柜追踪,以及从仓库追踪特定货物。定位引擎还能简化无线网络设定,能在新设备加入网路时找出其所在位置。


多数无线传感器网络都需一套方法判断网络节点的位置,所以使用者必须在安装时决定应该互相交换的资料,以及应与中央资料搜集点互传资料的节点。市场上许多解决方案透过软体计算网络节点位置,这类系统的节点读取位置计算所需的参数,然后把信息送到中央资料搜集点,算出位置后再传回给节点,这个过程的运算量很庞大,须用到个人电脑或高效能微控制器。
这种计算位置的方式仅对小型网络和少数节点有用,因为执行计算所需的网络流量会随着节点数目的指数增加。高流量负载和频宽不足让这套方法只能用于电池供电的网络,可利用分布式定位计算解决这个问题,可先让网络节点找出多个已知位置且距离最近的参考节点,然后根据参考节点传来的信息计算本身的位置,因此,网络流量将只出现在定位(移动)节点(Blind Node)连接范围内的节点。另外,由于网络流量只会随定位(移动)节点的数目等比例增加,所以同一个网络可有很多个定位(移动)节点。本文介绍的结果是以ZigBee网络测量值为基础,但也适用于较简单的IEEE 802.15.4网路。


剖析定位引擎技术
定位引擎会根据无线网络里,相邻无线装置传来的接收信号强度指标(RSSI)计算自己的位置。随着环境不同,两台无线装置之间的RSSI信号会有很大差异,举例来说,若有人在两台无线装置的中间走过,接收信号就可能减少30dBm,为弥补这么大的差异,定位引擎增加多台无线装置传来的RSSI值进行计算,以便得到精确的位置,这种做法的逻辑是利用多个节点求取平均值,即可将RSSI的变异量消除。
在无线射频网络里,已知位置的定位引擎无线装置称为参考节点(Reference Nodes),须要计算其位置的节点称为定位(移动)节点。参考节点与定位(移动)节点之间须要传送的信息就是参考节点的X和Y座标以及RSSI值。定位引擎会根据参考节点传来的讯息测量RSSI值,配合所收到的X和Y座标计算其位置。


有些定位引擎应用须安装多个参考节点,做为基础设施架构的一部分。 ZigBee技术提供家庭、办公室和工业应用无线遥控能力,可广泛用于家庭和工业自动化应用,且会有更多ZigBee装置安装到建筑物的基础设施,使ZigBee技术更普及化。
典型的办公室环境可能会利用ZigBee应用装置控制每间办公室和会客室的空调设备及含有温度感测器的交流电源管线,每个房间还可能有ZigBee控制的电灯开关及设施,这些不同的设备很容易就能当做定位引擎的参考节点使用,一般而言,ZigBee无线装置只需很少程式,就能担任ZigBee协定堆叠之上的参考节点。定位引擎能搜集3至16个参考节点的资料(实际参与计算的最多8个参考节点信息),再利用这些资料计算位置,其若收到超过8个节点的资料,会根据这些参考节点的位置排序,然后使用前面8个节点的RSSI值。


扩大定位引擎连线距离
定位引擎的连线范围为64米×64米(实际有效距离为63.75),多数应用却须要涵盖更大的范围。有两种方法能扩大这个距离,其一为增加参考节点的输出功率,同时降低定位引擎的计算解析度,第二种为将多个参考节点放在较大的区域;执行定位计算时,先找出信号最强的参考节点,然后计算其与该节点的相对位置。
第二种方法的效果较好,因不须降低精确度,就能让定位引擎涵盖很大的区域。网络的定位(移动)节点会送出一个广播讯息,然后搜集所有相邻参考节点传回的资料,并找出信号最强的参考节点及其X和Y座标。接着,定位引擎会计算其他节点相对于该参考节点的座标,处理完这些资料后,只要再加上最近参考节点的位移值,即可得到其在这个庞大网络里的实际位置。


天花板和地板无论在室内或室外环境都会吸收信号,因此选择参考节点位置时必须将这些因素列入考虑,才能提供最远的连线距离。最理想的情形是让所有节点的高度相同,并且远离地面、天花板和墙壁,但这在实际网络布建却很难做到。此时,不妨将参考节点固定在天花板或略低于天花板的位置,并将天线倒置以便射频信号向外和向下传送,至于定位(移动)节点,无论是手提式或固定在某些设备,其高度都应位于一般人站立时的头部和腰部之间。这种设定方式将天花板和地板吸收的信号减到最少,同时将人员和其他物体在环境中不断移动所造成的干扰降低最低。


为了计算室内效能,此处以一个包含八个参考节点的办公室网络为例。这些参考节点分布在各角落和其他有空间的地方,如办公室家具和其他设施的表面,高度则介于腰部和肩膀之间,把这8个节点编号为A~H,在ZigBee(CC2431)定位系统中最高分辨率为0.25米。
位置估计值是由6个预先选择的节点负责搜集,每个定位(移动)节点还会将每次定位计算所得到的20个读数平均,其结果如表1所示。


搜集完4个参考节点的资料后,再把另外4个参考节点加入系统,然后同样计算这4个定位(移动)节点的位置估计值,计算新加入的参考节点会对位置估计值产生多大影响,使用8个参考节点的测量结果如表2所示。所有数据都以米为单位,其中编号2~4所有的数据皆在网格范围内。

从表1和表2可看出,只要节点位置在网络周边范围内,定位精确度就可大幅提高,除此之外,定位精确度也会随着参考节点的数目增多而提高。如把另外4个参考节点加入这项实验后,不但4个定位(移动)节点的定位更精确,标准差也比较小,亦即数据更一致。


精确度受RSSI值所处环境影响
定位引擎是利用周围参考节点传来的RSSI测量值计算定位(移动)节点的位置,但RSSI却会随着许多因素改变,如天线设计、周围环境和其他邻近的射频信号源。定位引擎会把几个节点传来的位置资料平均,因此增加节点数目可减少对个别节点的依赖程度,进而提高整体精确度。
参考节点的位置也会影响定位精确度,这主要是因为参考节点的位置很接近地板或天花板等表面时,其射频信号会被这些表面吸收。此时不妨改用等向天线,才能将信号延着所有方向均匀传送出去。


文章版权归西部工控xbgk所有,未经许可不得转载。