ZDApp_NwkDescListProcessing获取扫描到的网络描述表,然后取第一个符合条件的网络和父节点发起入网。请问,这个网络描述表是怎么排列的?先扫描到谁谁排在前面?
Viki Shi:
节点入网是选择的是范围内信号最强的网络
user4675136:
回复 Viki Shi:
你好,我做了下测试,下面是我的测试结果,ROUTER概率性的加入其中一个网络,而不是每次都选信号最强的加入,这个需要有什么额外的配置么?
第一次测试结果,扫描到的网络描述列表如下两个网络,最终加入了PAN ID为0xc5ed的网络0:0:2【INFO】 ======================DEVICE:[1]START======================panID[0xc5ed] channel[0xb] routerCap[1] devCap[1]chosenRouter[0x0] chosenRouterDepth[0x0] chosenRouterLinkQuality[208]0:0:2【INFO】 ======================DEVICE:[1]END=========================
0:0:2【INFO】 ======================DEVICE:[2]START======================panID[0x85a5] channel[0xb] routerCap[1] devCap[1]chosenRouter[0xf379] chosenRouterDepth[0x1] chosenRouterLinkQuality[71]0:0:2【INFO】 ======================DEVICE:[2]END=========================
0:0:2【INFO】 [NWK_START] Pan ID 0xc5ed!
第二次测试结果,扫描到的网络描述列表如下两个网络,最终加入了PAN ID为0x85a5的网络0:0:2【INFO】 ======================DEVICE:[1]START======================panID[0x85a5] channel[0xb] routerCap[1] devCap[1]chosenRouter[0xf379] chosenRouterDepth[0x1] chosenRouterLinkQuality[73]0:0:2【INFO】 ======================DEVICE:[1]END=========================
0:0:2【INFO】 ======================DEVICE:[2]START======================panID[0xc5ed] channel[0xb] routerCap[1] devCap[1]chosenRouter[0x85d2] chosenRouterDepth[0x1] chosenRouterLinkQuality[176]0:0:2【INFO】 ======================DEVICE:[2]END=========================
0:0:2【INFO】 [NWK_START] Pan ID 0x85a5!
user4675136:
回复 Viki Shi:
另外,看了下ZDApp_NwkDescListProcessing这个函数的实现,只是选择第一个符合条件的网络,而没有去比较信号强度
chengzi chen:
回复 user4675136:
搜索网络时比较信号比较强的协调器不是在ZDO_beaconNotifyIndCB函数中么?