固件升级

更新时间:2019-09-07 00:30:05

概述

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

固件在线升级功能是联网设备所必须支持的基础服务。在设备固件出现安全漏洞、软件BUG维护、自身功能优化、以及设备性能改良等需更新固件时,在线升级功能就尤为重要。

前提条件

使用固件升级功能前,请确保设备端支持OTA升级服务,请参见设备端SDK获取

背景信息

固件升级相关限制说明如下:

  • 一个阿里云账号下最多可有500个固件。

  • 固件文件大小不能超过1,000 MB,且仅支持bin、tar、gz、tar.gz、zip、gzip类型的文件。

  • 升级批次限制说明。

    • 升级批次:平台将已发起的各个升级任务展示为不同的升级批次。
      • 使用一个固件,可同时发起多个批次升级。
      • 一个设备同时只能在一个正在进行的升级批次中(设备处于待升级或正在升级状态)。
      • 使用同一个固件,只能对同一个待升级版本发起一个动态升级批次。
      • 使用不同固件,可对同一个待升级版本发起多个动态升级批次。但是,如果一个设备同时满足多个动态升级策略时,仅执行最新发起的升级策略。
  • 设备接收固件升级通知说明。

    • 通过MQTT协议接入平台的设备,在线时可以立即接收到升级通知;不在线的设备下次上线时,系统会再次推送升级通知。
    • 使用其他接入协议(如CoAP或者HTTPS)的设备,在线时可以立即收到升级通知;不在线的设备,则无法收到通知。

操作步骤

  1. 登录生活物联网平台的控制台
  2. 运营中心 **设备运维 > 固件升级**
  3. (可选)若您的设备搭载了AliOS Things芯片,可以开启安全升级功能。安全升级是保证固件完整性、机密性的一种方式,建议打开。使用安全升级功能,设备端需配合对固件和固件的签名进行验证。具体请参见AliOS Things技术文档
    1. 固件升级页,单击安全升级
    2. 在对话框中,将待升级产品对应的安全升级按钮设置为。当安全升级功能为时,可单击对应的复制按钮,复制公钥,用于设备端签名。
  4. 固件升级页,单击新增固件
  5. 添加固件对话框中,输入固件信息,上传固件文件。

image.png

参数 描述
固件类型
- 整包:您上传的固件文件是完整的固件文件,将推送整包固件给设备进行升级。
- 差分:您需自行生成差分升级包,然后上传到平台。您上传的固件文件仅包含新版本固件与之前版本的差异部分,仅推送差异部分至设备进行升级。undefined差分升级可有效减少升级对设备资源的占用,和减少下发固件的流量消耗。
如果设备使用AliOS-Things芯片,差分升级包的生成方法,可参见OTA差分工具使用指南
固件名称 设置固件名称。仅支持中文、英文字母、数字和下划线,且不能以下划线开头。长度限制为4~32字符。
固件版本号 设置该固件的版本号。仅支持英文字母、数字、点号、连字符和下划线。长度限制为1~64字符。固件类型选择为整包时,需设置的参数。
待升级版本号 选择待升级的固件版本号。下拉选项框中,将展示当前产品下所有设备的固件版本号,选择一个或者多个待升级的固件版本。固件类型选择为差分时,需设置的参数。
升级后版本号 设置升级后的固件版本号。固件类型选择为差分时,需设置的参数。
所属产品 选择固件所属产品。
签名算法 仅支持MD5和SHA256。
上传固件 上传固件文件。文件大小不能超过1,000 MB,仅支持bin、tar、gz、tar.gz、zip、gzip类型的文件。
  1. 在固件列表中,单击固件对应的验证固件按钮,然后在一个或多个设备上进行固件测试。
    说明:固件上传至平台后,必须使用少量设备对固件进行验证。确认测试设备升级成功后,才能批量升级。
参数 描述
待升级版本号 下拉选项框中,展示当前产品下所有设备的固件版本号,选择一个或者多个待升级的固件版本。选择待升级版本号后,使用这些固件版本的设备将展示在待验证设备的选项中。
待验证设备 选择用于此次测试的设备。
设备升级超时时间 设置单个设备的升级超时时间,即多长时间之后,升级未完成则为超时。从设备第一次上报升级进度开始计算时间。可选值范围:1~1440分钟。
  1. 固件验证通过后,单击批量升级按钮,设置参数,批量向设备定向推送升级通知。image.png
参数 描述
待升级版本号 在下拉选项框中,展示当前产品下所有设备的当前固件版本号,选择待升级的固件版本。整包升级时,需设置该参数。
APP确认升级
- 是:手机APP会提示用户有新版本可用,并询问用户是否确认升级,只有在用户确认升级的情况下才会进行设备升级。(自有APP需配合客户端的固件升级API使用)
- 否:设备连云后若发现有新的固件版本就自动进行升级,无需用户干预。
升级策略 - 静态升级:仅升级满足指定条件,且已激活的设备。
- 动态升级:动态升级将持续维护需升级的设备,包括当前已经上报固件版本号的设备和新激活的设备。
说明:一个固件下只能有一个动态升级批次。如果固件下已有一个动态升级批次,将不能创建新的动态升级,需先取消原有动态升级批次。
升级范围 - 全部设备:升级该产品下的全部设备。
- 定向升级:选择为定向升级后,下方出现设备范围选项框。单击选项框,在右侧弹出窗口中,选择要升级的设备。仅升级被选中的设备。
说明:定向升级的待升级版本为多选。默认选中您之前已输入的待升级版本号。
- 区域升级:升级实际地理位置在指定区域的设备。选择为区域升级后,下方出现指定区域的省份和城市选项框。
- 灰度升级:即局部升级。升级策略选择为静态升级时,出现的可选项。选择为灰度升级后,下方出现灰度范围输入框,需针对已选择的设备,设置灰度百分比。平台根据设置的灰度百分进行计算,计算结果向下取整。灰度升级的设备至少为1个。
升级时间 指定设备固件升级的时间。
- 立即升级:立即进行固件升级。
- 定时升级:需设定升级时间。定时时间范围是5分钟~7天。
说明:仅当升级策略为静态升级时,支持定时升级。
固件推送速率 设置每分钟向多少个设备推送固件下载URL。取值范围:10~1000。
升级失败重试间隔 如果升级失败,在什么时候进行重试升级。可选:
- 不重试
- 立即重试
- 10分钟后重试
- 30分钟后重试
- 1小时候重试
- 24小时候重试
升级重试上限次数 选择升级失败后,最多可重试几次。可选:
- 1次
- 2次
- 5次
设备升级超时时间 设置单个设备的升级超时时间,即多长时间之后,升级未完成则为超时。从设备第一次上报升级进度开始计算时间。可选值范围:1~1440分钟。

执行结果

批量升级提交后,单击该固件的查看,然后在批次管理页签下,查看升级状态。

  • 待升级:已设置设备固件升级,但固件升级未开始。两种待升级状态:待升级(设备离线)和待升级(排队中)。

  • 升级中:设备收到升级通知,并已上传升级进度。

  • 升级成功:本次升级成功的设备。

  • 升级失败:本次升级失败的设备及升级失败原因简述。以下原因可能造成设备升级失败:

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

results matching ""

    No results matching ""