设备上线,即设备端成功连接上物联网开发平台,设备状态显示为在线;设备下线,即设备端断开与物联网开发平台的连接,设备状态显示为离线。
设备上线
设备端通过 MQTT 接入物联网开发平台。
1. 物联网开发平台提供了多种语言的 SDK & Demo,这些 SDK 已封装了设备端与物联网开发平台的交互协议。
2. 开发设备端时,需在设备端上配置设备三元组,用于设备接入物联网开发平台时,进行身份验证。
3. 设备端 SDK 安装在物理设备上。
4. 设备通电联网后,接入物联网开发平台,如果设备第一次成功连接物联网开发平台,设备状态会由“未激活”变更成“在线”。
设备下线
设备下线后,该设备在物联网平台上的状态为“离线”。设备下线分为:
设备主动下线:设备端主动断开与物联网开发平台的 MQTT 连接。
设备被动下线:物联网开发平台主动断开与设备的连接。场景如下:
有其他设备使用相同的设备三元组接入物联网平台,导致当前设备被迫下线。
您在物联网开发平台上,删除或禁用了该设备等。
MQTT 保活
MQTT 连接心跳时间为30秒至900秒,心跳时间不在此区间内,物联网开发平台会拒绝连接。 建议取值300秒以上。
从物联网开发平台发送 CONNACK 响应 CONNECT 消息时,开始心跳计时。收到 PUBLISH、SUBSCRIBE、PING 或 PUBACK 消息时,会重置计时器。物联网开发平台会定期检测设备的保活心跳,设备上线时间点与最近一次检测时间点之间的间隔即为定时检测的等待时间。最大超时时间定义为:保活心跳时间 × 1.5。若超过最大超时时间未收到设备消息,物联网开发平台将会自动断开连接。
查看设备状态
1. 登录 物联网开发平台控制台。
2. 进入目标实例。
3. 在左侧导航栏选择设备。找到目标设备,单击进入设备详情页。

4. 在设备详情页选择设备信息页签,查看设备状态。
设备状态 | 说明 |
未激活 | 设备尚未成功连接物联网开发平台。 |
在线 | 设备当前已与物联网开发平台建立连接。 |
离线 | 设备曾成功连接平台,但当前连接已断开。 |
设备连接成功后,设备状态应显示为在线。

说明:
设备状态可能存在短暂刷新延迟。如果设备已完成连接但状态未更新,请刷新页面后重新查看。
5. 查看设备的每次上下线记录请 查询日志。
子设备上线与下线
子设备不直接连接物联网开发平台,而是通过网关与物联网开发平台建立连接,复用网关与物联网开发平台的通信通道。
前提条件
子设备上线与下线流程
1. 网关设备先接入物联网开发平台,网关设备上线与下线与正常设备一致 。
2. 子设备使用厂商自定义的协议接入网关设备。
子设备不直接连接物联网开发平台,由网关代理子设备连接物联网开发平台。网关发现子设备后,网关绑定子设备、代理子设备上下线和收发消息。
物联网开发平台中,网关实现的功能,如获取子设备密钥/证书、监测子设备上下线状态、接收子设备消息以及向子设备转发平台消息等,这些功能的具体实现由网关厂商与子设备厂商协议定义。
3. 网关查询与当前子设备是否有拓扑关系。如果网关与子设备间已存在拓扑关系,则忽略第5步。
4. (可选)网关向物联网开发平台上报子设备的 DeviceName,动态注册子设备。
说明:
此步骤仅适用于网关未获取到子设备的密钥/证书,且您已在控制台开启了子设备的动态注册功能的场景。
5. (可选)网关添加与子设备的拓扑关系。如果网关与子设备间目前不存在拓扑关系,需建立拓扑关系。
6. 网关代理子设备向物联网开发平台发起上线请求。
说明: