跳至主要內容

OTA升级对接


设备OTA

  • 版本管理
  • 升级组管理(非必选)
  • 升级任务
  • OTA接口
  • 版本匹配规则

版本管理

创建版本:登录后台,点击OTA-版本管理

image-20240418101120450
image-20240418101120450
image-20240418101849738
image-20240418101849738

填写相关信息,上传升级包。

完成此步骤,升级包就有了。

升级组管理(非必选)

什么时候用到升级组呢?

当需要灰度升级的时候,或者需要AB测试的时候,控制部分设备升级,或者不升级。就可以创建升级组。

配置上在升级任务创建时,选择对应的升级组来控制升级。

image-20240418101515420
image-20240418101515420

点击创建升级组来创建组别,点击设备列表,管理升级组里的设备

升级任务

升级任务是用于控制什么时候升级,谁升级,升级哪个包的。

创建升级任务:

image-20240418101742888
image-20240418101742888
image-20240418101824264
image-20240418101824264
  • 升级类型:
    • 强制升级
    • 非强制升级
    • 强制下发不强制升级
  • 产型号:选择要升级的产品系列
  • 升级组,非必选,选择了就要选择白名单还是黑名单,白名单组内升级,黑名单组内不升级

OTA接口

https://iot.api.thisiot.com/ota/task?deviceId=deviceId&sourceVersion=sourceVersion
  • 请求方法:GET

  • 参数:

    • deviceId:设备ID
    • sourceVersion:源版本
  • 正式环境地址为:app.api.thisiot.com

  • 返回内容

    • 源版本不可以为空

      {
          "msg":"源版本不能为空.",
          "code":50000,
          "data":null,
          "success":false
      }
      
    • 设备未导入到平台中

      {
          "msg":"设备未注册.",
          "code":50012,
          "data":null,
          "success":false
      }
      
    • 已经是最新版本

      {
          "msg":"已是最新版本.",
          "code":20006,
          "data":null,
          "success":true
      }
      
    • 有新版本

      {
          "msg":"发现新版本.",
          "code":20007,
          "success":true,
          "data":{
              "updateId":"任务ID:用于上报更新结果",
              "sourceVersion":"源版本",
              "targetVersion":"目标版本",
              "updateType":"升级类型:0手动升级,1强制升级,2强制下载",
              "description":"升级内容",
              "packageId":"升级包的ID",
              "downloadFileVo":{
                  "url":"下载地址",
                  "md5":"升级包Md5",
                  "fileName":"文件名",
                  "size":"文件大小:kb long类型"
              }
          }
      }
      

匹配规则

  • 设备号需要导入到平台中
  • 源版本不可以为空
  • 根据源版本、公司ID(设备ID查到)、产品ID(设备ID查到)去匹配升级任务
    • 需要设备所属公司、源版本、设备所属产品进行匹配
    • 升级任务需要在开启状态
    • 当前时间在升级任务的开启时间段内
    • 如果同一个升级包有多个升级任务,那么则会使用最新的一个
    • 如果升级包有升级组则会判断升级组的类型
      • 黑名单:设备不能在升级组内
      • 白名单:设备必须在升级组内