新设备加网,导致老设备短地址变化问题
已加网的设备,并正常控制过,但再加入其它设备后,发现之前已加网的这些设备有的设备的短地址已经变了。这个短地址的变化是新设备加网地址冲突,导致两个设备都重新发配短地址吗?要是新分配完地址后,那这两个设备都还会重新加网吗,还会不会发送其它消息协调器呢,比如annce消息之类?
对,zigbee随机给新加入的设备分配短地址,并发起“设备声明”检查是否冲突。如果另一个节点有着同样的网络地址,则通过路由器广播“网络状态-地址冲突”至网络中的所有节点。所有发生网络地址冲突的节点更改自己的网络地址,直至没有冲突。
Viki,你好,你所说的“所有发生网络地址冲突的节点更改自己的网络地址,直至没有冲突。”过程中,会不会重新加网,并发送annce消息呢?假设要重新加网,在重新加网过程中,父节点会不会变呢?
1) 新节点加入的时候,怎么可能会分配已经分配过的地址呢?
分配给节点的地址是通过random产生的,产生以后会和自己分配的地址表比较的,如果有重复就再产生一个,即便分配了一样的也会冲突检测,重新分配
2)哪个硬件?哪个版本的协议栈?主要做了哪些修改?
随机数肯定有可能产生一个已经使用了的地址啊,产生短地址的节点是需要短地址的父节点,产生了短地址后给子节点,子节点来广播Beacon,看是否有地址冲突,现在是重新产生地址后,也使用该冲突地址的旧设备会不会重新加网,加网过程中会不会还产生annce消息,父节点还会不会是之前的父节点?
2)用的是cc2530,协议栈是zstack2.5.0,协议栈没修改,但有大量设备加网(150个Router)
你好,
一般是新入网的设备,如果有地址冲突的话,会让父节点重新分配地址,原先已经入网的节点不会变化的。