引言
机场托运行李的丢失给旅客造成极大困扰和财产损失。传统的GPS定位无法满足航站楼的行李精确定位。为了解决以上问题,本文提出了一种基于ZigBee和GPRS技术的行李定位系统。
定位过程中,出发地和目的地航站楼都装有固定参考节点和网关节点。系统将ZigBee移动节点固定在行李上,将节点地址信息与旅客信息对应记录在计算机网络数据库中,当旅客到达目的地时,ZigBee移动节点随行李进入行李系统并加入新的无线网络进行定位,上位机根据网络数据库中的信息可以读取旅客的行李所在位置。
1 定位系统原理
ZigBee无线定位系统由参考节点、移动目标节点以及网关节点三种节点组成。基于ZigBee协议的各节点单元构建自组织无线定位网络。网关节点在初始时充当网络协调器,它负责初始化网络设置,选定信道和局域网的ID号并启动网络,在实际工作中网关节点也可以作为路由器传输网络数据。具有静态坐标的参考节点在网络中发挥了路由器和定位标尺作用。移动目标节点进入网络区域后与附近参考节点通信以获得节点坐标,进而利用自身的定位算法计算出本节点坐标位置,定位流程如图1所示。
图1 节点定位流程图
本系统对航站楼行李系统的托运行李进行定位,以实现对行李的实时跟踪。系统主要分为ZigBee定位、GPRS远程数据传输和上位机三大模块,如图2所示。ZigBee定位是整个系统的核心,由于机场行李运输是通过行李系统自动完成,利用行李经过路线比较单一的特点,在行李系统两侧位置固定安装ZigBee参考节点,装有ZigBee终端设备的行李进入ZigBee网络后通过获取周围参考节点坐标计算自身位置,并将信息发送至网关节点。GPRS模块与网关节点连接将定位数据远程通过Internet网络传输至上位机系统进行处理,实现数据的集中和显示。
图2 定位系统原理图
2 系统设计
2.1 ZigBee无线网络的搭建
CC2430/CC2431是由TI公司研发的支持ZigBee2006协议栈的SoC解决方案,它不仅能满足精确的定位要求,还具有低成本、低功耗、高可靠性的特点。CC2430芯片采用一颗工业级8位8051单片机、一个32/64/128 KB的可编程Flash芯片和一个8 KB的RAM,并整合了睡眠定时器、CSMA/CA处理器、掉电检测电路、看门狗定时器等模块[1]。
CC2431是在CC2430芯片上增加了定位跟踪引擎模块,该定位模块是由Motorola公司生产的基于IEEE800.15.4标准的无线定位引擎组成,可实现0.25 m的定位分辨率和3 m左右的定位精度[2]。CC2431内部结构如图3所示。由于参考节点只需为移动节点通过参考位置获取坐标和信号强度,所以选用CC2430芯片即可满足系统需求;而移动节点需要利用定位引擎获取自身的坐标位置,须使用CC2431芯片。
图3 CC2431内部结构图
2.2 RSSI测距与节点定位算法
在ZigeBee测距技术中,有基于接收信号强度(RSSI)、基于到达时间差(TOA)、基于不同波的到达时间差(TDOA)以及到达角度差(AOA)等[3]。在这些测距技术中,基于RSSI测距的方法不仅无需额外的硬件,而且容易实现,达到了精度要求不是特别高的行李定位系统的要求。
基于RSSI的测距技术是利用无线电信号随距离变化而规律性增减来测量节点之间的距离[4]。信号强度RSSI和节点间距离关系一般采用IEEE提供的简化公式表示:
式中,A为终端设备与发送设备单位距离接收的信号强度;n为无线组网的传播因子,表示现场环境中信号随距离增加而衰减的参数。
移动目标节点CC2431接到参考节点的二维坐标和RSSI信息后,利用式(1)推算出与相邻三个参考节点的距离,并利用芯片预先写入的算法得到位置坐标。位置算法采用极大似然估计法,设坐标为(x1,y1),(x2,y2),…,(xn,yn)的参考节点与移动目标节点的距离为d1,d2,…,dn,移动节点M坐标为(x,y)[5]。节点位置关系如图4所示。
图4 节点位置关系
根据两点之间的距离公式可以得到下列方程组:
对方程进行简化后,用矩阵论的解析方法得出M点坐标(x,y),如下式:
2.3 GPRS远程数据传输
ZigBee的传输距离介于10~100 m,无法满足远程传输数据的要求。系统采用GPRS DTU模块通过GPRS网络将数据远程发送到固定IP的上位机。
网关节点与GPRS DTU模块可以直接采用串口通信。CC2430芯片内部集成有通用异步收发装置UART,可以通过外接MAX3232电平转换芯片将CC2430芯片所带的UART引脚拓展为RS232串口,电路图如图5所示。
图5 MAX3232芯片电路图
3 系统运行测试
系统以6个参考节点和一个移动节点为例。测试软件使用TI公司研发的ZLocation Engine,监控画面如图6所示。周围6个圆点为参考节点,地址分别为0x15CE、0x3B2D、0x1054、0x253C、0x224D、0x741。中间节点为移动节点地址为0x0005。
图6 ZLocation Engine监控画面
在20 m×10 m的空间内对移动节点进行坐标定位,在测量之前采集数据包反复计算得出当n值取15时,A取值48时定位效果最佳。通过对移动节点的测量得到测量值和实际值之间误差如表1所列。
表1 参考节点位置测试结果
结语
本文使用ZigBee技术对机场行李进行定位跟踪,为贵重行李丢失提供了无线定位解决方案。在系统软件设计方面,采用了RSSI测距和极大似然估计算法,在节省成本的同时提高了定位精度。