文档

设备状态相关问题

更新时间:

本文介绍物联网平台设备状态相关的常见问题。

物联网平台设备状态显示未激活,如何激活?

设备当前状态为未激活,表明设备没有一次成功接入过物联网平台。

设备首次接入物联网平台之后会自动激活,设备可通过以下方式激活:

设备接入物联网平台的更多详细说明,请参见设备接入引导

设备离线是指设备不通电了吗?

不一定,设备主动离线、断网、断电、禁用设备都属于设备离线场景。

如何获取设备状态变更消息?

您可通过规则引擎功能获取设备状态变更消息。

通过规则引擎的服务端订阅或云产品流转功能,可配置设备状态变更通知转发规则,获取设备上线、离线消息。

详细内容,请参见规则引擎的通信方式

设备状态变更通知的消息会有延迟吗?

会。设备上线和主动离线的通知消息,延迟短;设备异常离线(例如断网、断电)后需要时间进行判断,通知消息会有延迟。

设备离线通知为什么有延迟?

设备基于MQTT协议接入物联网平台时,需要设置MQTT连接心跳时间(30秒至1,200秒)。详细内容,请参见MQTT接入示例

物联网平台每隔30秒定时检测一次设备的保活心跳,设备上线时间点距离最新定时检测时间点的时间,是定时检测的等待时间。定义最大超时时间为:保活心跳时间*1.5+定时检测的等待时间。超过最大超时时间未收到设备消息,服务器会自动断开连接,设备状态变为离线。

综上所述,设备异常离线后,判断设备离线需要时间,设备状态的变更通知消息就会延迟。

设备状态变更通知的状态与设备实际状态不一致,为什么?

因设备状态变更通知消息会有延迟,收到消息的时间可能与设备实际状态变更时间不一致。您需要根据消息中时间戳判断设备最新的状态。详细说明,请参见设备上线、离线消息的数据格式

设备离线分析

  • 如果设备主动发送离线请求,此时显示离线是即时的。

  • 如果设备异常离线,即不是主动发送离线请求,物联网平台云端根据心跳判断设备是否离线。

    MQTT连接心跳时间为30秒至1,200秒。心跳时间不在此区间内,服务器将会拒绝连接。建议取值300秒以上。

    从物联网平台发送CONNACK响应CONNECT消息时,开始心跳计时,收到PUBLISH、SUBSCRIBE、PING或PUBACK消息时,会重置计时器。

    超过指定1.5倍心跳时间未收到消息(指定心跳时间乘以1.5),服务器将自动断开连接。此时设备显示离线。

    心跳保活的详细说明,请参见MQTT保活

  • 本页导读 (1)