固件升级

## 固件升级 ### 设备上报固件版本 数据上行。 Topic:`/ota/device/inform/${YourProductKey}/${YourDeviceName}` 设备通过这个Topic上报当前使用的固件版本信息。 请求数据格式如下: ``` { "id": "123", "params": { "version": "1.0.1" } } ``` 请求参数说明 |参数|类型|说明| |-|-|-| |id|string|消息ID号。需定义为String类型的数字,且设备维度唯一。| |version|string|设备固件的版本信息。| ### 物联网平台推送固件信息 数据下行。 Topic:`/ota/device/upgrade/${YourProductKey}/${YourDeviceName}` 物联网平台通过这个Topic推送固件信息, 设备订阅该Topic可以获得固件信息。 请求数据格式如下: ``` { "code": "1000", "data": { "size": 432945, "version": "2.0.0", "url": "https://iotx-ota-pre.oss-cn-shanghai.aliyuncs.com/nopoll_0.4.4.tar.gz?Expires=1502955804&OSSAccessKeyId=XXXXXXXXXXXXXXXXXXXX&Signature=XfgJu7P6DWWejstKJgXJEH0qAKU%3D&security-token=CAISuQJ1q6Ft5B2yfSjIpK6MGsyN1Jx5jo6mVnfBglIPTvlvt5D50Tz2IHtIf3NpAusdsv03nWxT7v4flqFyTINVAEvYZJOPKGrGR0DzDbDasumZsJbo4f%2FMQBqEaXPS2MvVfJ%2BzLrf0ceusbFbpjzJ6xaCAGxypQ12iN%2B%2Fr6%2F5gdc9FcQSkL0B8ZrFsKxBltdUROFbIKP%2BpKWSKuGfLC1dysQcO1wEP4K%2BkkMqH8Uic3h%2Boy%2BgJt8H2PpHhd9NhXuV2WMzn2%2FdtJOiTknxR7ARasaBqhelc4zqA%2FPPlWgAKvkXba7aIoo01fV4jN5JXQfAU8KLO8tRjofHWmojNzBJAAPpYSSy3Rvr7m5efQrrybY1lLO6iZy%2BVio2VSZDxshI5Z3McKARWct06MWV9ABA2TTXXOi40BOxuq%2B3JGoABXC54TOlo7%2F1wTLTsCUqzzeIiXVOK8CfNOkfTucMGHkeYeCdFkm%2FkADhXAnrnGf5a4FbmKMQph2cKsr8y8UfWLC6IzvJsClXTnbJBMeuWIqo5zIynS1pm7gf%2F9N3hVc6%2BEeIk0xfl2tycsUpbL2FoaGk6BAF8hWSWYUXsv59d5Uk%3D", "md5": "93230c3bde425a9d7984a594ac55ea1e", "sign": "93230c3bde425a9d7984a594ac55ea1e", "signMethod": "Md5" }, "id": "1507707025", "message": "success" } ``` 请求参数说明 |参数|类型|说明| |-|-|-| |id|string|消息ID号。需定义为String类型的数字,且设备维度唯一。| |message|string|结果信息。| |code|string|状态码。| |version|string|设备固件的版本信息。| |size|long|固件大小,单位:字节。| |url|string| 固件在对象存储(OSS)上的存储地址。| |sign|string|固件签名。| |signMethod|string|签名方法, 目前支持Md5,Sha256两种签名方法。| |md5|string|当签名方法为Md5时,除了会给sign赋值外还会给md5赋值。| ### 设备请求固件信息 数据上行。 请求Topic:`/sys/{productKey}/{deviceName}/thing/ota/firmware/get` 响应Topic:`/sys/{productKey}/{deviceName}/thing/ota/firmware/get_reply` 请求数据格式如下: ``` { "id": "123", "version": "1.0", "params": {}, "method": "thing.ota.firmware.get" } ``` 请求参数说明 |参数|类型|说明| |-|-|-| |id|string|消息ID号。需定义为String类型的数字,且设备维度唯一。| |version|string|Dlink协议版本,目前取值固定为`1.0`。 | |params|string|请求参数。| |method|string|请求方法,取值`thing.ota.firmware.get`。| 返回数据格式如下: ``` { "id": "123", "code": 200, "data": { "size": 93796291, "sign": "f8d85b250d4d787a9f483d89a9747348", "version": "1.0.1.9.20171112.1432", "url": "https://the_firmware_url", "signMethod": "Md5", "md5": "f8d85b250d4d787a9f483d89a9747348" } } ``` 返回参数说明 |参数|类型|说明| |-|-|-| |id|string|消息ID号。需定义为String类型的数字,且设备维度唯一。| |code|string|状态码。| |version|string|设备固件的版本信息。| |size|long|固件大小,单位:字节。| |url|string| 固件在对象存储(OSS)上的存储地址。| |sign|string|固件签名。| |signMethod|string|签名方法, 目前支持Md5,Sha256两种签名方法。| |md5|string|当签名方法为Md5时,除了会给sign赋值外还会给md5赋值。|