Other Parts Discussed in Thread: Z-STACK
我想组建一个250节点的网络(1个协调器,250个路由器)。
如果使用协调器轮询节点的机制作为心跳和节点状态的查询,那么节点判断自己掉线的时间会比较长(假设协调器连续10次接收不了同一节点返回的信息时,判断该节点掉线,那么节点判断自己掉线的时间为协调器轮询一次的时间x10),这样会导致节点重新入网不及时。
于是我想到了一种方法,就是使用广播作为心跳,如果节点在规定时间内没有接收到协调器发给它的广播心跳,那么节点就判断自己掉线从而重新入网,这样节点会很快入网而对系统的影响可以降到很低。
但是实际测试时发现如果路由器比较多的话会形成广播风暴,测试方法和结果:协调器发一个广播,下面的节点有时候会全部收到并动作,但有时候会不定时收到(这个时间可能会持续几十秒,在这几十秒内网络会造成瘫痪)。
于是我又想到了一种方法,就是将大部分的路由器换成终端(假设25台路由器,225台终端),这样就算形成广播风暴也很快就过去了,不知道这种方法可不可行。
不知道组建大型网络是否还有其它不错的方法,所以想在这里讨论一下,希望各位Zigbee大神给些意见!!