终端在入网之前,它或协调器是怎么知道它们的PANID是一样的?它们组网前是否存在通信进行判断PANID?就是还没组网就有进行通信进行判断相应的PANID等等,协调器才是否允许终端加入网络中。
如有有请问在Z-Stact是否可以查询。
请各位给点思路,谢谢。
Susan Yang:
用户可在 f8wConfig.cfg 文件中配置PANID;
/* Define the default PAN ID. * * Setting this to a value other than 0xFFFF causes 设置这个值是一个非0XFFFF的值 * ZDO_COORD to use this value as its PAN ID and 协调器会使用这个值作为自身PANID * Routers and end devices to join PAN with this ID 路由器和终端会加入到这个PANID中; */-DZDAPP_CONFIG_PAN_ID=0xFFFF
如果这里设置为0XFFFF :
那么协调器则随机产生一个值作为自己的PANID; 路由器和终端设备则会在自己的默认信道上随机选择一个网路加入,加入之后协调器的PANID即为自己的PANID;
如过这里设置为不是0XFFFF的其他值:
如果设定的值为0x0001–0xffff 区间内 为合法的; 那么协调器会直接以他为PANID; 如果在建立网络的时候发现 默认信道内该PANID已经被占用,那么协调器会继续搜索其他的PANID使用; 这就带来问题了, 终端和路由器并不知道协调器 换PANID了; 还会加入到原来设定的PANID中去;
vijay ye:
回复 Susan Yang:
谢谢您的回答!
首先,我抓包看了数据。分别在没有组网的协调器和终端,我发现终端会隔一段时间发出请求命令,然而协调器是没有进行广播数据的。
然后,我的问题意思,例如我的协调器PANID为0XF000,终端PANID为0XF0001。对于它们来说,它们并不知道它们的PANID是否相同,为了组网, 终端一直发送请求命令,然而协调器是有没有进行广播说它的PANID是0XF000,协调器是否会接收终端的请求命令,然后会有应答回复给终端,表示不同PANID无法进行组网呢?
谢谢了。