本发明专利技术提供了软件工程技术领域的一种物联网设备固件升级方法及系统,方法包括如下步骤:步骤S10、物联网设备启动过程中,对基于FreeRTOS创建的bootloader进行初始化后,通过所述bootloader启动OTA流程;步骤S20、bootloader通过设备管理网关向维护服务器进行固件的版本校验;步骤S30、物联网设备获取最新的固件;步骤S40、bootloader安装最新的所述固件以进行升级操作,升级完成后控制物联网设备进行重启。本发明专利技术的优点在于:极大的提升了物联网设备固件升级的通用性。物联网设备固件升级的通用性。物联网设备固件升级的通用性。
【技术实现步骤摘要】
一种物联网设备固件升级方法及系统
[0001]本专利技术涉及软件工程
,特别指一种物联网设备固件升级方法及系统。
技术介绍
[0002]物联网设备指使用无线方式接入网络,并可以传输数据的非标准的计算机设备,如图3所示,展现了一个物联网设备的软硬件层级结构,一些资源受限的物联网设备可能有更少的元素或层级,例如可能不存在OS层或没有闪存。
[0003]根据物联网设备厂商提供的工具与策略方式,物联网设备可通过USB口进行有线升级、通过用OTA进行无线升级、针对系统的部分分区进行升级、在升级步骤中加入签名与验证机制。OTA机制是一种通过无线方式(Wifi、GSM/GPRS或蓝牙)将固件传输至嵌入式设备的方法,当OTA模块接收到固件后执行校验、完整性检查与认证操作,符合条件后安装更新的固件并重启。
[0004]OTA机制有两种实现方法,其一是将OTA与验证流程放在bootloader中执行,使其与具体的应用层分离开来,这种方法虽然可以保证应用程序与bootloader的分离性,但是会增加bootloader的体积;其二是在应用层的程序中实现OTA流程,这样无法保证应用程序与bootloader的分离性。
[0005]bootloader是一种在启动流程中启动内核或其他应用的一种软件,bootloader的代码保存在物联网设备的ROM、NOR、NAND或MMC中,用于将内核加载到内存的一个固定地址并且运行。bootloader只执行极少的步骤,例如为内核运行做准备或执行升级流程。bootloader在物联网设备中至关重要,但是当前没有统一标准,根据厂商、硬件和系统内核的不同存在着许多不同的bootloader,而OTA升级的流程更是各有不同,直接影响物联网设备固件升级的通用性。
[0006]因此,如何提供一种物联网设备固件升级方法及系统,实现提升物联网设备固件升级的通用性,成为一个亟待解决的技术问题。
技术实现思路
[0007]本专利技术要解决的技术问题,在于提供一种物联网设备固件升级方法及系统,实现提升物联网设备固件升级的通用性。
[0008]第一方面,本专利技术提供了一种物联网设备固件升级方法,包括如下步骤:
[0009]步骤S10、物联网设备启动过程中,对基于FreeRTOS创建的bootloader进行初始化后,通过所述bootloader启动OTA流程;
[0010]步骤S20、bootloader通过设备管理网关向维护服务器进行固件的版本校验;
[0011]步骤S30、物联网设备获取最新的固件;
[0012]步骤S40、bootloader安装最新的所述固件,完成后控制物联网设备进行重启。
[0013]进一步地,所述步骤S10中,所述对基于FreeRTOS创建的bootloader进行初始化具体为:
[0014]读取物联网设备的存储器信息以及分区表,通过所述分区表查找bootloaderfalsh,读取所述bootloaderfalsh存储的镜像固件并进行加载,接着对物联网设备的CPU进行初始化,查找通信协议以对无线通信模块进行初始化,进而完成对基于FreeRTOS创建的bootloader的初始化操作。
[0015]进一步地,所述步骤S20具体为:
[0016]bootloader调用无线通信模块,通过设备管理网关向维护服务器发送携带设备序列号的版本校验请求;
[0017]维护服务器解析接收的所述版本校验请求后,向物联网设备返回所述设备序列号对应的最新的固件版本号以及URL地址;
[0018]物联网设备判断维护服务器发送的所述固件版本号是否高于本地的固件版本号,若是,则进入步骤S30;若否,则正常启动。
[0019]进一步地,所述步骤S30具体为:
[0020]物联网设备基于所述URL地址获取最新的固件。
[0021]进一步地,所述步骤S40具体为:
[0022]bootloader自动安装最新的所述固件以进行升级操作,升级完成后控制物联网设备进行重启,并通过设备管理网关向维护服务器发送升级完成的升级结果。
[0023]第二方面,本专利技术提供了一种物联网设备固件升级系统,包括如下模块:
[0024]OTA流程启动模块,用于物联网设备启动过程中,对基于FreeRTOS创建的bootloader进行初始化后,通过所述bootloader启动OTA流程;
[0025]固件版本校验模块,用于bootloader通过设备管理网关向维护服务器进行固件的版本校验;
[0026]固件获取模块,用于物联网设备获取最新的固件;
[0027]固件升级模块,用于bootloader安装最新的所述固件,完成后控制物联网设备进行重启。
[0028]进一步地,所述OTA流程启动模块中,所述对基于FreeRTOS创建的bootloader进行初始化具体为:
[0029]读取物联网设备的存储器信息以及分区表,通过所述分区表查找bootloaderfalsh,读取所述bootloaderfalsh存储的镜像固件并进行加载,接着对物联网设备的CPU进行初始化,查找通信协议以对无线通信模块进行初始化,进而完成对基于FreeRTOS创建的bootloader的初始化操作。
[0030]进一步地,所述固件版本校验模块具体用于:
[0031]bootloader调用无线通信模块,通过设备管理网关向维护服务器发送携带设备序列号的版本校验请求;
[0032]维护服务器解析接收的所述版本校验请求后,向物联网设备返回所述设备序列号对应的最新的固件版本号以及URL地址;
[0033]物联网设备判断维护服务器发送的所述固件版本号是否高于本地的固件版本号,若是,则进入固件获取模块;若否,则正常启动。
[0034]进一步地,所述固件获取模块具体用于:
[0035]物联网设备基于所述URL地址获取最新的固件。
[0036]进一步地,所述固件升级模块具体用于:
[0037]bootloader自动安装最新的所述固件以进行升级操作,升级完成后控制物联网设备进行重启,并通过设备管理网关向维护服务器发送升级完成的升级结果。
[0038]本专利技术的优点在于:
[0039]通过基于FreeRTOS创建的bootloader启动OTA流程,以对物联网设备的固件在启动过程中执行升级操作,由于FreeRTOS是一个支持多种架构环境(Intel、ARM、NXP等)、非常精简(仅4K到9K的体积)的开源内核,实时处理性能强,允许在占用极低资源的情况下进行多任务处理,适用于各种物联网设备,尤其是资源受限设备的通用bootloader,并且集成了一种简单的OTA流程,可以简化程序员开发相关软件的开发流程,最终极大的提升了物联网设备固件升级的通用性。
附图说明
[0040]下面参照附图结合实施例对本专利技术作进一步的说明。
[0本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种物联网设备固件升级方法,其特征在于:包括如下步骤:步骤S10、物联网设备启动过程中,对基于FreeRTOS创建的bootloader进行初始化后,通过所述bootloader启动OTA流程;步骤S20、bootloader通过设备管理网关向维护服务器进行固件的版本校验;步骤S30、物联网设备获取最新的固件;步骤S40、bootloader安装最新的所述固件,完成后控制物联网设备进行重启。2.如权利要求1所述的一种物联网设备固件升级方法,其特征在于:所述步骤S10中,所述对基于FreeRTOS创建的bootloader进行初始化具体为:读取物联网设备的存储器信息以及分区表,通过所述分区表查找bootloader falsh,读取所述bootloader falsh存储的镜像固件并进行加载,接着对物联网设备的CPU进行初始化,查找通信协议以对无线通信模块进行初始化,进而完成对基于FreeRTOS创建的bootloader的初始化操作。3.如权利要求1所述的一种物联网设备固件升级方法,其特征在于:所述步骤S20具体为:bootloader调用无线通信模块,通过设备管理网关向维护服务器发送携带设备序列号的版本校验请求;维护服务器解析接收的所述版本校验请求后,向物联网设备返回所述设备序列号对应的最新的固件版本号以及URL地址;物联网设备判断维护服务器发送的所述固件版本号是否高于本地的固件版本号,若是,则进入步骤S30;若否,则正常启动。4.如权利要求3所述的一种物联网设备固件升级方法,其特征在于:所述步骤S30具体为:物联网设备基于所述URL地址获取最新的固件。5.如权利要求1所述的一种物联网设备固件升级方法,其特征在于:所述步骤S40具体为:bootloader自动安装最新的所述固件以进行升级操作,升级完成后控制物联网设备进行重启,并通过设备管理网关向维护服务器发送升级完成的升级结果。6.一种物联网设备固件升级系统,其特征在于:...
【专利技术属性】
技术研发人员:赵泽钧,袁苇,
申请(专利权)人:福建新大陆通信科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。