# OTA升级

物联网平台提供OTA升级与管理服务。本文介绍OTA升级消息的Topic和数据格式,包括设备上报OTA模块版本、物联网平台推送升级包信息和设备上报升级进度。

# 设备上报OTA模块版本

数据上行。

  • Topic:/ota/device/inform/${productKey}/${deviceName}

设备通过这个Topic上报当前的OTA模块版本信息,上报的版本信息可在设备详情中的固件版本查看。

请求数据格式:

{
  "id": "123",
  "params": {
    "version": "1.0.1",
    "module": "default"
  }
}

参数说明:

参数 类型 说明
id String 消息 ID 号。String 类型的数字,取值范围 0~4294967295,且每个消息 ID 在当前设备中具有唯一性。
version String OTA 模块版本。
module String OTA模块名,default模块可以不上报该字段。目前只支持default模块。

# 物联网平台推送OTA升级包信息

数据下行。

  • Topic:/ota/device/upgrade/${productKey}/${deviceName}

物联网平台通过这个Topic推送OTA升级包信息, 设备订阅该Topic可以获得升级包信息,升级包下载协议为HTTPS。

下行数据格式:

{
  "code": "1000",
  "data": {
    "version": "ddd",
    "url": "https://huadong2-wudashi.oss-cn-shanghai.aliyuncs.com/ota/profile/uploadPath/2025/06/30/727********.zip"
  },
  "id": 1751278865520,
  "message": "success"
}

参数说明:

参数 类型 说明
id Long 消息 ID 号。每个消息 ID 在当前设备中具有唯一性。
message String 结果信息。
code String 状态码。
version String 升级包名称(版本号)。
url String 升级包下载地址
module String 升级包所属的模块名。
说明: 模块名为default时,物联网平台不下发module参数。

# 设备上报升级进度

数据上行。

  • Topic:/ota/device/progress/${productKey}/${deviceName}

OTA升级过程中,设备可以通过这个Topic上报OTA升级的进度百分比。

请求数据格式:

{
  "id": "123",
  "params": {
    "step": "2",
    "desc": "OTA升级。",
    "module": "default"
  }
}

参数说明:

参数 类型 说明
id String 消息 ID 号。String 类型的数字,取值范围 0~4294967295,且每个消息 ID 在当前设备中具有唯一性。
step String OTA升级进度。
取值范围:
1~100的整数:升级进度百分比。
-1:升级失败。
-2:下载失败。
-3:校验失败。
-4:烧写失败。
-5:取消升级。
desc String 当前步骤的描述信息,长度不超过128个字符。如果发生异常,此字段可承载错误信息。
module String 升级包所属的模块名,default模块可以不上报该字段。目前只支持default模块。