找回密码
 立即注册

微信扫码登录

查看: 315|回复: 6

协调器如何判断终端掉线

[复制链接]

3

主题

8

回帖

47

积分

英勇黄铜

积分
47
发表于 2024-12-25 09:49:40 | 显示全部楼层 |阅读模式
information
说明:   建议参照本版块置顶帖内容输入必要信息
芯片型号:
SDK及版本:
我的协调器设备如何去判断我的低功耗终端是否掉线了呢。

27

主题

215

回帖

707

积分

版主

积分
707
发表于 2024-12-25 17:05:33 | 显示全部楼层
这个需要应用层去实现。比如:终端设备周期性的上报数据,协调器在几个周期内收不到数据认为其离线。

3

主题

8

回帖

47

积分

英勇黄铜

积分
47
 楼主| 发表于 2024-12-25 17:31:37 | 显示全部楼层
TL_YB 发表于 2024-12-25 17:05
这个需要应用层去实现。比如:终端设备周期性的上报数据,协调器在几个周期内收不到数据认为其离线。 ...

噢噢噢 能用那个poll_ctrl去做嘛?

27

主题

215

回帖

707

积分

版主

积分
707
发表于 2024-12-25 17:50:01 | 显示全部楼层
当然可以。Poll Control的Check In就是一个周期事件。

3

主题

8

回帖

47

积分

英勇黄铜

积分
47
 楼主| 发表于 2024-12-26 08:31:11 | 显示全部楼层
TL_YB 发表于 2024-12-25 17:50
当然可以。Poll Control的Check In就是一个周期事件。

好的 我试试看

3

主题

8

回帖

47

积分

英勇黄铜

积分
47
 楼主| 发表于 2024-12-26 10:50:44 | 显示全部楼层
TL_YB 发表于 2024-12-25 17:50
当然可以。Poll Control的Check In就是一个周期事件。

感觉抓不到poll_ctrl的,只有data request 我在网关如何去拿到这个data request的数据呢
20241226104835.png

27

主题

215

回帖

707

积分

版主

积分
707
发表于 2024-12-26 19:03:54 | 显示全部楼层
从代码可以看出,你需要往终端的check in interval属性写一个值去触发poll control check in。
static void sampleSensor_zclWriteReqCmd(u16 clusterId, zclWriteCmd_t *pWriteReqCmd)
{
#ifdef ZCL_POLL_CTRL
        u8 numAttr = pWriteReqCmd->numAttr;
        zclWriteRec_t *attr = pWriteReqCmd->attrList;

        if(clusterId == ZCL_CLUSTER_GEN_POLL_CONTROL){
                for(s32 i = 0; i < numAttr; i++){
                        if(attr[i].attrID == ZCL_ATTRID_CHK_IN_INTERVAL){
                                sampleSensor_zclCheckInStart();
                                return;
                        }
                }
        }
#endif
}

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Telink forum ( 沪ICP备17008231号-1 )

GMT+8, 2025-2-5 14:52 , Processed in 0.100481 second(s), 23 queries .

Powered by Telink 隐私政策

泰凌微电子版权所有 © 。保留所有权利。 2024

快速回复 返回顶部 返回列表