利用局部OTA方法在物联网网关中动态升级设备接口协议的系统及方法技术方案

技术编号:31826741 阅读:16 留言:0更新日期:2022-01-12 12:55
本发明专利技术属于计算机、物联网、嵌入式控制、网络通讯技术领域,涉及提供了一种利用局部OTA方法在物联网网关中动态升级设备接口协议的系统及方法,将动态协议处理程序与主程序分开存储,当主程序不能调用到需要的动态协议时,则向云端固件库获取待更新的动态协议,并在合适的时机完成动态升级。本发明专利技术使网关能够动态增加新设备的支持,并克服现有技术缺陷。采用局部OTA方式,并构造出一个配套系统,能够使用户在不需要参与的情况下,使相应的网关获得新型设备支持能力。型设备支持能力。型设备支持能力。

【技术实现步骤摘要】
利用局部OTA方法在物联网网关中动态升级设备接口协议的系统及方法


[0001]本专利技术属于计算机、物联网、嵌入式控制、网络通讯
,涉及一种对用户透明且低成本的在线升级(OTA)的体系和方法,尤其涉及一种利用局部OTA方法在物联网网关中动态升级设备接口协议的方法。

技术介绍

[0002]物联网网关是网联网系统中重要的基础设备,起到承上启下的作用,网关对上通过网络连接到业务应用或设备管理平台,对下则通过常用的工业总线物理接口(如以太、RS485、CAN等),连接和控制各种现场设备、传感器、变速器、执行单元,网关所能够支持的设备(变送器)的类型是其重要的功能性指标。OTA英文全称是Over

The

Air Technology,即空间下载技术的意思,主要针对无线互联设备,OTA升级是一种可以不通过硬件仿真器,直接通过无线进行固件的传输和升级的方式。OTA固件升级方式主要通过网络,例如WIFI、3G,自动下载OTA升级包、自动升级,OTA的升级包非常的小,一般几M到十几M,无需备份数据,所有数据都会完好无损的保留下来,有着简单、灵活、方便、快速的技术优势,已被广泛应用。网关出厂时,会根据需要有选择性的内置支持部分常用设备,在使用时,通常通过定义三元组(物理端口,总线地址,设备类型)来实现设备的配置。目前大部分物联网网关都采用单片机(mcu)作为主控制器,系统的资源比较有限,不可能预置支持很多种设备。而且还会不断出现新类型的设备,或老设备升版。网关原本内置支持设备A(v1.0)和设备B,但因需要,增加对新型设备C,和设备A(v2.0)的支持,要想实现这个目的,必须使用新型网关,或者对网关进行升级改造。如果未涉及物理端口的改变,比较经济的方案当然是对网关进行升级,常规的办法是使用ISP(In System Programing)/IAP(In Applacation Programming)工具,现场更新设备固件。随着技术的成熟,OTA(Over The Air)空中升级方式得到了更多的应用。OTA狭义上是指是通过移动通信的空中接口实现对移动终端设备进行远程管理和固件更新的技术,目前引申为在设备在线状态下,远场(而非现场)的对其固件进行升级的一种技术,单片机系统的OTA,通常是通过将设备固件分为启动管理和功能应用两个部分。通常启动管理部分是不变的,更新的只是功能应用这部分,OTA升级的步骤一般如下:服务器通过网络,将新的“功能应用”部分中的F/W传送给设备。设备对接收到的F/W进行校查并将其写入到本地程序空间之外的存储空间中。设更新标志位,在设备重启后将新的F/W写入到原有“功能应用”这部分的程序空间去,然后如之前一样启动应用程序(其中会清除更新标志位)或者如果新的FW已存储在主程序空间(将设为B),那么可以下载完F/W后可以更新标志位,让“启动管理”重启后直接装入“功能应用”。该种方式存在如下缺陷:用户升级时是进行一对一升级服务,由用户自行查询新的固件版本,并请求进行升级,升级具有严重的滞后性,可能会影响终端设备的使用,同时升级后的版本是否是用户需要的版本有待商榷。目前该升级服务是在在线环境中进行的,在离线环境下无法进行操作。接口协议配置化或采用DSL来描述接口协议。对于工业总线通讯,有一些国际标准或行业标准,这些标准已经充分
抽象化和模式化,可以通过一些参数配置或者进一步的用DSL(领域特定语言)或脚本语言(如lua(脚本语言))来定义描述业务过程及管理对象,比如多设备都使用modbus协议,从功能上讲完全可以通过配置的方式来解析和处理这个设备,但是这种方式还是存在以下缺陷:
[0003]a.配置管理或DSL/脚本语言解析处理需要额外的资源,除了程序ROM空间外,还需要对于mcu来说更为珍贵的ram资源。
[0004]b.参数解释型方式的效率不够好,特别是有一些协议算法要在ISR(中断服务例程)中被调用时,更是不合适。
[0005]c.不合适的使用,通常会使的程序更为复杂。
[0006]d.灵活度不够好。
[0007]固体整体OTA技术,OTA方式首先需要在本地有一个额外的存储,其大小必须大于“功能应用”这一部分,相当于程序代码空间的存储容量需求增加了一倍,对于mcu而言,这个代价相对是昂贵的。升级的固件相对较大时,那么升级所需的时间会更长,传输出错的概率相应就会更大,可能会要多次重传,整体升级时间会更长。升级时,不可避免的会影响现有业务,特别是需要设备重启,会造成业务不必要的中断。固件整体OTA升级,不能完全解决新型设备支持的问题:因为一个FW中不可能支持所有类型的设备,解决的办法是提供若干个性化的FW包,但这种方法会造成管理混乱。

技术实现思路

[0008]针对现有技术中存在不足,为了使网关能够动态增加新设备的支持,并克服现有技术缺陷,本专利技术提供了一种基于利用局部OTA方法在物联网网关中动态升级设备接口协议的系统及的方法,能够使用户在不需要参与的情况下,使相应的网关获得新型设备支持能力。
[0009]本专利技术是通过以下技术手段实现上述技术目的的。
[0010]一种基于利用局部OTA方法在物联网网关中动态升级设备接口协议的系统,其特征在于:包括网关协议的存储区域及云端固件库,所述云端固件库用于存储网关动态协议;
[0011]所述网关协议的存储区域分割为静态主程序区、动态协议处理程序区、缓存区和参数区(PKW),所述静态主程序区用于存储网关主程序;动态协议处理程序区用于存储待更新的网关协议程序;缓存区用于存储从云端固件库获取的需要更新的动态协议;
[0012]参数区(PKW)用于读写参数,读出故障信息,存储非易失性数据,包括动态程序的配置数据;
[0013]进一步地,所述云端固件库允许网关制造商、网关用户以二进制的形式上传、更新网关动态协议。
[0014]进一步地,所述动态协议处理程序区由若干等长的段构成,每个段是一个可独立更新的模块,长度为flash页长度的整数倍。
[0015]利用局部OTA方法在物联网网关中动态升级设备接口协议的方法,其特征在于,将网关的代码分为主程序和动态协议处理算法两个部分,其中主程序是主体,能够对网关硬件进行全面的控制;动态协议处理算法能够被主程序调用,且对动态协议处理算法部分进行限制或约定,不允许其直接控制硬件;动态协议处理算法通过预设的接口调用主程序功
能;
[0016]动态升级设备接口协议的步骤如下:
[0017](1)主程序启动后或者运行状态下,当调用动态协议处理程序时,若没有获得所要调用的动态协议时,启动动态升级程序;
[0018](2)主程序向云端固件库中发出请求升级的请求,向云端固件库提供需要升级的动态协议及版本号,从云端固件库中获取需要升级的动态协议,将从云端固件库获取的需要升级的动态协议存入缓存区,并进行校验;
[0019](3)当待升级的动态协议处于空闲状态时,更新相应的动态程序区,完成升级。
[002本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于利用局部OTA方法在物联网网关中动态升级设备接口协议的系统,其特征在于:包括网关协议的存储区域及云端固件库,所述云端固件库用于存储网关动态协议;所述网关协议的存储区域分割为静态主程序区、动态协议处理程序区、缓存区和参数区(PKW),所述静态主程序区用于存储网关主程序;动态协议处理程序区用于存储待更新的网关协议程序;缓存区用于存储从云端固件库获取的需要更新的动态协议;参数区(PKW)用于读写参数,读出故障信息,存储非易失性数据,包括动态程序的配置数据。2.根据权利要求1所述的基于利用局部OTA方法在物联网网关中动态升级设备接口协议的系统,其特征在于:所述云端固件库允许网关制造商、网关用户以二进制的形式上传、更新网关动态协议。3.根据权利要求1所述的基于利用局部OTA方法在物联网网关中动态升级设备接口协议的系统,其特征在于:所述动态协议处理程序区由若干等长的段构成,每个段是一个可独立更新的模块,长度为flash页长度的整数倍。4.一种利用局部OTA方法在物联网网关中动态升级设备接口协议的方法,其特征在于,将网关的代码分为主程序和动态协议处理算法两个部分,其中主程序是主体,能够对网关硬件进行全面的控制;动态协议处理算法能够被主程序调用,且对动态协议处理算法部分进行限制或约定,不允许其直接控制硬件;动态协议处理算法通过预设的接口调用主程序功能;动态升级设备接口协议的步骤如下:(1)主程序启动后或者运行状态下,当调用动态协议处理程序时,若没有获得所要调用的动态协议时,启动动态升级程序;(2)主程序向云端固件库中发出请求升级的请求,向云端固件库提供需要升级的动态协议及版本号,从云端固件库中获取需要升级的动态协议,将从云端固件库获取的需要升级的动态协议存入缓存区,并进行校验;(3)当待升级的动态协议处于空闲状态时,更新相应的动态程序区,完成升级。5.根据权利要求4所述的动态升级设备接口协议的方法,其特征在于,步骤(2)、...

【专利技术属性】
技术研发人员:赵勇董斌
申请(专利权)人:江苏合力四通智能科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1