ZigBee协议栈wireless UART模板网络自启动的实现
扫描二维码
随时随地手机看文章
引 言
在工业应用领域,ZigBee工业控制的主要原理是下位机利用微处理器采集现场环境和运行信息,并通过接口电路将现场信息发送到 ZigBee 节点,ZigBee 节点通过 ZigBee 网络发送到 ZigBee 协调器,协调器将收到的信息转发到上位管理计算机,上位机对采集的信息进行处理,并将相关控制命令通过 ZigBee 网络发送到下位机。
1 ZigBee 工业控制的基本应用结构
ZigBee工业控制的基本应用结构如图 1 所示。在这种工业控制结构中,ZigBee 网络主要实现网络传输功能,而Freescale ZigBee 协议栈 提 供 的 wireless UART 模 板 具 有ZigBee 和 UART 数据收发的基本功能函数。
在 wireless UART 模板中,协调器、路由器、终端设有网络启动 ( 加入 ) 按键,网络运行模式 ( 确认模式、应用模式 )切换按键和节点绑定按键。每次启动网络时,都需按序进行相应的按键操作。在系统运行过程中,当有节点需要重新启动、新节点加入等情况发生时,就需要重新启动所有节点并按序重新操作后,才能进入运行状态。下面介绍一种自动启动 ( 加入 )网络的方法,同时给出相应的源代码文件及需要修改的程序代码,以供参考。
1.1网络建立
所谓网络建立,就是启用协调器并加入路由与终端,此时可在BeeApp.c文件voidBeeAppInit(void)函数的UartX_SetRxCallBack(UartRxCallBack)语句后增加ZDO_Start(gStartWithOutNvm_c)。
1.2 去除绑定
去除绑定,可将其修改为 16 位网络地址模式,即在BeeApp.c 文件中修改以下函数的内容 :
(1) 在 void BeeAppInit(void) 函数中修改如下:
gSendingNwkData.gAddressMode =gZbAddrMode16Bit_c;
(2) 在 static void TxZigBeeAck(void)、void TxZigBeeData(void)及相关ZigBee 无线发送的各个函数中修改如下:
afAddrInfo.dstEndPoint =1;
afAddrInfo.dstAddrMode = gZbAddrMode16Bit_c ;
afAddrInfo.dstAddr.aNwkAddr[0]=0xff;
afAddrInfo.dstAddr.aNwkAddr[1]=0xff; //{0x00,0x00};//
ZC 广播方式其 中,
afAddrInfo.dstAddr.aNwkAddr[1]、afAddrInfo.dstAddr.aNwkAddr[0] 为 ZigBee 无线发送的 16 位网络目的地址,协调器的网络地址为 0x0000,协调器以广播方式发送时目的地址为 0xffff,点对点发送时,应使用接收端的网络地址。
2 自动进入应用模式
自动进入应用模式时,可将 ASL_UserInterface.c 文件的ASL_UpdateDevice 函数修改如下:
case gZDOToAppMgmtZCRunning_c:
ASL_ChangeUserInterfaceModeTo(gApplicationMode_c);
ASL_DisplayChangeToCurrentMode(gmUserInterfaceMo
de);
3 修改按键功能
事实上, 也 可 以 修 改 按 键 功 能, 具 体 可 在 ASL_UserInterface.c 的 ASL_InitUserInterface 函数中做如下修改 :
// KBD_Init(BeeAppHandleKeys);
当然,也可以通过修改 BeeApp.c 的 BeeAppHandkeys(key_event_t event)) 函数实现相应的按键功能。
A Method of ZigBee Network Self-starting in Freescale
WirelessUART Sample
YANG Da –sheng
(NeiMongol Electronic information Vocational Technical
College, Hohhot 010070,PRC)
Abstract: To simplify the ZigBee network boot steps
in Freescale UARTwireless sample ,a method was given in
source code .
Keyword: ZigBee stack ;Binding ;network self-starting ;
4 结 语
ZigBee工业控制就是将下位机利用微处理器采集的现场环境和运行信息通过接口电路发送到 ZigBee 节点,从而控制工业过程的一种无线网络系统。本文给出了在 FreescaleZigBee 协议栈 wireless UART 应用模板中简化网络启动的步骤,同时给出了在源代码中需要修改的内容,以期能对有兴趣者有所启发。
20211020_61701ed347f32__ZigBee协议栈wireless UART模板网络自启动的实现