基于MQTT协议实现OTA升级的方法、装置、系统与存储介质制造方法及图纸

技术编号:22166196 阅读:29 留言:0更新日期:2019-09-21 10:17
本发明专利技术公开了一种基于MQTT协议实现OTA升级的方法、装置、系统与存储介质,基于MQTT协议实现OTA升级的方法包括以下步骤:步骤S1,获取当前应用程序的固件版本信息,判断固件版本信息是否属于需要更新的范围;步骤S2,重新启动应用程序,并执行bootloader;步骤S3,获取当前应用程序的固件版本信息,判断固件版本信息是否属于需要更新的范围,若属于需要更新的范围则执行步骤S4;步骤S4,获取应用程序的服务平台,并与服务平台建立数据传输连接;步骤S5,利用MQTT协议从服务平台下载固件,并校验固件是否正确,若固件正确则执行步骤S6;步骤S6,复制固件到APP代码段;步骤S7,bootloader加载APP;步骤S8,结束更新操作。

Method, Device, System and Storage Media for OTA Upgrade Based on MQTT Protocol

【技术实现步骤摘要】
基于MQTT协议实现OTA升级的方法、装置、系统与存储介质
本专利技术涉及移动通信
,尤其涉及一种基于MQTT协议实现OTA升级的方法、装置、系统与存储介质。
技术介绍
一般的嵌入式设备需要通过仿真器或烧录器来实现固件的烧录,但是这种方式对于已经安装到现场的设备进行升级时极其不便,而且成本高,不适应当前的时代发展。而利用MQTT协议进行OTA升级的方法,可以利用网络来升级设备的固件,操作人员只需要在后台点击升级操作后,等待升级完成即可。公开于该
技术介绍
部分的信息仅仅旨在加深对本专利技术的总体
技术介绍
的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。基于上述原因,本申请人提出了一种基于MQTT协议实现OTA升级的方法、装置、系统与存储介质,旨在加快实现设备固件的自动升级,节约人力成本,提高工作效率。
技术实现思路
为了满足上述要求,本专利技术的第一个目的在于提供一种基于MQTT协议实现OTA升级的方法。本专利技术的第二个目的在于提供一种基于MQTT协议实现OTA升级的装置。本专利技术的第三个目的在于提供一种基于MQTT协议实现OTA升级的系统。本专利技术的第四个目的在于提供一种基于MQTT协议实现OTA升级的存储介质。为了实现上述目的,本专利技术采用以下技术方案:一种基于MQTT协议实现OTA升级的方法,包括以下步骤:步骤S1,获取当前应用程序的固件版本信息,判断固件版本信息是否属于需要更新的范围;步骤S2,重新启动应用程序,并执行bootloader;步骤S3,获取当前应用程序的固件版本信息,判断固件版本信息是否属于需要更新的范围,若属于需要更新的范围则执行步骤S4;步骤S4,获取应用程序的服务平台,并与服务平台建立数据传输连接;步骤S5,利用MQTT协议从服务平台下载固件,并校验固件是否正确,若固件正确则执行步骤S6;步骤S6,复制固件到APP代码段;步骤S7,bootloader加载APP;步骤S8,结束更新操作。进一步技术方案为,所述步骤S4和步骤S5还包括数据传输步骤,所述的数据传输步骤包括以下子步骤:子步骤S1,所述应用程序与服务平台建立MQTT连接;子步骤S2,所述应用程序将当前固件的版本信息发送至服务平台;子步骤S3,所述应用程序获取到更新通知;子步骤S4,所述应用程序将设备信息以及传输能力的信息传输至服务平台;子步骤S5,所述应用程序获取到固件信息以及对固件的分包信息;子步骤S6,所述应用程序按照分包信息请求固件包,获得被分包的固件包数据;子步骤S7,所述应用程序断开与服务平台的连接,结束数据传输步骤。进一步技术方案为,所述子步骤S3还包括,若固件版本信息不属于需要更新的范围,所述服务平台向应用程序传递结束更新操作指令,执行子步骤S7。进一步技术方案为,所述子步骤S7还包括,所述应用程序获取到所有的分包固件包数据后,向所述服务平台传递结束信息,所述服务平台退出下载过程。进一步技术方案为,所述步骤S1还包括,当所述固件版本信息不属于需要更新的范围,执行步骤S8。进一步技术方案为,所述步骤S3还包括,当所述固件版本信息不属于需要更新的范围,执行步骤S7。进一步技术方案为,所述步骤S5还包括,当所述固件不正确后,跳过步骤S6,执行步骤S7。本专利技术还公开了一种基于MQTT协议实现OTA升级的装置,包括以下模块:连接建立模块,用于向服务平台发送基于MQTT协议的数据连接请求,并与服务平台建立数据连接;数据获取模块,用于获取当前固件的版本信息,以及服务平台的固件包数据;数据处理模块,用于校验固件包数据是否正确,以及复制固件到APP代码段。本专利技术还公开了一种基于MQTT协议实现OTA升级的系统,包括服务器,设备端;其中,所述服务器包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于MQTT协议实现OTA升级的程序,其中,所述基于MQTT协议实现OTA升级的程序被所述处理器执行时实现如上述任一项所述的基于MQTT协议实现OTA升级的方法。本专利技术还提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述任一项所述的基于MQTT协议实现OTA升级的方法。相比于现有技术,本专利技术的有益效果在于:采用本方法对设备固件升级,可免除使用烧录器或仿真器的操作,只需要将当前固件端与服务平台建立通信连接,即可通过网络实现设备固件的自动升级,节约人力成本,提高工作效率,并且该方法可用于支持MQTT协议的嵌入式设备的固件升级,实用性强。下面结合附图和具体实施例对本专利技术作进一步描述。附图说明图1是本专利技术一种基于MQTT协议实现OTA升级的方法的具体实施例流程示意图;图2是图1流程中数据传输步骤的具体实施例流程示意图;图3是本专利技术一种基于MQTT协议实现OTA升级的装置组成方框图示意图;图4是本专利技术一种基于MQTT协议实现OTA升级的系统组成方框图示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施方式对本专利技术作进一步详细说明。下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在本专利技术的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本专利技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。在本专利技术中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本专利技术中的具体含义。在本专利技术中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指本文档来自技高网...

【技术保护点】
1.一种基于MQTT协议实现OTA升级的方法,其特征在于,包括以下步骤:步骤S1,获取当前应用程序的固件版本信息,判断固件版本信息是否属于需要更新的范围;步骤S2,重新启动应用程序,并执行bootloader;步骤S3,获取当前应用程序的固件版本信息,判断固件版本信息是否属于需要更新的范围,若属于需要更新的范围则执行步骤S4;步骤S4,获取应用程序的服务平台,并与服务平台建立数据传输连接;步骤S5,利用MQTT协议从服务平台下载固件,并校验固件是否正确,若固件正确则执行步骤S6;步骤S6,复制固件到APP代码段;步骤S7,bootloader加载APP;步骤S8,结束更新操作。

【技术特征摘要】
1.一种基于MQTT协议实现OTA升级的方法,其特征在于,包括以下步骤:步骤S1,获取当前应用程序的固件版本信息,判断固件版本信息是否属于需要更新的范围;步骤S2,重新启动应用程序,并执行bootloader;步骤S3,获取当前应用程序的固件版本信息,判断固件版本信息是否属于需要更新的范围,若属于需要更新的范围则执行步骤S4;步骤S4,获取应用程序的服务平台,并与服务平台建立数据传输连接;步骤S5,利用MQTT协议从服务平台下载固件,并校验固件是否正确,若固件正确则执行步骤S6;步骤S6,复制固件到APP代码段;步骤S7,bootloader加载APP;步骤S8,结束更新操作。2.根据权利要求1所述的一种基于MQTT协议实现OTA升级的方法,其特征在于,所述步骤S4和步骤S5还包括数据传输步骤,所述的数据传输步骤包括以下子步骤:子步骤S1,所述应用程序与服务平台建立MQTT连接;子步骤S2,所述应用程序将当前固件的版本信息发送至服务平台;子步骤S3,所述应用程序获取到更新通知;子步骤S4,所述应用程序将设备信息以及传输能力的信息传输至服务平台;子步骤S5,所述应用程序获取到固件信息以及对固件的分包信息;子步骤S6,所述应用程序按照分包信息请求固件包,获得被分包的固件包数据;子步骤S7,所述应用程序断开与服务平台的连接,结束数据传输步骤。3.根据权利要求2所述的一种基于MQTT协议实现OTA升级的方法,其特征在于,所述子步骤S3还包括,若固件版本信息不属于需要更新的范围,则所述服务平台向应用程序传递结束更新操作指令,执行子步骤S7。4.根据权利要求2所述的一种基于MQT...

【专利技术属性】
技术研发人员:王少峰李昌华李军
申请(专利权)人:陕西瑞迅电子信息技术有限公司
类型:发明
国别省市:陕西,61

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

1