如何进行固件升级?
更新时间:2018-03-15 20:34:06
概述
固件升级支持对设备的固件进行远程空中升级(Over-The-Air),实现对设备的远程维护、功能升级、问题修复等场景的使用。您可以指定产品新增一个固件,对固件进行验证,验证通过后开始批量升级,并在固件详情中查看升级结果。
固件在线升级功能是网络设备所必须支持的基础服务。在设备固件出现安全漏洞、软件BUG维护、自身功能优化、以及设备性能改良等需更新固件时,在线升级功能就尤为重要。
以下描述固件在线升级功能接口定义以及所涉及的MQTT Topic定义。
升级业务流程
固件列表
固件列表中将显示您所创建的所有固件,包括固件名称、版本号和验证状态等信息。您可以根据产品筛选查看相应的固件版本。
新增固件
点击列表上的“新增固件”,可以新增一个固件版本。您可以根据实际情况设置固件版本号,选择该固件的所属产品并上传固件文件(仅支持bin格式)。完成创建后将新增一条固件版本记录。
验证固件
在进行批量升级之前,您需要首先对固件进行验证,确认固件的版本号、各项功能使用正常之后才可进行固件批量升级,避免因为固件缺陷导致设备故障而造成损失。
选择要验证的固件,点击“验证固件”,在弹窗中选择待升级版本号,也就是将执行本次验证升级的目标版本号,支持多选。选择待升级版本号之前,需确保该产品下已经有设备上报了固件版本,否则您将无法选择到任何版本号。
选择版本号之后相当于圈定了验证升级的设备范围,您可以选择输入圈定的版本号范围内最多5个设备,输入 DeviceName 进行验证升级,如果输入的设备DeviceName不再待升级版本范围内,将无法添加。
说明:
验证固件会向mqtt接入的设备推送升级通知,在线设备会立即接收到升级通知(不在线的设备下次接入时系统会再重新推送一次);其他接入方式(如coap或者https)的设备都是短连接的,所以无法收到。
可以反复发起验证固件,验证固件的本质就是指定少量设备进行升级。
对于某一固件来说,上一次的验证动作没有结束,是无法再次发起验证(上次验证完成后点击“验证固件”会显示最后一次验证结果)。
只要用户进行过验证固件操作,未验证的固件的状态就会被置为已验证,不会取决于设备的实际升级结果。
本次版本最大支持5个设备同时固件验证。
批量升级
固件验证后,请您确认固件各项功能正常,验证通过即可开始进入固件批量升级流程,此固件可以在大批设备上投入使用。批量升级的本质也是对大批设备定向推送升级通知。
请注意,由于设备端存在的差异化,即使固件验证升级成功,也无法完全体现设备升级后各项功能是否正常可用,建议您自行检查设备固件升级后设备是否正常,否则批量升级后可能引起大批量的设备故障。
说明:
禁止使用未验证的固件进行批量升级操作。
设备从收到升级通知开始直至升级完成是一个渐进的过程,请耐心等待升级结果。
批量升级所覆盖的设备可能会因为设备上一次的升级动作没有结束(设备处于待升级或者升级中),而导致本次升级中该部分设备升级失败。
设备在实际升级过程中出现错误(比如说下载失败、校验失败、解压失败等),并且通知给OTA系统后,系统会将本次升级动作置为完成(升级失败)。
可以在固件详情页,看到批量升级对应设备的升级情况,升级失败列表选项卡会显示简要的升级失败原因。
选择要进行批量升级的固件,点击“批量升级”,在弹窗中选择“待升级版本号”,支持多选,确认后将向指定的待升级版本号范围内的所有设备批量推送固件升级请求。
选择待升级的版本号,支持多选,落入到指定版本范围的设备将受到批量升级的推送。