微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 协调器可以指定子节点IEEE地址入网吗?

协调器可以指定子节点IEEE地址入网吗?

时间:10-02 整理:3721RD 点击:

协调器可以指定子节点IEEE地址入网吗?

只允许指定IEEE地址的子节点入网?推荐参考MAC地址白名单

你好 有具体的文档吗?

您可以参考之前论坛的置顶帖

https://www.deyisupport.com/question_answer/wireless_connectivity/zigbee/f/104/t/80933.aspx

如何使用白名单功能?

1,在tasksArr[]中,添加ZDE_event_loop,注意要先#include"ZDEnhanced.h",然后在osalInitTasks添加ZDE_Init( taskID++ ),ZDE_event_loop的顺序要与ZDE_Init相同。

2,在你的Z-stack应用层任务中,用函数ZDE_RegisterJoinDeniedCB注册一个回调函数API_JoinDenied(函数名可以自己定义),然后这个函数实体如下

?

1

2

3

4

void API_JoinDenied(uint16 parent,ZDE_JoinDenied_t denied)

{

   

}

这个函数的参数parent是当前有新节点正在通过网络地址为parent的路由加入网络,denied是一个结构体,其中的extAddr是新设备的MAC地址,capability是设备类型,0xE0为路由,0x00为终端,Rejoin如果为FALSE,则为Associate模式加入,如果为TRUE则为Rejoin Unsecured模式,而Rejoin Secured的设备是直接通过认证。在这个函数中,可以添加你的上位机与协调器之间的通讯代码,让协调器把正在试图加入网络的新设备的MAC地址告诉上位机。

如果上位机允许一个新设备加入网络,协调器则需要输入新设备的MAC地址,即白名单过滤通过。

如果是把白名单发给其它路由器,可以使用函数ZDE_JoinAcceptReq,输入给协调器直接使用函数ZDE_WhiteListInput即可。

ZDE_JoinAcceptReq使用方法:

?

1

2

3

4

5

6

7

zAddrType_t dest; 

ZDE_JoinAcceptReq_t accept;

dest.addrMode = afAddr16Bit;

dest.addr.shortAddr = parent;  //发给路由器

sAddrExtCpy(accept.extAddrs,denied.extAddr); //设备MAC地址

accept.life = 60;//白名单超时,最大254秒

ZDE_JoinAcceptReq(&dest, &accept, 0);

ZDE_WhiteListInput使用方法基本同上,只是不需要输入路由器的地址。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top