TI大神,你好!
请教问题如下
问题背景:
1、应用TI15.4协议栈LRM 模式 5k速率,每半小时sensor向collector发送一次数据,collector接收到sensor信息并串口打印;
2、collector与 sensor距离很近,经过实地测量平均信号强度为-87dbm;
3、collector配对6个sensor。
问题描述:
1、所有设备上电,系统正常稳定工作5小时左右,collector串口输出:
!Responding: 0x1
!Responding: 0x2
!Responding: 0x3
!Responding: 0x4
!Responding: 0x5
!Responding: 0x6
然后串口无信息输出。
2、故障出现几小时后,sensor不重启,重启collector后,sensor能够重新入网,并正常工作。
3、已经排除内存溢出的可能性、
4、怀疑会不会是串口引发的问题?
望大神不吝赐教!
Alvin Chen:
发送Responding: 0x1是由于 tracking message 没有成功的原因,或者是tracking 失败。The application calls this function to indicate that a device is no longer active in the network
在过高的 polling time可能存在一些问题。当你的collector 想要下发一些信息给到sensor时,很有可能因为你的sensor在poll 间隔期无法发出。
Responding 通常时由于没有发出,然后collector 决定了判读sensor 是否存在,所以发出了 tracking ,
当 tracking message 没有在TRACKING_DELAY_TIME收到了rsp 则认为该设备为非alive状态,因为它从未回复跟踪消息。从而触发Csf_deviceNotActiveUpdate。请问你是否对demo进行了修改,特别是下面的参数:
#define CONFIG_REPORTING_INTERVAL 2000
/*!Polling interval in milliseconds to be set on connected devices usingconfiguration request messages. Must be greater than or equal to defaultpolling interval set on sensor devices*/
#define CONFIG_POLLING_INTERVAL 500
/*!Time interval in ms between tracking message intervals*/
#define TRACKING_DELAY_TIME 2000
Alvin Chen:
回复 user5153918:
也是有可能的不好说,你都说了是偶然现象。
Alvin Chen:
回复 user5153918:
你把TRACKING_DELAY_TIME 加大到和你的CONFIG_REPORTING_INTERVAL一样测试一下。
user5153918:
回复 Alvin Chen:
还有一种情况可以恢复网络通信:
在不下电的情况下,将传感器和集中器分开到保证没有信号通信的地方,然后再放回原位,这时,可以重新连接
Alvin Chen:
回复 user5153918:
这种是正常的rejoin 操作。
user5153918:
回复 Alvin Chen:
在demo中:collector的 CONFIG_REPORTING_INTERVAL是300000,我们改为1800000sensor的 CONFIG_REPORTING_INTERVAL是600000,我们同样改为1800000
两个问题:
1、demo 中collector和 sensor的CONFIG_REPORTING_INTERVAL是不相同的,经过测试demo中,实际的CONFIG_REPORTING_INTERVAL应该是300000。为什么这么配置?
2、我们应用中将collector 和sensor的 CONFIG_REPORTING_INTERVAL改位相同的1800000,会不会存在问题?另外:还有一种情况可以恢复网络通信:
在不下电的情况下,将传感器和集中器分开到保证没有信号通信的地方,然后再放回原位,这时,可以重新连接。
YiKai Chen:
回复 user5153918:
sensor加入collecotor後會先用自己本身的CONFIG_REPORTING_INTERVAL ,但是如果收到collector 的 CONFIG_REPORTING_INTERVAL 封包去更動sensor的report interval,就會改用collector 的 CONFIG_REPORTING_INTERVAL
user5153918:
回复 Alvin Chen:
但是,当上述故障出现后,不这么操作的时候,传感器无法rejoin
YiKai Chen:
回复 user5153918:
collector与 sensor距离很近,经过实地测量平均信号强度为-87dbm;你用的是TI的開發版,還是你自己的硬件?如果是你自己的硬件,看來你硬件RF 設計有問題,要先詳查這部份