zigbee终端节点断网不能重连问题请教
终端节点带有继电器,并可采集数据传给协调器
网络中还有一个终端节点,带有按键,可控制带有继电器的终端节点
本来控制都挺正常的,发送数据也是正常的
但不知为什么,带有继电器的终端节点突然断网就再也连不上了
我在程序中用数码管显示_NIB.nwkState的值观察终端节点的联网状态,发现其值为NWK_ENDDEVICE,按理说应该是正常的啊
NIB.nwkState的可能值为
typedef enum
{
NWK_INIT,
NWK_JOINING_ORPHAN,
NWK_DISC,
NWK_JOINING,
NWK_ENDDEVICE,
PAN_CHNL_SELECTION,
PAN_CHNL_VERIFY,
PAN_STARTING,
NWK_ROUTER,
NWK_REJOINING
} nwk_states_t;
可是,led指示灯却一直闪烁不停,明显是已经断网
在这种状况下,终端节点就没办法重连了
另,出现这个情况之前,我是用带有按键的终端节点连续控制了几下带有继电器的终端节点,之后发现按键控制没响应了
还有协调器跟带有继电器的终端节点放在一个房间,在另一个房间放了个路由跟带按键的终端节点
情况就是这样的,这是怎么回事,还请指教,谢谢
个人判断:
后来做了一个测试,将终端节点的数据直接发送到路由器,
路由器收到后一方面用作自己显示数据,另一方面马上再转发给协调器,
这种情况下发现,终端节点运行几个小时或者一天后,
led指示灯就会闪烁不停,这应该是出错时的状态吧,
以上终端节点和路由器发送数据都有开ACK_REQUEST,
个人觉得可能是因为节点向路由器发送完数据后,等待路由器的ACK,
而路由器由于忙于向协调器转发数据,没有响应节点的请求,
导致节点没收到路由器的ACK,
从接收到的数据看,节点每组数据都发了3遍(无响应重发3次),
也证明了这一点,
时间长了,就出错了?
另,我把ACK_REQUEST取消掉之后,运行一周都没问题。
可以使用PACK SNIFFER来抓抓包看看。看断网后,是否有重新加入的过程。
http://www.ti.com/tool/packet-sniffer
试了一下用协调器向节点发命令
发现有时有响应有时无响应
说明网络时而断开时而连上的吧
板上只有一个led灯
闪烁不停
本来节点每隔几分钟会上传一组数据的
但因为这样一直无数据上来
之前一直没问题的
不明白为什么我加了个按键遥控功能之后就成这样了
yiucing din
试了一下用协调器向节点发命令
发现有时有响应有时无响应
说明网络时而断开时而连上的吧
板上只有一个led灯
闪烁不停
本来节点每隔几分钟会上传一组数据的
但因为这样一直无数据上来
之前一直没问题的
不明白为什么我加了个按键遥控功能之后就成这样了
协调器广播的时候,有问题的节点有时有响应有时无响应
单播那个有问题的节点时,一直都有响应
不知道网络是不是时而断开时而连上
现在感觉奇怪的是
向节点发命令有响应
而节点不会主动发送数据
1、本来每隔几分钟会发一组数据,却一直没发
2、程序里定义,长按按键会发一个消息给协调器,也没发
其中长按按键之后执行的程序是
static void Node_SendMatchCmd(void)
{
uint8 u8SendBuf[6];
if(_NIB.nwkState == NWK_ENDDEVICE)
{
u8SendBuf[0] = ;
u8SendBuf[1] = ;
u8SendBuf[2] = ;
u8SendBuf[3] = SENSOR_USER_INDEX_NODE_MATCH;
u8SendBuf[4] = 0;
zb_SendDataRequest( 0x0000, COLLECTOR_CTRL_CMD_ID, \
5, u8SendBuf, 0, AF_TX_OPTIONS_NONE, 0 );
}
}
不知道什么原因,无从下手啊,望给个建议,谢谢
你好,请问你这个问题解决了吗?我也碰到了相同的问题,我们可以一起讨论一下,欢迎加我QQ489279443
ti的zigbee 协议栈 的end device 设计得比较不稳定 我在end device 是吃了大苦头的,平常心 我身边一些朋友 做zigbee在慢慢换其他协议了
@Jie liao,
你好,能否分享下你觉得哪里设计比较不稳定?
你的具体问题是什么?
我们有大量的客户TI 协议栈开发的产品,包括End Device都能稳定工作。
VV你好
我现在用的是2.5.1
enddevice断网重连的时候有时候连不上之后还进不了低功耗,一直都是28ma,原来是能进pm2的