TI中文支持网
TI专业的中文技术问题搜集分享网站

cc1310 中 sensor/collector(协议栈2.3) sensor发送的数据collector 无ACK回复?

请问collector 没有ack回复是因为sensor发送频率过快,信道堵塞?应该如何处理

Alvin Chen:

看了一下,应该是距离太远或者你的射频性能不好吧,你看连续data request 没有
ack ,然后变为Orphan,你降低发送速率有效?

user5322468:

回复 Alvin Chen:

你指的发送速率是上传时间?还是指的发送功率。我的上传时间是在120S+(10S的随机数),发送功率是14.我这种情况应该如何调整才可以使ACK正常回复

Alvin Chen:

回复 user5322468:

"问collector 没有ack回复是因为sensor发送频率过快,信道堵塞?应该如何处理"
120s上传一次没有太大影响的。你除了修改了上报间隔,还有修改其他的?比如poll rate?
看上去是你的collector 有问题

user5322468:

回复 Alvin Chen:

sensor的polling 6S,,collector的 TRACKING,都没有改动,collector的我只在他的数据接收数据处理processSensorData里面改动(添加了sendMsg回复sensor)。单节点连接通讯很正常,多个之后就会collector的ACK回复,就有问题。

Alvin Chen:

回复 user5322468:

你这样,你把你的“sendMsg回复sensor”这个屏蔽掉,或者不要放在processSensorData里面试试。此外如果你想确定collector 是否收到sensor 数据,可以 在
static void dataCnfCB(ApiMac_mcpsDataCnf_t *pDataCnf)
进行判别。

user5322468:

回复 Alvin Chen:

我需要sensor发送过来的数据呀,dataCnfCB中只有一些状态判断,无法满足我的sensor数据处理。而且你建议我不要在processSensorData里面做处理,原例子就是在这里面做sensor的数据处理,只是没有使用sendMsg,因为我应用层的collector需要和sensor进行通信,sendMsg肯定是需要的。

Alvin Chen:

回复 user5322468:

“你减小“单节点连接通讯很正常,多个之后就会collector的ACK回复,就有问题。”

我怀疑你的collector 在你的processSensorData处理上面一个node的数据发送,此时你的RF端 其他node发送过来没有及时处理,所以没有ack。
所以我建议你不要在processSensorData里面直接发送数据,便于rf 空闲去接收其他node 的数据,或者你加大发送间隔

user5322468:

回复 Alvin Chen:

但是我多个一起入网的时候,跟这个状况一样。只有个别node有ACK回复,其他入网都连不上去,(我首先是单个节点加入,然后断电了一起启动,就产生这种ACK无回复)

YiKai Chen:

回复 user5322468:

一般不建議多个一起入网

赞(0)
未经允许不得转载:TI中文支持网 » cc1310 中 sensor/collector(协议栈2.3) sensor发送的数据collector 无ACK回复?
分享到: 更多 (0)