Z-Stack Home 1.2.2a.44539-cc2530
一个协调器 23个终端设备 无路由器
NV_RESTORE使能
End Device上POLL_RATE设定-DPOLL_RATE=4000
目标是:协调器广播一个数据指令,终端在接收到数据指令后给协调器回一个数据;
出现的问题是:协调器广播一个数据指令,但是每次只有十几个终端设备会回数据,详见附件psd;
求解:有没有什么办法可以做到一个广播,所有终端都可以接收到广播信号 并回数据。(终端数目后期需要增加到200个,协调器准备采用c2538)
chaos wang:
VV 大神 你在哪~
VV:
首先这不是一个好的办法,广播发送本身并不可靠,而且当设备数量多的时候,协调器端负担会很大。
如果你的终端设备对功耗要求不高的话,可以把Rx Always on打开。通信不需要依赖poll
如果需呀低功耗的话,那么建议协调器通过单播方式发送数据给节点。
另外你可以把下面变量改大后,这个是父设备为自设备保留数据的时间,再测试下,在f8wconfig文件
/* Default indirect message holding timeout value: * 1-65535 (0 -> 65536) X CNT_RTG_TIMER X RTG_TIMER_INTERVAL */-DNWK_INDIRECT_MSG_TIMEOUT=7
zexin zeng:
回复 VV:
把Rx Always on打开了,并且没有路由,协调器广播数据,大概10个终端左右,同样也出现某些终端没收到的情况,终端收到会执行相应的命令(如开关灯等)。这是不是协议栈本身的问题呢?广播本身就不可靠?麻烦VV大神解答下。
YiKai Chen:
回复 zexin zeng:
我們有數個專案都是Rx Always on打开的终端设备,我們是用群播(Groupcast)的方式發送命令(如开关灯等),只要是在RF收發範圍內運作都是正常的
zexin zeng:
回复 YiKai Chen:
我这边广播跟组播都试过,效果都是一样的,都存在部分终端没接收到的情况,能否加个QQ详细指导下,这个问题困扰很久了,协议栈使用2.5.1a跟MeshV1.0.0都有这个问题。QQ是2426203566,谢谢。
YiKai Chen:
回复 zexin zeng:
請問你的协调器與终端设备的距離?