固件升级

2024-09-09
暂无评分

功能概述

为实现对设备固件版本的维护,上云API 支持用户通过云端对机场与飞行器进行固件升级。用户可以实施单次升级以及批量升级、升级提示、升级进度的展示等。

为实现固件升级功能,需要用户预先在开发者官网下载所需的固件安装包,譬如M30系列的固件版本包open in new window。用户需要将固件安装包、固件版本等信息自行维护在云端服务器中。设备上报的固件属性信息与云端的固件包信息进行比对,判断是否需要固件升级。在云端下达固件升级命令时,需要在协议中补充升级设备的序列号、固件版本号、固件升级文件的存储地址、以及固件升级的类型等。设备可以通过固件升级进度命令中的percentstep_key参数得到固件升级的进度和当前步骤。具体请按照接口详细实现中的内容在云端 API 进行详细查阅。

注意:

  • 通过固件升级物模型属性上传,firmware_version和最新固件的版本号对比,可以用来判断是否需要普通升级。compatible_status可以用来判断是否需要一致性升级。
  • 升级的优先级顺序:普通升级 高于 一致性升级。普通升级能够覆盖一致性升级。因为如果设备的版本与固件最新版本一致为1.x,但是电池模块的固件偏低,所以设备端将会报需要一致性升级的物模型。但是如果固件最新版本为2.x,与设备的版本不一致,顺带会把版本偏低的电池模块升级,最终固件不一致的问题会被解决。

交互时序图

DJI DockCloud Serverloop[设备上传进度与云端响应]上报设备固件属性创建固件升级任务Topic: thing/product/{gateway_sn}/servicesMethod: ota_create设备响应Topic: thing/product/{gateway_sn}/services_reply上报升级任务进度与状态Topic: thing/product/{gateway_sn}/eventsMethod: ota_progress云端响应Topic: thing/product/{gateway_sn}/events_replyDJI DockCloud Server

接口详细实现

  • 机场物模型属性open in new window

  • 固件升级open in new window

    • 固件属性上报
      固件升级功能会上报设备固件版本号 - firmware_version固件一致性 - compatible_status两个属性字段。firmware_version和最新固件的版本号对比,可以用来判断是否需要普通升级。compatible_status可以用来判断是否需要一致性升级。

    • 固件升级任务下发
      云端下发的固件升级 API 需要完成设备的序列号、固件升级包相关信息以及固件升级类型的填充。

    • 固件升级进度
      设备上报固件升级进度到云端,通过字段的获取,可以在云端可视化界面呈现升级进度、升级进度百分比以及当前升级的步骤等关键信息。通过固件升级进度API的ota_progress字段来判断是否正在升级中。

若您对文档有意见或疑惑,点击可快速反馈,我们会与您联系。