系统基本功能 - 心跳
心跳
sys/{product_id}/{device_id}/thing/heart
示例:
{
"id": "f87c3303fb7503fb",
"time": 1618540337564,
"interval": 30
}
说明:
和心跳回复对应,直连设备用于检验IoT服务连接以及健康状态。
直连设备使用此Topic发送消息后,在interval
的1.5倍时间内若未使用此Topic发送下一次心跳消息,则会被IoT平台进行一次踢出操作,踢出会将设备从MQTT Broker断开,并将设备在线状态置为离线。
sequenceDiagram
participant Device as 直连设备
participant Broker as MQTT Broker
participant Platform as IoT平台
Device->>Broker: 发送心跳消息
Broker->>Device: 确认收到心跳消息
loop 1.5倍interval
Broker->>Device: 等待下一次心跳消息
Note over Device: 在1.5倍interval内发送心跳消息
end
alt 超时
Platform->>Broker: 执行踢出操作
Broker->>Device: 断开连接
else 心跳继续
Platform->>Broker: 继续等待
end
字段说明:
字段 | 类型 | 说明 |
---|---|---|
id | string |
消息ID,用于标识每一条Payload,每个消息ID在当前设备中具有唯一性 |
time | long |
13位时间戳 |
interval | int |
30 - 1200之间的整数(单位:秒),可以不传递,默认为30s |
心跳回复
sys/{product_id}/{device_id}/thing/heart/response
示例:
{
"id": "f87c3303fb7503fb",
"time": 1618540337564,
"interval": 30
}
说明:
IoT平台响应心跳请求
字段说明:
心跳响应会返回与心跳请求完全相同的报文,平台判断在离线则是根据实际接收到报文的时间(报文中的time只用于标识设备时间)来判断的。
最后修改时间: 9 个月前