想要请教一下,扩展panid是什么,他是怎样生成的,作用是什么?在组网的时候会用到这个扩展panid吗?他和panid之间的关系是什么?
如果一个网络中,协调器和节点通信是通过panid,那么扩展panid不就没什么用了吗?
YiKai Chen:
可以參考一下 www.silabs.com/…/what_is_an_extended-5VNs
user5355203:
回复 YiKai Chen:
如果按照文章中说的,ZStack2.5.1a使用的是ZigBee2003的标准,扩展panid就不能使用了?
YiKai Chen:
回复 user5355203:
ZStack2.5.1a使用的是ZigBee2007的不是ZigBee2003
user5355203:
回复 YiKai Chen:
我看到文章中有这样一句话:EPID是在个人区域网络[PAN]形成时由ZigBee协调器[ZC]为整个网络设置的64位值,并且在PAN运行时不得更改(与PID不同)。
这样是不是说,如果我在运行过程中,想要动态修改这个扩展panid,这样的操作是不被允许的
YiKai Chen:
回复 user5355203:
對,这样的操作是不被允许的
user5355203:
回复 YiKai Chen:
那如果我想要替换用协调器A替换协调器B,我在社区里看到有帖子说,需要将协调器B的panid,扩展panid和信道都通过串口写入到协调器A中,如果修改扩展panid的操作不被允许的话,那就没有办法替换了啊
YiKai Chen:
回复 user5355203:
用协调器A替换协调器B,扩展panid和信道都通过串口写入到协调器A,並不是动态修改扩展panid,所以沒有問題
user5355203:
回复 YiKai Chen:
我先将协调器B的panid和扩展panid都读出来,储存起来,然后将B断电,协调器A和B的程序都一样,将A上电,协调器运行起来之后,通过串口将panid和扩展panid发送给协调器A,程序内部有设置接口,A收到数据后,将panid和扩展panid修改,然后重启,我设想的流程大概就是这样的,这样不算动态修改吗?
YiKai Chen:
回复 user5355203:
替换协调器的步驟就是複製一份协调器的內容,不算动态修改
user5355203:
回复 YiKai Chen:
_NIB.nwkPanId =panid;
osal_memcpy(_NIB.extendedPANID,EPanid,8);_NIB.nwkLogicalChannel = Channel;
NLME_UpdateNV(0x01);
这样修改可以吗?