3 组网过程的实现

在进行ZigBee无线网络的开发应用时,首先应选取合适的硬件设备。TI公司的CC2530微控制器是新一代的片上系统解决方案。本文选取了成都无线龙公司生产的较为成熟的基于ZigBee的无线网络开发系统C51RF-CC2530-PK。软件开发环境本文选取了IAR Embedded Workbench的C/C++交叉编译器和调试器。

需要入网的子节点在完成初始化后,就会启动入网过程。节点会向网络中广播信标帧,然后等待可用路由节点的反馈。广播发送数据的函数如下所示:

基于ZigBee无线网络的可控组网方法研究

当收到反馈的可用父节点信息时,节点会将反馈的信息搜集整理后发送出去,然后进入待机状态,等待入网反馈。节点广播入网请求信息函数段如下所示:

基于ZigBee无线网络的可控组网方法研究

基于ZigBee无线网络的可控组网方法研究

当上位机选取合适的父节点后,父节点会与子节点启动经指定节点直接入网过程。此部分程序在ZigBee协议栈中有例子程序,在此不再详述。

在子节点有效距离内的路由节点和协调器会在于节点广播消息时接收到扫描帧,当路由节点收到子节点的扫描帧时会首先判断自身是否具有加入新节点的能力,包括是否有足够地址空间等。路由节点反馈的函数段如下所示:

基于ZigBee无线网络的可控组网方法研究

子节点搜集收到信息后会给路由节点发送入网请求,其入网请求信息中包含可用父节点信息。向协调器转发请求入网信息的函数段如下所示:

基于ZigBee无线网络的可控组网方法研究

父节点收到指令后会启动节点入网过程。

文中用包括一个协调器、两个路由节点和一个终端节点的网络进行实验验证。程序编写完成后将协调器代码下载至节点1,并将此节点标记为协调器;将父节点程序分别下载至节点2和节点3,并将这两个节点作为原网络的路由节点,也即子节点入网时的可用父节点;将入网节点程序下载至节点4。

下载完成后分别先打开协调器节点1和路由节点节点2节点3的电源,用USB线将协调器与上位机连接起来,等待路由节点自动加入网络,组建所需主干网。待组建完成后打开节点4电源,并打开串口调试助手,此时会看到节点4扫描可用父节点信息后发送的入网请求信息,并在上微机软件窗口显示节点信息,此时选择节点3作为接入父节点,此时可通过串口调试助手看到确认接入命令。节点3接收到指令后会启动接收节点4为其子节点,节点4加入网络。加入网络成功后会在上位机软件显示网络拓扑结构。

4 结论

通过对组建网络和网络节点入网过程的运行实现,验证了所做的可控组网改进方法达到了预期设定的目的,实现了上位机通过选取可用的父节点对入网过程的控制。这样的情况下当在一些特殊情况下或者已知路由节点状态的情况下可以很好地避开功能较弱或者剩余电量较低的节点,可有效地提高关键节点的寿命,进而提高了网络的寿命。


相关内容