协调器可以指定子节点IEEE地址入网吗?
协调器可以指定子节点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 |
|
这个函数的参数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 |
|
ZDE_WhiteListInput使用方法基本同上,只是不需要输入路由器的地址。