EMS3.0/00. 预研阶段/wudun_EMS_MQTT/level-2-ems/ota.md

7.5 KiB
Raw Blame History

description
OTA

[未上线]OTA

下发OTA命令

  • Topic

    • 用户自定义MQTT v1/wudun/${PRODUCT_KEY}/${DEVICE}/ota/upgrade/command
    • 平台默认MQTT v1/user/${TENANT}/${DEVICE}/ota/upgrade/command
  • **权限:**订阅

  • Payload主结构

    参数类型是否必填描述范围样例
    midUUIDtrue消息ID-3e681859-6917-4b9a-9afd-3f162cd185bd
    typestrtrue消息类型ota_upgradeota_upgrade
    datadatatrue消息内容-Payload - data
    sub_device_uidstrtrue一级设备UID仅二级替一级设备上报时需要该字段-jHODSda39
    device_uidstrtrue设备UID-iYRkfVpi77
    timestampinttrue消息时间戳(单位:毫秒)(0, ∞)1696837112000
  • Payload - data

参数 类型 是否必填 描述 样例
source string 更新目标 ems_II
download_url string 下载链接 http://example.com/ems_II
md5_code string MD5码

50a2811e047dd49ace3801685eedb732

  • Payload示例

{% code lineNumbers="true" %}

{
  "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",
  }
}

{% endcode %}

同步OTA结果响应

  • 说明:

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

  • 第一阶段

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

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

  • 第二阶段

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

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

  • Topic
    • 用户自定义MQTTv1/wudun/${PRODUCT_KEY}/${DEVICE}/ota/upgrade/result
    • 平台默认MQTT v1/user/${TENANT}/${DEVICE}/ota/upgrade/result
  • **权限:**订阅
  • Payload主结构
参数类型是否必填描述范围样例
midUUIDtrue消息ID-3e681859-6917-4b9a-9afd-3f162cd185bd
typestrtrue消息类型ota_upgradeota_upgrade
datadatatrue消息内容-Payload - data
sub_device_uidstrtrue一级设备UID仅二级替一级设备上报时需要该字段-jHODSda39
device_uidstrtrue设备UID-iYRkfVpi77
timestampinttrue消息时间戳(单位:毫秒)(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示例

{% code lineNumbers="true" %}

{
    "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
    }
}

{% endcode %}