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

ZigBee3.0终端2530无限重连

测试环境,协调器1和协调器2,终端1 

开始终端1加入协调器1,

等待5分钟后,此时BDB_COMMISSIONING_MODE_NWK_STEERING应该已经失效,

终端1执行bdb_resetLocalAction,还是能加入协调器1

关闭协调器1,终端1执行bdb_resetLocalAction,使能协调器2的BDB_COMMISSIONING_MODE_NWK_STEERING

发现终端1不停的加上协调器,一会就掉了,掉了又加,加了又掉,无限循环,而且每次的短地址也是变化的

抓包见附件,这是什么原因

无限重连.psd

Alvin Chen:

你是不是加了你那个逻辑,你用的是原始demo吗?

user5367314:

回复 Alvin Chen:

是原始的demo,只是删除了UI部分,
我把协调器2重启了就可以加入了,
不知道是什么原因

user5367314:

回复 Alvin Chen:

-DRFD_RCVC_ALWAYS_ON=TRUE的时候,
下面三个参数还会生效吗?
记得以前看过只要睡眠模式使能 的使能才会使能POLL
我现在设为非睡眠模式。下面的三个POLL是否不起作用了?

/* The number of milliseconds to wait between data request polls to the coordinator.*/
-DPOLL_RATE=1000

/* This is used after receiving a data indication to poll immediately* for queued messages…in milliseconds.*/
-DQUEUED_POLL_RATE=100

/* This is used after receiving a data confirmation to poll immediately* for response messages…in milliseconds*/
-DRESPONSE_POLL_RATE=100

Alvin Chen:

回复 user5367314:

不生效,请参考:e2e.ti.com/…/763852

user5367314:

回复 Alvin Chen:

测试发现,终端1加入协调器1后,
把终端1执行bdb_resetLocalAction,此时终端1再加入协调器2,没问题
再把终端1执行bdb_resetLocalAction,让他再加协调器1,发现加入之后就不停的加入然后掉线,无限循环,每次短地址也是变化的,
此时对协调器执行bdb_resetLocalAction,发现终端1可以正常加入了
猜测是协调器记住终端1了,如果终端1加了协调器2,然后再加回协调器1,就必须要对协调器1执行bdb_resetLocalAction,
但是这样有个问题,协调器1连的其他终端都掉线了,需要全部再执行bdb_resetLocalAction重新连一遍
有没有什么好的解决办法?

Alvin Chen:

回复 user5367314:

协议栈自身没有这个问题,应该是你改动造成的,请不要修改直接用原始demo测试。

user5367314:

回复 Alvin Chen:

在协调器里怎么删除NV里存的不在线的所有终端,什么命令

赞(0)
未经允许不得转载:TI中文支持网 » ZigBee3.0终端2530无限重连
分享到: 更多 (0)