物联网平台提供固件升级与管理服务。首先确保设备端支持OTA服务,然后在控制台上传新的固件,并将固件升级消息推送给设备,设备即可在线升级。本文将为您讲解如何设置固件升级和管理固件。

前提条件

固件升级功能前,请确保设备端支持OTA升级服务。

操作步骤

  1. 登录物联网平台控制台
  2. 左侧导航栏选择监控运维 > 固件升级
    说明 为提供更好的服务,物联网平台改版了原固件升级,新增了产品版本统计功能。首次进入改版后的固件升级页面时,您需要手动将之前上传的固件与产品进行关联。固件与产品一一对应,一个固件只能关联一个产品。详情请参考控制台指引。
  3. 在固件升级页,单击新增固件
    说明 一个阿里云账号下最多可有500个固件。
  4. 添加固件对话框中,输入固件信息,上传固件。


    表 1. 参数说明
    参数 描述
    固件名称 设置固件名称。仅支持中文、英文字母、数字和下划线,且不能以下划线开头。长度限制为4~32字符。
    固件版本号 输入固件版本号。仅支持英文字母、数字、点号、连字符和下划线。长度限制为1~64字符。
    所属产品 选择固件所属产品。
    签名算法 仅支持MD5和SHA256。
    上传固件 上传固件文件。文件大小不能超过1,000MB,仅支持bin,tar,gz,zip类型的文件。
  5. (可选)若您的设备搭载了AliOS Things芯片,可以使用安全升级功能。

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

    1. 在固件升级页,单击安全升级
    2. 在对话框中,将待升级产品对应的安全升级按钮置为
      当安全升级功能为 时,可单击对应的 复制按钮,复制公钥,用于设备端签名。
  6. 在固件列表中,单击固件对应的验证固件按钮,然后在一个或多个设备上进行固件测试。
    说明
    • 固件上传至物联网平台后,必须使用少量设备对固件进行验证。确认测试设备升级成功后,才能批量升级。您可以多次验证固件。
    • 只要您进行了固件验证操作,固件状态都会从未验证变为已验证,与设备的实际升级结果无关。单击对应固件的升级详情查看设备固件是否升级成功。


    参数 描述
    升级方式
    • 整包:将整个升级包推送至设备。
    • 差分:物联网平台将提取升级包与前一个版本的差异,仅将差异部分推送至设备。差分升级可有效减少升级对设备资源的占用。
      说明
      • 仅AliOS Things设备mk3060,esp8266两个型号支持差分升级功能。
      • 差分升级的目标固件大小不能小于20 KB。
    待升级版本号 下拉选项框中,展示当前产品下所有设备的固件版本号,选择一个或者多个待升级的固件版本。

    选择待升级版本号后,使用这些固件版本的设备将展示在DeviceName的下拉选项中。

    DeviceName 选择用于此次测试的设备。
    差分的固件名称 选择待差分升级的固件名称。
    说明 升级方式为 差分时的参数。
    切片大小规格 将固件进行切片传输,选择固件切片规格。支持不切片、2 MB、64 KB、32 KB四种规格。
    说明 升级方式为 差分时的参数。
    说明 设备接收固件升级通知:
    • 通过MQTT协议接入物联网平台的设备,在线时可以立即接收到升级通知;不在线的设备下次接入时,系统会再次推送升级通知。
    • 其他接入方式(如CoAP或者HTTPS)的设备都是短连接,在线时可以立即收到升级通知;不在线时,无法收到通知。
  7. 固件验证通过后,单击对应的批量升级按钮,设置参数,批量向设备定向推送升级通知。
    说明 批量升级前,请确保固件已验证。


    参数 描述
    升级方式
    • 整包:将升级包整包推送到设备端进行升级。需设置待升级的固件版本号。
    • 差分:将升级包与某一待升级固件间的差异提取出来,仅将差异部分推送至设备端进行升级。需设置待升级的固件版本号、差分的固件名称和切片大小。
    待升级版本号 下拉选项框中,展示当前产品下所有设备的当前固件版本号,选择待升级的固件版本。
    差分的固件名称 待差分升级的固件名称。
    说明 升级方式为 差分时的参数。
    切片大小规格 将固件进行切片传输,选择固件切片规格。支持四种规格:
    • 不切片
    • 2 MB
    • 64 KB
    • 32 KB
    说明 升级方式为 差分时的参数。
    升级策略
    • 静态升级:仅升级满足指定条件的当前设备。
    • 动态升级:满足指定条件的设备都将收到升级通知。动态升级将持续维护需升级的设备范围,包括当前已经上报版本号的设备和新激活的设备。
    升级范围
    • 全部设备:升级该产品下全部的设备。
    • 定向升级:选择定向升级后,在侧边弹出窗口中,选择要升级的设备。仅升级被选中的设备。
      说明 定向升级的待升级版本为多选。默认选中您之前已输入的待升级版本号。如果您未设置待升级版本号,则默认选中全部版本。
    • 区域升级:升级实际地理位置在指定区域的设备。
    升级时间 指定设备固件升级的时间。
    • 立即升级:设置完成后立即进行固件升级。
    • 定时升级:需设定升级时间,等到指定时间自动进行升级。定时时间范围是5分钟~7天。
      说明 仅升级策略为静态升级时,支持定时升级。

      设置定时升级时间后,在升级详情页的待升级页签下看到设备的待升级状态为:定时待升级(定时:xxxx-xx-xx xx:xx:xx)。

    升级失败重试间隔 如果升级失败,在什么时候进行重试升级。可选:
    • 不重试
    • 立即重试
    • 10分钟后重试
    • 30分钟后重试
    • 1小时候重试
    • 24小时候重试
    升级重试上限次数 选择升级失败后,最多可重试几次。可选:
    • 1次
    • 2次
    • 5次

执行结果

升级详情

单击该固件的升级详情查看升级状态。

  • 待升级:已选中的待升级设备。两种待升级状态:离线待升级和定时待升级(定时:xxxx-xx-xx xx:xx:xx)。
    • 离线设备在定时升级状态下,显示为定时待升级。
    • 定时升级时间到,升级任务启动,设备为离线状态,显示为离线待升级。
  • 升级中:设备收到升级通知并上传升级进度。
  • 升级成功:本次升级成功的设备。
  • 升级失败:本次升级失败的设备及升级失败原因简述。

    以下原因可能造成设备升级失败:

    • 若设备未结束上一次升级动作,再次推送升级时,会升级失败。可以等设备完成上一次升级动作后,再次尝试。
    • 设备在实际升级过程中出现如下载失败、校验失败、解压失败等错误。可以尝试再次升级。

版本分布

固件升级成功后,您可以单击固件升级页的版本分布页签,选择具体产品,查看固件版本分布状态。

  • 固件版本分布:该产品下所有设备固件版本占比情况。展示前5个占比最高固件名和版本号,其余固件归属为“其他”。
  • 固件版本占比:该产品下所有设备固件版本占比情况。
  • 设备列表:该产品下所有设备。可按照不同固件版本进行查询。