作者:廖明华
来源:《科技视界》 2014年第13期
廖明华
(华南师范大学增城学院,广东 广州 511363)
【摘 要】该系统实现了Android手机客户端通过狼牙技术控制小车运动,小车上配备Zigbee移动节点,室内环境设置Zigbee参考节点,小车在室内运动时,PC上位机实时显示小车坐标位置,可以应用于病患监控,消防安全,超市导购,企业管理等领域。
【关键词】Zigbee;定位;Anroid;狼牙;小车控制
ZigBee无线通讯技术以其易布建、低成本、低功耗的优势,在工业自动化生产,日常生活场所得到广泛应用,Android手机凭借开放性、丰富的硬件选择,迅速成为最流行的主流手机平台之一。PDA设备与无线传感网络的结合可以将工作、生活的空间浓缩于双手可以掌控的距离内,推动了物联网技术发展。
1 系统分析
小车定位系统分为两个功能模块,如图1。
系统的网络架构图如图2。
2 Zigbee定位实现
2.1 CC2430/CC2431芯片
CC2430/CC2431是德州仪器(TI)推出的全新概念新一代ZigBee无线单片机系列芯片,是真正符合IEEE802.15.4标准的片上SOC ZigBee产品。CC2431带硬件定位引擎,其定位引擎基于RSSI(Received Signal Strength Indicator)技术,根据接收信号强度与已知参考节点位置准确计算出有关节点位置,然后将位置信息发送给接收端。相比于集中型定位系统,RSSI功能降低了网络流量与通信延迟,在典型应用中可实现3到5米定位精度和0.25米的分辨率[1]。
2.2 定位原理
如图2所示,首先在定位环境安置4个由CC2430构成的参考节点,这4个节点都知道并能在其它节点请求时返回它自己的位置。参考节点不需要定位引擎的硬件应用,也不需要负责任何计算。还要配备一个协调节点(也就是网关节点),同样由CC2430构成,网关与PC机通过串口相连。随后,在小车上安置由CC2431构成的“盲节点”,它将收集所有参考节点对它的请求返回的信息,读出相关的RSSI值,将收集到的数值传输给硬件定位引擎,定位引擎计算得出位置信息,最后将位置信息传送给与网关相连的上位机程序,在上位机程序地图上显示出小车节点的所在位置。
从参考节点传输给盲节点的数据包要包括相关节点的X、Y坐标,RSSI由盲节点定位引擎进行计算。
2.3 定位算法
2.3.1 位置计算流程
CC2431接收到一个信息包时,将它将自动添加一个RSSI值在信息包中。CC2431是通过硬件计算定位坐标,在计算之前需要系统提供3个到8个参考节点的坐标值和RSSI值,并需要通过设置输入参考的A值和N值。计算流程如图3。
A:是一个经验参数,表示距离发送者1米处的RSSI值。
N:信号传播系数,用来描述信号强度随距离增加而递减的参量。N的值依赖具体的环境,比如一堵厚墙会很大的影响其取值,通常靠经验来判断。
2.3.2 三边测量法
本设计使用的定位算法是三边测量法,如图4,已知A、B、C,3个节点的左边分别为(xA,yA)、(xB,yB)、(xC,yC)。假设用户节点O的坐标为(x,y),根据下面的点到点之间的距离公式[2]:
利用以上的等式通过简单的数学推导就可以的到x和y的值。
2.4 上位机地图
上位机软件用C#语言开发,图5小车定位效果图。
3 Anroid控制小车
Android手机客户端通过狼牙技术控制小车前后左右运动,图6为硬件组成框图。
4 结论
一个经验法则,使用尽可能多的节点。至少要使用三个,如果节点太少,每个节点的参考效应高,一个不正确的RSSI值就会很大程度影响位置的计算。如果盲节点放置在参考节点网络之外的位置上,那么得到的计算结果将会极大的偏离实际位置,所以不建议跟踪网格之外的对象。
【参考文献】
[1]宋保业.CC2431的无线定位引擎及其应用改进[J].单片机与嵌入式系统应用,2008(02):22-24.
[2]倪瑛,戴娟.Zigbee定位技术的研究[J].南京工业职业技术学院学报,2013(02):49-52.
[责任编辑:刘帅]
因篇幅问题不能全部显示,请点此查看更多更全内容