一种OTA程序升级方法和GPRS燃气表技术

技术编号:21183717 阅读:34 留言:0更新日期:2019-05-22 14:43
本发明专利技术提供的一种OTA程序升级方法和GPRS燃气表,升级方法采用存储分区交替写入的方式,并且燃气表与服务器之间的文件传输采用多包传输、每包应答的机制,重启后通过读取标识字节,执行最新升级的应用程序。这样保证即本次升级不成功,也会保持老版本程序运行。

An OTA Program Upgrading Method and GPRS Gas Meter

The invention provides an OTA program upgrade method and a GPRS gas meter. The upgrade method adopts the mode of alternate writing of storage zones, and the file transmission between the gas meter and the server adopts the mechanism of multi-packet transmission and each packet response. After restart, the latest upgraded application program is executed by reading the identification bytes. This ensures that if the upgrade is unsuccessful, it will also keep the old version of the program running.

【技术实现步骤摘要】
一种OTA程序升级方法和GPRS燃气表
本专利技术涉及燃气计量装置领域,具体涉及一种OTA程序升级方法和GPRS燃气表。
技术介绍
燃气表安装在用户家中,使用寿命10年。如果燃气表内部软件出现问题,需要升级,必须将燃气表拆下,返厂升级,这样会造成极大的浪费。有鉴于此,特提出本专利技术。
技术实现思路
本专利技术提供一种应用在GPRS燃气表系统中的OTA程序升级方法和GPRS燃气表,用以解决现有技术中存在的问题。本专利技术提供的一种OTA程序升级方法,应用在GPRS燃气表中,GPRS燃气表的存储模块具有第一存储区域、第二存储区域、第三存储区域、第四存储区域;第一存储区域具有bootloader程序,第二存储区域具有用于标识应该执行应用程序的位置的程序字节,第三存储区域具有第一用户应用程序;第四存储区域具有第二用户应用程序;该OTA程序升级方法包括如下步骤:S1燃气表接收到服务器发出的OTA升级请求指令;S2燃气表向服务器发出已准备好的信息;S3燃气表接收服务器发出的程序包,程序包为多个;S4燃气表发出下载全部完成的信息,后接收到升级结束指令;S5燃气表执行OTA升级程序;其中,步骤S3包括如下子步骤:S31燃气表读取用于标识应该执行应用程序的位置的程序字节;S32当燃气表读取的用于标识应该执行应用程序的位置的程序字节为0x01时,燃气表将升级程序包写入燃气表的第四存储区域,燃气表将用于标识应该执行应用程序的位置的程序字节改写为0x02;S33当燃气表读取的用于标识应该执行应用程序的位置的程序字节为0x02时,燃气表将升级程序包写入燃气表的第三存储区域,燃气表将用于标识应该执行应用程序的位置的程序字节改写为0x01;步骤S42与S43任选其一多次执行。进一步地,步骤S42与S43分别还包括:燃气表向服务器发出程序包已收到的应答信息,燃气表收到服务器发出的确认指令。进一步地,步骤S5包括如下子步骤:S51当燃气表读取的用于标识应该执行应用程序的位置的程序字节为0x01时,燃气表执行第四存储区域中的程序包的升级程序;若该升级程序执行成功,则燃气表重新启动,执行升级后的用户应用程序;若该升级程序执行失败,则燃气表将标识字节写成0x02,执行第三存储区域的第一用户应用程序;S52当燃气表读取的用于标识应该执行应用程序的位置的程序字节为0x02时,燃气表执行第三存储区域中的程序包的升级程序;若该升级程序执行成功,则燃气表重新启动,执行升级后的用户应用程序;若该升级程序执行失败,则燃气表将标识字节写成0x01,执行第四存储区域的第二用户应用程序;步骤S51和S52任选其一执行。第二方面,本专利技术提供一种GPRS燃气表,包括基表、外壳和电子控制器,所述电子控制器包括相互电路连接的单片机、电源、存储模块,所述存储模块具有第一存储区域、第二存储区域、第三存储区域、第四存储区域;第一存储区域具有bootloader程序,第二存储区域具有用于标识应该执行应用程序的位置的程序字节,第三存储区域具有第一用户应用程序;第四存储区域具有第二用户应用程序;所述第一用户应用程序或第二用户应用程序能够实现如下功能:S1燃气表接收到服务器发出的OTA升级请求指令;S2燃气表向服务器发出已准备好的信息;S3燃气表接收服务器发出的程序包,程序包为多个;S4燃气表发出下载全部完成的信息,后接收到升级结束指令;S5燃气表执行OTA升级程序;其中,步骤S3包括如下子步骤:S31燃气表读取用于标识应该执行应用程序的位置的程序字节;S32当燃气表读取的用于标识应该执行应用程序的位置的程序字节为0x01时,燃气表将升级程序包写入燃气表的第四存储区域,燃气表将用于标识应该执行应用程序的位置的程序字节改写为0x02;S33当燃气表读取的用于标识应该执行应用程序的位置的程序字节为0x02时,燃气表将升级程序包写入燃气表的第三存储区域,燃气表将用于标识应该执行应用程序的位置的程序字节改写为0x01;步骤S42与S43任选其一多次执行。进一步地,所述第一用户应用程序或第二用户应用程序能够实现功能中,步骤S42与S43分别还包括:燃气表向服务器发出程序包已收到的应答信息,燃气表收到服务器发出的确认指令。进一步地,所述第一用户应用程序或第二用户应用程序能够实现功能中,步骤S5包括如下子步骤:S51当燃气表读取的用于标识应该执行应用程序的位置的程序字节为0x01时,燃气表执行第四存储区域中的程序包的升级程序;若该升级程序执行成功,则燃气表重新启动,执行升级后的用户应用程序;若该升级程序执行失败,则燃气表将标识字节写成0x02,执行第三存储区域的第一用户应用程序;S52当燃气表读取的用于标识应该执行应用程序的位置的程序字节为0x02时,燃气表执行第三存储区域中的程序包的升级程序;若该升级程序执行成功,则燃气表重新启动,执行升级后的用户应用程序;若该升级程序执行失败,则燃气表将标识字节写成0x01,执行第四存储区域的第二用户应用程序;步骤S51和S52任选其一执行。优选地,所述电子控制器还包括分别与所述单片机电路连接的:采样模块、按键模块、显示模块、电压管理模块;所述电子控制器还包括分别与所述单片机通信连接的:阀门控制模块、显示模块、声音报警模块、时钟模块、GPRS模块。本专利技术提供的一种OTA程序升级方法和GPRS燃气表,升级方法采用存储分区交替写入的方式,并且燃气表与服务器之间的文件传输采用多包传输、每包应答的机制,重启后通过读取标识字节,执行最新升级的应用程序。这样保证即本次升级不成功,也会保持老版本程序运行。附图说明图1为本专利技术提供的一种OTA程序升级方法流程逻辑图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。本专利技术提供的一种应用在GPRS燃气表的OTA程序升级方法,GPRS燃气表的存储模块具有第一存储区域、第二存储区域、第三存储区域、第四存储区域;第一存储区域具有bootloader程序,该bootloader程序是燃气表出厂时首先烧写的,烧写完bootloader程序后继续烧写用户应用程序;第二存储区域存储燃气表一些参数,定义其中一个字节用于标识应该执行应用程序的位置,例如0x01执行一个存储区域的应用程序,0x02执行另一个存储区域的应用程序;第三存储区域具有第一用户应用程序;第四存储区域具有第二用户应用程序;其中,第一用户应用程序和第二用户应用程序可以是相同版本的应用程序,也可以是不同版本的应用程序;该OTA程序升级方法包括如下步骤:S1燃气表接收到服务器发出的OTA升级请求指令;S2燃气表向服务器发出已准备好的信息;S3燃气表接收服务器发出的程序包,程序包为多个;S4燃气表发出下载全部完成的信息,后接收到升级结束指令;S5燃气表执行OTA升级程序;在本专利技术提供的实施例中,程序包下载写入采用分区交替写入以及服务器、燃气表一问一答的形式,即步骤S3包括如下子步骤:S31燃气表读取用于标识应该执行应用程序的位置的程序字节;S32当燃气表读取的用于标识应该执行应用程序的位置的程序字节为0x01时,燃气表将升级程序包写入燃气表的第四存储区域,燃气表将用于标识应该执行应用程序的位置的程序字节改写为0x02;S33当燃本文档来自技高网
...

【技术保护点】
1.一种OTA程序升级方法,应用在GPRS燃气表中,其特征在于,GPRS燃气表的存储模块具有第一存储区域、第二存储区域、第三存储区域、第四存储区域;第一存储区域具有bootloader程序,第二存储区域具有用于标识应该执行应用程序的位置的程序字节,第三存储区域具有第一用户应用程序;第四存储区域具有第二用户应用程序;该OTA程序升级方法包括如下步骤:S1 燃气表接收到服务器发出的OTA升级请求指令;S2 燃气表向服务器发出已准备好的信息;S3 燃气表接收服务器发出的程序包,程序包为多个;S4 燃气表发出下载全部完成的信息,后接收到升级结束指令;S5 燃气表执行OTA升级程序;其中,步骤S3包括如下子步骤:S31 燃气表读取用于标识应该执行应用程序的位置的程序字节;S32 当燃气表读取的用于标识应该执行应用程序的位置的程序字节为0x01时,燃气表将升级程序包写入燃气表的第四存储区域,燃气表将用于标识应该执行应用程序的位置的程序字节改写为0x02;S33 当燃气表读取的用于标识应该执行应用程序的位置的程序字节为0x02时,燃气表将升级程序包写入燃气表的第三存储区域,燃气表将用于标识应该执行应用程序的位置的程序字节改写为0x01;步骤S42与S43任选其一多次执行。...

【技术特征摘要】
1.一种OTA程序升级方法,应用在GPRS燃气表中,其特征在于,GPRS燃气表的存储模块具有第一存储区域、第二存储区域、第三存储区域、第四存储区域;第一存储区域具有bootloader程序,第二存储区域具有用于标识应该执行应用程序的位置的程序字节,第三存储区域具有第一用户应用程序;第四存储区域具有第二用户应用程序;该OTA程序升级方法包括如下步骤:S1燃气表接收到服务器发出的OTA升级请求指令;S2燃气表向服务器发出已准备好的信息;S3燃气表接收服务器发出的程序包,程序包为多个;S4燃气表发出下载全部完成的信息,后接收到升级结束指令;S5燃气表执行OTA升级程序;其中,步骤S3包括如下子步骤:S31燃气表读取用于标识应该执行应用程序的位置的程序字节;S32当燃气表读取的用于标识应该执行应用程序的位置的程序字节为0x01时,燃气表将升级程序包写入燃气表的第四存储区域,燃气表将用于标识应该执行应用程序的位置的程序字节改写为0x02;S33当燃气表读取的用于标识应该执行应用程序的位置的程序字节为0x02时,燃气表将升级程序包写入燃气表的第三存储区域,燃气表将用于标识应该执行应用程序的位置的程序字节改写为0x01;步骤S42与S43任选其一多次执行。2.根据权利要求1所述的OTA程序升级方法,其特征在于,步骤S42与S43分别还包括:燃气表向服务器发出程序包已收到的应答信息,燃气表收到服务器发出的确认指令。3.根据权利要求1或2所述的OTA程序升级方法,其特征在于,步骤S5包括如下子步骤:S51当燃气表读取的用于标识应该执行应用程序的位置的程序字节为0x01时,燃气表执行第四存储区域中的程序包的升级程序;若该升级程序执行成功,则燃气表重新启动,执行升级后的用户应用程序;若该升级程序执行失败,则燃气表将标识字节写成0x02,执行第三存储区域的第一用户应用程序;S52当燃气表读取的用于标识应该执行应用程序的位置的程序字节为0x02时,燃气表执行第三存储区域中的程序包的升级程序;若该升级程序执行成功,则燃气表重新启动,执行升级后的用户应用程序;若该升级程序执行失败,则燃气表将标识字节写成0x01,执行第四存储区域的第二用户应用程序;步骤S51和S52任选其一执行。4.一种GPRS燃气表,包括基表、外壳和电子控制器,所述电子控制器包括相互电路连接的单片机、电源、存储模块,所述存储模块具有第一存储区域、第二存储区域、第三存储区域、第四存储区域;第一存储区域具有bootl...

【专利技术属性】
技术研发人员:杨铮李龙陈烊伊
申请(专利权)人:廊坊新奥燃气设备有限公司
类型:发明
国别省市:河北,13

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

1