关于zigbee广播机制的简单说明

有些人在使用zigbee模块或数传电台的时候 , 对于zigbee广播机制中的周期性广播和组播机制有些疑问 , 今天小亿就这个问题做一下简单的说明 。
在Zigbee中 , 广播数据是不适合像单播数据这么连续发送的 , 这是Zigbee协议栈规定的 。
【关于zigbee广播机制的简单说明】Zigbee的广播机制解释如下 , 广播数据在发出后 , 其余有广播能力的节点如rouer在收到后会转发这个广播包 , 如此一层层往后跳以保证整个网络都能收到这个广播 。 同时 , 任何一个节点在发送或转发这个广播包的时候会监听自己的邻居有没有进行转发 , 如有没进行转发的 , 说明该邻居可能没有收到 , 会进行重发 。
如此 , 一旦网络规模大了整个广播包会在空中存在较长时间 , 所以Zigbee联盟设定了nwkBroadcastDeliveryTime这个属性 , 用来说明一个广播包最多有效的时间 。 而在这段时间内 , 发起者都会保留这个广播包放在一个table中 。 比如这个table默认最多能存10个这样的包 , 所以连续发送的话 , 发送10个时候这个table就存满了 , 新的包就不能发送了 , 必须等待有数据过期后才有新的数据能发出 。 总结因此ZigBee联盟规定为了保证网络的稳定性 , 9秒内最多发送8个广播 , 超过8个广播包其他的数据包将被舍去 。 针对E180 E18等ZigBee系列产品建议周期性的组播和广播数据发送周期大于等于1000ms,小于1000ms会存在数据阻塞(或舍去)的情况 。