无线传感器网络的室内定位节点设计
ZigBee系统任务在TI公司提供的Z—Stack协议栈的基础上设计实现。ZigBee协议从上到下由应用层APS、网络层NWK、媒体访问控制层MAC和物理层PHY组成。应用层的主要功能与定位信息的采集与传输密切相关。网络层的功能包括配置设备、路由发现和维护,确保数据安全、有效地传输到目的设备。媒体访问控制层MAC控制着设备接入无线信道的时间和方法,确保数据链的可靠性。物理层PHY主要实现数据的发送和接收,完成信道的评估和射频信号能量的测量。应用层APS数据从一个ZigBee设备发送到另一个ZigBee设备,是一个层次封装,然后层次解析的过程。数据传递流程如图6所示。
3.2 ZigBee软件设计
节点加入ZigBee网络运行是定位系统运行的基础,关系到定位数据的可靠性和系统的稳定性。节点上电后,首先进行硬件初始化和网络初始化。节点加入网络的过程如下:节点在预先设定的信道上资料存入自己的相邻表。在相邻表所有父节点中选择一个深度最小的,并对其发出入网请求信息。如果发出的请求被批准,父节点会分配给它一个2字节的网络地址,此时入网成功;如果请求失败,那么重新查找相邻表,继续发送请求信息,直到加入网络或相邻表中都没有合适的父节点,则入网失败,中止过程。
当节点与网络链接中断,则需要重新入网,这类节点被称为孤节点。孤节点的相邻表中存有原父节点的信息,它可以直接给原父节点发送加入网络的请求信息。如果父节点有能力同意它加入,则直接告之它以前被分配的网络地址,孤节点重新入网成功;如果此时原父节点的网络地址已经分配满,父节点便无法批准它加入网络,孤节点只能以新节点的身份重新寻找并加入网络。孤节点的入网处理方法对于定位系统稳定和数据可靠具有重要意义。
ZigBee节点加入网络的流程图如图7所示。
节点在ZigBee网络内的数据传输是系统定位的关键。ZigBee定位网络存在两种数据的交互:RSSI特征信息数据和定位信息数据。簇ID是ZigBee协议定义的重要配置信息,用于区分ZigBee网络传输中不同的数据类型。盲节点向参考节点发送自身特征信息数据时采用的簇ID为GETRSSI—CLU,参考节点向协调器转发定位信息数据时使用的簇ID为INFO—CLU。
ZigBee数据的发送通过调用AF_DataRequest()函数实现。ZigBee数据的接收由Z—Stack完成,接收数据完成后协议栈触发SYS_EVENT_MSG事件和AF_INCOMING_MSG_CMD消息,OSAL在接收到该事件和消息后,调用用户应用任务进行后续处理。
3.3 软件流程
节点加入网络后,通过应用任务进行程序设计,实现节点特征信息的定时广播发送、定位信息的生成和发送、路由转发、节点状态信息的检测与报警信息发送等功能。盲节点和参考节点的应用程序流程如图8所示。
4 测试结果
为验证节点功能,对本文描述的基于ZigBee的室内定位节点进行了相应的测试。测试环境为室内走廊环境,2个参考节点分别放置在长度为58 m的走廊两端位置,测试者持盲节点在走廊的两端之间匀速往复走动,实时记录节点收发数据、报警状态信息,以及实时跟踪定位信息随距离变化的结果,测试结果略——编者注。
为验证节点的功耗性能,本文对盲节点工作模式和空闲模式的功耗分别进行了测试。盲节点供电电压为3.3 V,正常工作时,以2 Hz的频率更新定位信息数据,平均电流实测为11.3 mA;空闲模式实测电流低至1.2 mA。节点设计较好地实现了低功耗的设计目标。实验表明:本文所设计的节点在室内定位系统测试中,能够满足定位系统对节点的功能及性能要求。
结语
本文讨论了基于CC2530的室内定位节点的设计与实现,对节点设计中的关键技术进行了介绍。经实验证明,节点具有网络通信稳定、工作距离远、功能丰富和功耗低等优点。在歼展的基于ZigBee的室内定位系统测试和应用中取得了良好的效果。
- 浅析基于MG2455微处理器Zigbee的汽车无线黑匣子实现(08-29)
- 基于ZigBee的城市照明监控系统网关节点的软硬件设计(01-15)
- 基于RSSI测距的定位算法的研究(01-15)
- 基于GPRS和ZigBee的远程油阀控制系统(01-17)
- 基于ZigBee无线网络的嵌入式智能家居监控系统(03-18)
- 设计实例:森林火灾实时监测与预警系统(03-18)