物联网设备进行OTA升级,需先在阿里云物联网平台为对应产品添加升级包。本文介绍添加升级包的具体操作步骤。

前提条件

设备端已支持OTA升级功能。具体内容,请参见设备端Link SDK的OTA升级

若添加包含多个文件的OTA升级包,设备端必须支持使用多个升级包文件发起的升级任务,进行OTA升级。具体内容,请参见多个文件的OTA升级

注意 目前,仅C语言的设备端Link SDK支持开发多个文件的OTA升级功能。

背景信息

OTA升级的使用说明,请参见OTA升级概述。设备端进行OTA升级的流程,请参见设备端OTA升级

操作步骤

  1. 登录物联网平台控制台
  2. 实例概览页面,找到对应的实例,单击实例进入实例详情页面。
    实例概览
  3. 在左侧导航栏,选择监控运维 > OTA升级
    说明 为提供更好的服务,物联网平台改版了原OTA升级,新增了升级包版本统计功能。首次进入改版后的OTA升级页面时,您需要手动将之前上传的升级包与产品进行关联。升级包与产品一一对应,一个升级包只能关联一个产品。详情请参见控制台指引。
  4. (可选)若您的设备搭载了AliOS Things芯片,可以开启安全升级功能。

    安全升级是保证升级包完整性、机密性的一种方式,建议打开。使用安全升级功能,设备端需配合对升级包和升级包的签名进行验证。具体操作,请参见AliOS Things技术文档

    1. OTA升级页面,单击安全升级
    2. 在对话框中,将待升级产品对应的安全升级按钮设置为
      当安全升级功能为时,可单击对应的复制按钮,复制公钥,用于设备端验证签名。
  5. (可选)自定义OTA模块。
    OTA模块是同产品下设备的不同可升级模块,例如固件、软件、驱动等。默认(default)模块表示整个设备的固件,支持自定义其他OTA模块。

    模块列表页签,单击添加模块,配置模块信息,单击确认

    参数 说明
    所属产品 选择模块所属产品。
    模块名称 设置模块名称。模块名称需要在产品下唯一,创建后不可修改。支持英文字母、数字、半角句号(.)、短划线(-)和下划线(_),长度限制为1~64个字符。
    模块别名 设置模块别名。支持英文字母、数字、半角句号(.)、短划线(-)和下划线(_),长度限制为4~64个字符。
    模块描述 可描述该模块的用途等信息。描述长度不超过100个字符,一个中文计为一个字符。
  6. OTA升级页面,单击升级包列表页签,单击添加升级包
  7. 配置升级包信息,上传升级包文件,单击确认
    参数 描述
    升级包类型
    • 整包:您上传的升级包文件是完整的升级包文件,将推送整包升级包给设备进行升级。
    • 差分:您上传的升级包文件仅包含新版本升级包与之前版本的差异部分,仅推送差异部分至设备,设备进行差分还原,还原为完整升级包。差分升级可有效减少升级对设备资源的占用,和减少下发升级包的流量消耗。

      以下情况,我们提供差分包生成方法和差分还原算法。您也可以自行生成差分包并完成差分还原算法开发。

    升级包名称 设置升级包名称,需在阿里云账号下唯一,创建后不可修改。支持中文、英文字母、日文、数字、短划线(-)、下划线(_)和半角圆括号(()),必须以中文、英文、日文或数字开头,长度限制为1~40个字符。

    添加升级包成功后,可在升级包详情页面的升级包信息页签,单击编辑,修改升级包名称

    所属产品 选择升级包所属产品。
    升级包模块 选择升级包所属OTA模块。

    您可以单击添加模块,在弹出的对话框中新增一个模块。

    升级包版本号 设置该升级包的版本号。版本号支持英文字母、数字、半角句号(.)、短划线(-)和下划线(_),长度限制为1~64个字符。

    升级包类型选择为整包时,需设置的参数。

    待升级版本号 输入或选择待升级设备的OTA模块版本号。下拉列表中,将展示当前产品下所有设备的OTA模块版本号,选择一个待升级的版本。

    升级包类型选择为差分时,需设置的参数。

    升级后版本号 设置该升级包的版本号。

    升级包类型选择为差分时,需设置的参数。

    签名算法 支持MD5和SHA256算法。

    当设备使用阿里云提供的Android SDK,且升级包类型选择为差分时,请选择MD5算法。

    上传升级包 上传升级包文件。最多支持上传20个文件,总文件大小不能超过2,000 MB。文件格式仅支持.bin.tar.gz.zip.gzip.apk.tar.gz

    上传多个升级包文件时,需注意:

    • 文件名称不能重复,单个文件名称长度不能超过32个字符。
    • 物联网平台会校验多个文件的签名是否一致,若文件签名一致,则视其为重复的文件。
    升级包是否需要平台验证 选择是否在批量升级前,使用少量测试设备对升级包进行验证。
    • :必须进行验证,验证通过后,才能进行批量升级。
    • :无需验证,直接进行批量升级。
    升级包描述 可描述该升级包的功能等信息。描述长度不超过1024个字符,一个中文计为一个字符。

    添加升级包成功后,可在升级包详情页面的升级包信息页签,单击编辑,修改升级包描述

    推送给设备的自定义信息 添加该升级包完成,并创建升级任务后,物联网平台向设备推送升级通知时,会将该自定义信息下发给设备。

    自定义信息的长度不超过4096个字符,内容和格式没有限制。

    添加升级包成功后,可在升级包详情页面的升级包信息页签,单击编辑,修改推送给设备的自定义信息

    升级包安全检测服务 检测您上传的升级包的安全性。目前仅华东2(上海)的公共实例支持该服务。

    选择使用检测服务后,需输入您的邮箱地址,用于接收检测报告。

    完成添加升级包后,开始执行检测。在升级包详情页面的升级包信息页签下,升级包安全检测服务模块将展示检测状态安全风险数

执行结果

升级包添加完成后,可在升级包列表查看,如图所示。

升级包列表

后续操作

若升级包中升级包是否需要平台验证选择了,需先验证升级包。具体操作,请参见(可选)验证升级包

否则,可直接向设备发起批量升级。具体操作,请参见发起升级批次任务

相关API

API 描述
GenerateOTAUploadURL 生成升级包文件上传到OSS的URL及详细信息。
CreateOTAFirmware 添加升级包。
CreateOTAModule 创建产品的OTA模块。
UpdateOTAModule 修改OTA模块别名、描述。
DeleteOTAModule 删除自定义OTA模块。
ListOTAModuleByProduct 查询产品下的OTA模块列表。
DeleteOTAFirmware 删除指定升级包。
ListOTAFirmware 查询升级包列表。

OTA相关API的更多信息,请参见OTA升级相关API