Files
banban/talkingq-url/docs/ota_progress_protocol.md
T

1.5 KiB

OTA 003 实时进度协议

设备通过 device/{device_id}/response 上报 OTA 状态。服务器下发 OTA 命令仍使用 msg_id=003,设备回执使用相同的 msg_id。

进行中回执

{
  "msg_id": "003",
  "status": "updating",
  "data": {
    "target_version": "2.0.4",
    "progress": 30
  }
}

progress 表示设备当前已完成的百分比,范围为 0 到 100。设备应在状态变化时上报,并避免高频重复发送。target_version 应与服务器下发任务的目标版本一致。

状态约定

状态 必要字段 服务器行为
accepted current_version、target_version 记录设备已接受任务,进度默认为 0
updating target_version、progress 保存最新进度并供小程序查询
success new_version 或 target_version 记录完成,进度置为 100,随后以设备重启后的版本上报作为最终确认
failed target_version、可选 progress 保存失败状态和最后有效进度

服务器兼容旧设备上报的 version、new_version 字段,并优先使用 target_version 作为本次任务目标。非法进度值不会覆盖已保存的有效进度。

小程序通过设备固件状态接口轮询 update_status、progress 和 target_version,显示最近一次服务器收到的设备进度。进度达到 100 仍显示为等待设备确认,直到设备重启后上报目标版本。