固件升级(联通用户专用) | 您所在的位置:网站首页 › 软件升级原因技术协议 › 固件升级(联通用户专用) |
概述
固件(Firmware)一般是指设备硬件的底层“驱动程序”,承担着一个系统最基础最底层工作的软件,比如计算机主板上的基本输入/输出系统BIOS(Basic Input/output System)。 固件升级又称为FOTA(Firmware Over The Air),是指用户可以通过OTA的方式对支持LWM2M协议和MQTT协议的设备进行固件升级。物联网平台支持LWM2M协议和MQTT协议的产品模型的固件升级。 LWM2M协议固件升级流程LWM2M协议FOTA升级流程的详细说明: 1~2. 用户在设备管理服务的控制台上传固件包,并在控制台或者应用服务器上创建固件升级任务。 3. NB-IoT设备上报数据,平台感知设备上线,触发升级协商流程。 4~5. 物联网平台向设备下发查询设备固件版本的命令,查询成功后,物联网平台根据升级的目标版本判断设备是否需要升级。 如果返回的固件版本信息与升级的目标版本信息相同,则升级流程结束,不做升级处理。 如果返回的固件版本信息与升级的目标版本信息不同,则继续进行下一步的升级处理。 6~7. 物联网平台查询终端设备所在的无线信号覆盖情况,获取小区ID、RSRP(Reference Signal Received Power,参考信号接收功率)和SINR(Signal to Interference Plus Noise Ratio,信号干扰噪声比)信息。 查询成功:则根据如下方式计算可同时升级的并发数计算,并按照步骤9进行处理。 如下图所示,如果设备的RSRP强度和SINR强度均落在等级“0”中,则同时可以对该小区的50个相同信号覆盖区间的设备进行同时升级。 如果设备的RSRP强度和SINR强度分别落在等级“0”和“1”中,则以信号较弱的等级“1”为准,则只能同时对该小区的10个设备进行升级。如果设备的RSRP强度和SINR强度分别落在等级“1”和“2”中,则以信号较弱的等级“2”为准,则只能同时对该小区的1个设备进行升级。 如果设备的RSRP强度和SINR强度不在该3个等级范围内,且均可以查询到,则按照信号最弱覆盖等级“2”处理,则只能同时对1个设备进行升级。 ![]() 如果用户在固件升级中发现同时进行升级的设备数较少,则可以联系当地运营商检查和优化设备所在小区的无线覆盖情况。 查询失败:则按照流程步骤8进行处理。 8. 物联网平台继续下发查询小区ID信息的命令,获取终端设备所在的小区ID信息。 如果查询成功:物联网平台支持同时对该小区的10个相同情况的设备进行固件升级。 如果查询失败:则升级失败。9. 物联网平台向设备订阅固件升级的状态。 10~11. 物联网平台向设备下发下载固件包的URL地址,通知设备下载固件包。终端设备根据该URL地址下载固件包,固件包的下载支持分片下载,下载完成后,设备知会物联网平台固件包已下载完毕。 12~13. 物联网平台向设备下发升级的命令,终端设备进行升级操作,升级完成后终端设备向物联网平台反馈升级结束。 14~16. 物联网平台下发命令查询固件升级的结果,获取升级结果后,向终端设备取消订阅升级状态通知,并向控制台应用服务器通知升级的结果。 MQTT协议固件升级流程MQTT协议FOTA升级流程的详细说明: 1~2. 用户在设备管理服务的控制台上传软件包,并在控制台或者应用服务器上创建软件升级任务。 3. 平台感知设备是否在线,当设备在线时立即触发升级协商流程。当设备不在线时,等待设备上线订阅升级topic,平台感知设备上线,触发升级协商流程。 4~5. 平台向设备下发查询设备固件版本号的命令,查询成功后,物联网平台根据升级的目标版本判断设备是否需要升级 。如果返回的固件版本信息与升级的目标版本信息相同,则升级流程结束,不做升级处理,升级任务置为成功。如果返回的固件版本信息与升级的目标版本信息不同,且该版本号支持升级,则继续进行下一步的升级处理。 6~7. 物联网平台下发下载包URL、token及包的相关信息,用户根据下载包URL和token通过HTTP协议来下载软件包,24小时后token无效。 8. 终端设备进行下载包升级操作,升级完成后终端设备向物联网平台反馈升级的结果。 9. 物联网平台向控制台/应用服务器通知升级的结果。 检查固件升级能力对终端设备进行固件升级,需要检查设备对应的产品模型中,是否支持设备的固件升级能力。您可以通过如下方式检查和设置设备固件升级的能力。 ![]() 该操作只是修改了产品模型中定义的固件升级能力,该产品模型对应的终端设备也需要支持固件升级的能力。否则,当升级任务中选择了不支持固件升级的终端设备,会导致固件升级失败。 登录物联网平台控制台,点击右上角“进入设备管理服务”。单击左下角![]() 设备管理服务的控制台,提供固件包的管理能力,您可以将需要升级的固件包统一上传到“固件包管理”界面上进行管理。在上传固件包到控制台前,需要对固件包进行签名。 ![]() 固件升级包的格式为.bin格式,不支持其它格式。上传的固件包需要使用压缩工具打包为.zip包。 固件包签名: 登录物联网平台控制台,点击右上角“进入设备管理服务”。在“工具”页面,下载“离线签名工具”。 解压“signtool.zip”,双击“signtool.exe”,运行离线签名工具。 在“生成数字签名公私钥对”区域,选择“签名算法”,设置“私钥加密口令”,点击“生成公私密钥”,在弹出的窗口中选择需要保存的目录,点击“确定”,保存生成的公钥文件和私钥文件。数字签名成功后,将会在原软件包所在目录下生成名称为 “xxx_signed.zip”的带签名软件包。 验证成功则弹出“验证签名成功!”提示框。 验证失败则弹出“验签异常!”提示框。 ![]() 在进行固件包验签时,带签名固件包的存放路径不能包含中文字符。 上传固件包: 登录物联网平台控制台,点击右上角“进入设备管理服务”。单击左下角![]() 用户对单个设备进行固件升级有两种方式: 应用服务器通过调用的“创建固件升级任务”API接口,创建单个设备的升级任务,详情请参考创建固件升级任务。 通过控制台,创建单个设备的固件升级任务。![]() 设备升级前,请在“设备详情 > 命令”中,检查是否存在还在执行的命令,若存在,需要先等待所有命令执行后或是取消等待执行的命令,才可以创建设备升级任务。 在设备升级期间,应用侧不要向设备下发其他命令消息,否则可能会导致设备升级失败。 下面将重点介绍通过控制台创建单个设备的固件升级任务。 登录物联网平台控制台,点击右上角“进入设备管理服务”。单击左下角![]() ![]() 需要在检查固件升级能力中,打开固件升级支持的开关,才会在“软件”界面显示固件信息和“升级”按钮。 用户对批量设备进行固件升级有两种方式: 应用服务器通过调用的“创建固件升级任务”API接口,创建批量设备的升级任务,详情请参考创建固件升级任务。 通过控制台,创建批量设备的固件升级任务。下面将重点介绍通过控制台创建单个设备的固件升级任务。 ![]() 设备升级前,请在“设备详情 > 命令”中,检查是否存在还在执行的命令,若存在,需要先等待所有命令执行后或是取消等待执行的命令,才可以创建设备升级任务。 在设备升级期间,应用侧不要向设备下发其他命令消息,否则可能会导致设备升级失败。 登录物联网平台控制台,点击右上角“进入设备管理服务”。单击左下角![]() 重试策略可以选择是否重试,如果选择了“自定义”,可以设置重试的次数。默认的重试时间为120秒,即设备升级失败后,隔120秒后会进行升级重试。 设备群组可以参考群组与标签(联通用户专用)创建需要升级的设备群组,并绑定对应的设备。 ![]() 如果升级任务正在执行中,是不允许删除任务的,如需删除,请先在任务列表中,手动停止任务后,再删除升级任务。 |
CopyRight 2018-2019 实验室设备网 版权所有 |