[未上线]OTA

OTA

下发OTA命令

  • Topic:

    • 用户自定义MQTT: v1/wudun/${PRODUCT_KEY}/${DEVICE}/ota/upgrade/command

    • 平台默认MQTT: v1/user/${TENANT}/${DEVICE}/ota/upgrade/command

  • 权限:订阅

  • Payload主结构

    参数
    类型
    是否必填
    描述
    范围
    样例

    mid

    UUID

    消息ID

    -

    3e681859-6917-4b9a-9afd-3f162cd185bd

    type

    str

    消息类型

    ota_upgrade

    ota_upgrade

    data

    data

    消息内容

    -

    Payload - data

    sub_device_uid

    str

    一级设备UID,仅二级替一级设备上报时需要该字段

    -

    jHODSda39

    device_uid

    str

    设备UID

    -

    iYRkfVpi77

    timestamp

    int

    消息时间戳(单位:毫秒)

    (0, ∞)

    1696837112000

  • Payload - data

参数
类型
是否必填
描述
样例

source

string

更新目标

ems_II

download_url

string

下载链接

md5_code

string

MD5码

50a2811e047dd49ace3801685eedb732

  • Payload示例

{
  "trace_id": "577f5df0-65d6-432d-8aac-06hjkgfg2",
  "mid": "ee2e8f09-b280-4e4d-bcb9-1529b703cfed",
  "type": "ota_upgrade",
  "device_uid": "test",
  "timestamp": 1697789021000,
  "data":{
    "source": "ems_II",
    "download_url": "http://example.com/ems_II",
    "md5_code": "50a2811e047dd49ace3801685eedb732",
  }
}

同步OTA结果响应

  • 说明:

这里结果会有两阶段,发送两次响应,不同阶段对应的状态不同

  • 第一阶段

第一阶段是准备阶段,在下载好确认文件无误后状态是 2-文件已准备

状态有:1-禁止更新 2-更新已准备3-更新准备失败

  • 第二阶段

第二阶段是最后结果,如果更新成功后状态是 4-更新成功

状态有:4-更新成功 5-回滚成功 6-回滚失败

  • Topic:

    • 用户自定义MQTT:v1/wudun/${PRODUCT_KEY}/${DEVICE}/ota/upgrade/result

    • 平台默认MQTT: v1/user/${TENANT}/${DEVICE}/ota/upgrade/result

  • 权限:订阅

  • Payload主结构

参数
类型
是否必填
描述
范围
样例

mid

UUID

消息ID

-

3e681859-6917-4b9a-9afd-3f162cd185bd

type

str

消息类型

ota_upgrade

ota_upgrade

data

data

消息内容

-

Payload - data

sub_device_uid

str

一级设备UID,仅二级替一级设备上报时需要该字段

-

jHODSda39

device_uid

str

设备UID

-

iYRkfVpi77

timestamp

int

消息时间戳(单位:毫秒)

(0, ∞)

1696837112000

  • Payload - data

参数
类型
是否必填
描述
样例

source

string

来源

ems_II

version

string

当前版本

v1.0.0

target_commit_sha

string

目标提交SHA

6f7g8h9i0j1k

target_version

string

目标版本

v1.1.0

final_commit_sha

string

最终提交SHA

6f7g8h9i0j1k

final_version

string

最终版本

v1.1.0

status

int

更新状态

1-禁止更新

2-更新已准备

3-更新准备失败

4-更新成功

5-回滚成功

6-回滚失败

4

  • Payload示例

{
    "trace_id": "577f5df0-65d6-432d-8aac-011789wfg2",
    "mid": "389d9ac9-c660-4459-b9d5-f43160183552",
    "type": "ota_upgrade",
    "device_uid": "test",
    "timestamp": 1725615497191,
    "data": {
        "source": "ems_II",
        "target_commit_sha": "6a2bbabde8d42abc6f8fef7b31f60c5e69045245",
        "target_version": "0.9.1",
        "final_commit_sha": "6a2bbabde8d42abc6f8fef7b31f60c5e69045245",
        "final_version": "0.9.1",
        "status": 4
    }
}

最后更新于