长连接服务API

更新时间:
复制为 MD 格式

物联网智能视频服务提供基于用户维度的长连接通道服务,包括连接通道的绑定、解绑和消息接收。通过长连接服务,客户端可以轻松的实现监听设备的实时变更消息。目前设备整体集成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表示事件类型,可取值包括infoerrorblock

设备连接状态变更推送

  • 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:升级完成。