长连接服务API
物联网智能视频服务提供基于用户维度的长连接通道服务,包括连接通道的绑定、解绑和消息接收。通过长连接服务,客户端可以轻松的实现监听设备的实时变更消息。目前设备整体集成SDK后,SDK会自动完成相关服务Topic订阅。本文介绍自动订阅的Topic及消息内容。
设备属性变更推送
Topic:
/sys/${productKey}/${deviceName}/app/down/thing/properties。消息内容:
{ "id": "157355878******192", "version": "1.0", "params": { "iotId":"0300MSKL****************74Sv4Za4", "productKey":"X5eC*****", "deviceName":"5gJtxDV******", "items":{ "temperature":{ "time":1510292697471, "value":30 }, "meterReadingMonth":{ "time":1510292697470, "value":715665571 }, "alarm":{ "time":1510292697470, "value":"normal" } } }, "method":"thing.properties" }
其中items字段表示变更的属性列表(key-value健对值)。以其中一个key-value举例说明:
temperature表示属性标识符,对应属性的identifier。
time表示属性上报value对应的时间戳。
value表示设备属性值(value数据规范可参考TSL描述)。
设备事件变更推送
Topic:
/sys/${productKey}/${deviceName}/app/down/thing/events。消息内容:
{ "id": "1573558********192", "version": "1.0", "params":{ "identifier":"BrokenInfo" "name":"损坏率上报", "type":"info", "iotId":"4z819VQH****************7ee200", "productKey":"X5eC*******", "deviceName":"5gJtxDV******", "value":{ "Power":"on", "structParam":{ "param1":"abc", "param2":123 } }, "time":1510799670074 }, "method":"thing.events" }
其中:
identifier表示事件标识符,对应事件的identifier。
value表示变更的事件属性列表(
key-value健值对)。time表示事件上报value对应的时间戳。
type表示事件类型,可取值包括
info、error、block。
设备连接状态变更推送
Topic:
/sys/${productKey}/${deviceName}/app/down/thing/status。消息内容:
{ "id": "1573558********193", "version": "1.0", "params":{ "iotId":"0300MSKL036****************v4Za4", "productKey":"X5eC*******", "deviceName":"5gJtxDVe******", "status":{ "time":1510292697471, "value":0 } }, "method":"thing.status" }
其中status字段:
value表示设备生命周期,可取值:
0:未激活。
1:上线。
3:离线。
8:禁用。
time表示当前状态的开始时间。
子设备添加结果推送
Topic:
/sys/${productKey}/${deviceName}/app/down/thing/topo/add/status。消息内容:
{ "id":"1573558********192", "version":"1.0", "param":{ "status":0, "subIotId":"tyyhy************", "subProductKey":"g5hy*******", "subDeviceName":"gth******", "oldGwIotId":"ht4************", "oldGwProductKey":"6yj******", "oldGwDeviceName":"device***", "newGwIotId":"ujh8******", "newGwProductKey":"yu7k******", "newGwDeviceName":"device0111***" }, "method":"thing.topo.add.status" }
其中status表示子设备的注册结果,可取值:
0:添加成功。
1:子设备注册成功,但设备已被其它网关绑定。
2:子设备注册失败。
固件升级进度推送
Topic:
/sys/${productKey}/${deviceName}/app/down/ota/device/forward。消息内容:
{ "id": "1573558********192", "version": "1.0", "params": { "iotId": "*****yh***", "srcVersion": "1.0.*", "destVersion": "2.8.*", "step": 50, "desc": "test", "upgradeStatus": 1 }, "method":"ota.device.forward" }
其中:
srcVersion表示最近一次升级的源版本。
destVersion表示最近一次升级目标版本。
step表示固件升级进度信息,可取值:
-1:表示升级失败。
-2:表示下载失败。
-3:表示校验失败。
-4:表示烧写失败。
[1,100] 之间的数字:表示升级进度百分比。
desc表示当前步骤的描述信息,如果发生异常,此字段可承载错误信息。
upgradeStatus表示升级结果,可取值:
0:待升级或待确认。
1:升级中。
2:升级异常。
3:升级失败。
4:升级完成。