CN112152846A - 一种基于物联网的计量仪表远程升级方法 - Google Patents
一种基于物联网的计量仪表远程升级方法 Download PDFInfo
- Publication number
- CN112152846A CN112152846A CN202010987127.2A CN202010987127A CN112152846A CN 112152846 A CN112152846 A CN 112152846A CN 202010987127 A CN202010987127 A CN 202010987127A CN 112152846 A CN112152846 A CN 112152846A
- Authority
- CN
- China
- Prior art keywords
- internet
- single chip
- program
- chip microcomputer
- things
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明创造属于计量仪表领域,具体涉及了一种基于物联网的计量仪表远程升级方法。为了实现上述目的,本发明创造所采用的技术方案是,一种基于物联网的计量仪表远程升级方法,包括以下主步骤:S1:单片机给服务器平台发送业务数据;S2:服务器平台与物联网模组之间进行是否需要升级确认,如果是,跳转S3,如果不是,跳转S6;S3:物联网模组从服务器平台下载升级数据,并告知单片机下载进度;S4:升级数据下载完成后,单片机选择升级时间,并进行升级;S5:升级完成后,单片机进行升级结果确认,跳转S1。本申请针对现在的物联网,利用了以往没有利用起来的使用物联网模组做单片机固件收发功能和固件解析,实现了物联网终端设备单片机的远程升级。
Description
技术领域
本发明创造属于计量仪表领域,具体涉及了一种基于物联网的计量仪表远程升级方法。
背景技术
基于物联网的计量仪表是以表端单片机作为数据收集和命令执行的主控制器。数据流始于单片机,单片机通过串口和物联网模组交互数据,物联网模组通过无线方式连接运营商架设的基站进而连接云平台,实现单片机和云平台间交互采集数据、管理或控制命令。基于物联网的计量仪表整体系统是由云平台+基站+终端设备构成。
物联网燃气表作为万物互联的一个终端,其承载着表端数据采集、表端计费、表端数据存储、上传等众多与计量有关的重要业务,对燃气用户的安全用气具有重要作用。因此,除了要求表端控制主板硬件具有高可靠性外,还要求主板上的嵌入式软件具有很高的稳定性和可靠性。
然而,在主板的嵌入式软件设计过程中,不可避免地存在一些未知的BUG,这些BUG可能只有在特定的情况下才会出现问题;同时随着技术的发展,对表具功能也会根据用户的需求做出一些升级调整。但是,表具一旦安装到用户家里,再想削除软件上存在的BUG或功能升级,变得非常困难,如果涉及的表具较多,将很难实现全部更新。
发明内容
针对上述存在的技术问题,本发明创造提出了一种基于物联网的计量仪表远程升级方法。
为了实现上述目的,本发明创造所采用的技术方案是,一种基于物联网的计量仪表远程升级方法,包括以下主步骤:S1:单片机给服务器平台发送业务数据;S2:服务器平台与物联网模组之间进行是否需要升级确认,如果是,跳转S3,如果不是,跳转S6;S3:物联网模组从服务器平台下载升级数据,并告知单片机下载进度;S4:升级数据下载完成后,单片机选择升级时间,并进行升级;S5:升级完成后,单片机进行升级结果确认,跳转S1;S6:服务器平台标注该单片机的版本状态,在下次有更新前不再进行升级确认。
作为优选,所述的S2包括以下步骤:A1:服务器平台给物联网发送查询版本号指令;A2:服务器平台受到物联网模组回复的版本号后,与最新升级版本号作对比,如果版本好不一致,跳转A3,如果版本号一致,跳转S6;A3:获取该单片机的所在地理位置,并判断该单片机所在位置的信号基站是否有空余容量对该单片机进行升级,如果有,跳转A4,如果没有,跳转;A4:向单片机发送可以下载升级包指令,并与物联网模组进行问答式下载,跳转S3;A5:将该任务排队挂起,并继续判断该单片所在位置的信号基站是否有空余容量对该单片进行升级,如果有,跳转A4,如果没有跳转A5。
作为优选,所述的S3包括以下步骤:B1:物联网模组由单片机开机后,开始与服务器平台开始对话;B2:并通过问答的方式从服务器平台下载更新数据包;B3:在下载过程中,物联网模组计算下载进度并定时将下载进度报告给单片机;B4:下载完成后,物联网模组计算该更新数据包的完整性,并发送到服务器平台核对,如果更新数据包不完整,跳转B7,如果更新数据包完整,跳转B5;B5:物联网模组将更新的数据包解压后,将更新数据包结合到存储在物联网模组中的现在单片机运行程序的备份程序上,形成新程序,然后向单片机发送升级准备完成信号,并等待单片机回复可以进行升级的指令;B6:接收到可以升级的指令后,物联网模组将解压后的新程序逐行解析并逐行烧录到单片机中,并在烧录完成最后一行程序后,给予单片机进行完整性验证指令,跳转S5;B7:逐步将更新数据包中的子数据包编号与服务器平台进行核对,将缺少的子数据包重新下载,并添加到更新数据包中,并跳转B4。
作为优选,所述的B5中单片机判断升级时机包括以下步骤:C1:单片机判断目前终端设备的使用状态,如果在使用,跳转,如果没在使用,跳转C2;C2:根据神经网络学习结果来判断当前时间段是否属于用户使用终端的高频时间段,如果是,跳转C4,如果不是,跳转C3;C3:命令物联网模组开机,并进入升级程序升级进程,并配合物联网模组逐行烧入程序,在程序升级完成后,跳转S5;C4:计划升级时间,将升级时间选择为用户使用终端的低频时段;C5:并在计划时间到达后,对当前终端的使用状态进行判断,如果在使用,跳转,如果没在使用,跳转C3;C6:按照一定的时间间隔判断当前的使用状态,如果还在使用,跳转C6,如果已经停止使用,跳转C2。
作为优选,所述的C3中进入升级进程时需要先将物联网模组中预设的暂时主任务执行协程空间激活,由物联网模组代替单片机暂时进行对终端的服务。
作为优选,所述的S5包括以下步骤:D1:单片机接收到来自物联网模组的升级程序完整性验证指令和完整性验证的结果后,单片机自身对烧入的升级程序进行完整性运算;D2:如果单片机进行完整性运算的结果与物联网模组给予的完整性运算结果相同,跳转D3,如果不同,跳转D5;D3:单片机结束目前运行的升级程序,释放旧程序占用的存储空间,并向给物联网模组发送升级成功通知S1;D4:并将接收物联网暂时主任务执行协程的运行数据并继续运行,同时通知物联网模组释放主任务协程空间;D5:单片机给物联网模组发送升级失败通知,并从物联网模组中获取旧版本的程序并烧入,跳转S1。
作为优选,所述的B5中将更新数据包整合到物联网模组中的备份程序包括以下步骤:E1:将更新数据包解析为文本格式文件;E2:从文件格式文件中提取出起始字节,并对提取出来的起始字节进行压缩,并合并到备份程序,同时将备份程序进行复制另存为新程序;E3:在起始字节提取完毕后,按照物联网模组剩余存储空间的大小从文本格式文件中继续依次进行字节提取;E4:将新提取出来的字节进行压缩解析合并到当前备份程序中,对当前备份程序的内容进行增加或删除或修改动作,然后将经过增加或删除或修改过的当前程序对另存的新程序进行覆盖;E5:当文本格式文件的内容全部整合到备份程序中时,对新程序进行最终保存,但不对备份程序进行保存,使得备份程序依然与当前单片机运行的程序相同。
作为优选,所述的物联网模组在未收到单片机升级成功的通知时,物联网的存储空间中依然保存有备份程序,当接收到单片机的升级成功通知后,将备份程序所占用的存储空间释放,并保留单片机当前运行的程序安装数据作为备份程序;如果物联网模组收到单片机的升级失败通知,则将升级失败结构反馈到服务器平台,并清空新程序占用的存储空间,保留当前单片机使用的备份程序。
本发明创造的有益效果:由于现在的计量仪表单片机内存资源不足的问题,所以很多可以用在其他设备上成熟的远程升级手段以及智能化管理难以结合到计量仪表上。本申请针对现在的物联网,利用了以往没有利用起来的使用物联网模组做单片机固件收发功能和固件解析,实现了物联网终端设备单片机的远程升级。相比起来现有的远程升级手段,首先是降低了单片机的FLASH空间、内存空间、运行速度的要求标准,节省了硬件成本和能耗;其次远程升级功能中最为繁重工作和最需要资源的工作,在本申请中都由用于数据通信的物联网模组上进行处理,从而降低了对单片机业务逻辑处理的影响。并且固件的存储和备份不需要额外的FLASH芯片,进而降低了系统的成本,提高了远程升级的可靠性。
附图说明
为了更清楚地说明本发明创造具体实施方式,下面将对具体实施方式中所需要使用的附图作简单地介绍。在所有附图中,各元件或部分并不一定按照实际的比例绘制。
图1为计量仪表的组成结构示意图
图2为远程升级方法主步骤逻辑示意图
图3为步骤S3的子步骤逻辑示意图
图4为步骤S5的子步骤逻辑示意图
图5为子步骤B5的具体逻辑示意图
具体实施方式
下面将结合附图对本发明创造技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明创造的技术方案,因此只作为示例,而不能以此来限制本发明创造的保护范围。
如图1所示。本申请中基于物联网的计量仪表与现有的计量仪表组成相同且基本功能相同,都是由以单片机为代表的主控制模块、物联网模组、显示LCD模块、输入模块、传感器模块、执行机构模块、电源管理模块等组成的物联网终端设备。
其中主控制模块完成数据的采集和处理、用户输入的响应、显示内容的更新、控制物联网模组实现网络数据的上下传和控制命令的处理、执行机构的动作控制、电源的管理、固件烧录等功能。
但是本申请中的物联网模组中还具备了对远程升级的固件下载以及固件的解析,并发送解析后的数据到控制模块实现固件的烧录功能。此外控制模块通过和物联网模组实现网络通信。而且
电源管理模块是实现低能耗的基础。
如图2所示,为了实现上述目的,本发明创造所采用的技术方案是,一种基于物联网的计量仪表远程升级方法,包括以下主步骤:S1:单片机给服务器平台发送业务数据。S2:服务器平台与物联网模组之间进行是否需要升级确认,如果是,跳转S3,如果不是,跳转S6。S3:物联网模组从服务器平台下载升级数据,并告知单片机下载进度。S4:升级数据下载完成后,单片机选择升级时间,并进行升级。S5:升级完成后,单片机进行升级结果确认,跳转S1。S6:服务器平台标注该单片机的版本状态,在下次有更新前不再进行升级确认。
该远程升级方法利用了以往没有利用起来的使用物联网模组做单片机固件收发功能和固件解析,实现了物联网终端设备单片机的远程升级。相比起来现有的远程升级手段,首先是降低了单片机的FLASH空间、内存空间、运行速度的要求标准,节省了硬件成本和能耗;其次远程升级功能中最为繁重工作和最需要资源的工作,在本申请中都由用于数据通信的物联网模组上进行处理,从而降低了对单片机业务逻辑处理的影响。
S2包括以下步骤:A1:服务器平台给物联网发送查询版本号指令。A2:服务器平台受到物联网模组回复的版本号后,与最新升级版本号作对比,如果版本好不一致,跳转A3,如果版本号一致,跳转S6。A3:获取该单片机的所在地理位置,并判断该单片机所在位置的信号基站是否有空余容量对该单片机进行升级,如果有,跳转A4,如果没有,跳转。A4:向单片机发送可以下载升级包指令,并与物联网模组进行问答式下载,跳转S3。A5:将该任务排队挂起,并继续判断该单片所在位置的信号基站是否有空余容量对该单片进行升级,如果有,跳转A4,如果没有跳转A5。
如图3所示,S3包括以下步骤:B1:物联网模组由单片机开机后,开始与服务器平台开始对话。B2:并通过问答的方式从服务器平台下载更新数据包。B3:在下载过程中,物联网模组计算下载进度并定时将下载进度报告给单片机。B4:下载完成后,物联网模组计算该更新数据包的完整性,并发送到服务器平台核对,如果更新数据包不完整,跳转B7,如果更新数据包完整,跳转B5。B5:物联网模组将更新的数据包解压后,将更新数据包结合到存储在物联网模组中的现在单片机运行程序的备份程序上,形成新程序,然后向单片机发送升级准备完成信号,并等待单片机回复可以进行升级的指令。B6:接收到可以升级的指令后,物联网模组将解压后的新程序逐行解析并逐行烧录到单片机中,并在烧录完成最后一行程序后,给予单片机进行完整性验证指令,跳转S5。B7:逐步将更新数据包中的子数据包编号与服务器平台进行核对,将缺少的子数据包重新下载,并添加到更新数据包中,并跳转B4。
问答式的数据下载方式可以使得下载过程中出现意外中断时候,再次连上网络后,依然可以实现断点继续下载的功能,而数据升级包的完整性验证同样可以保证数据升级包的完整性,减少远程升级的失误率。
逐行的烧入方式,可以用更好的空间对原烧录在内的程序形成替换,节省了单片机的大量空间。而常规的使用,都是按照功能块烧入单片机,而按照功能块烧入的方式就需要占用更多的空间。
B5中单片机判断升级时机包括以下步骤:C1:单片机判断目前终端设备的使用状态,如果在使用,跳转,如果没在使用,跳转C2。C2:根据神经网络学习结果来判断当前时间段是否属于用户使用终端的高频时间段,如果是,跳转C4,如果不是,跳转C3。C3:命令物联网模组开机,并进入升级程序升级进程,并配合物联网模组逐行烧入程序,在程序升级完成后,跳转S5。C4:计划升级时间,将升级时间选择为用户使用终端的低频时段。C5:并在计划时间到达后,对当前终端的使用状态进行判断,如果在使用,跳转,如果没在使用,跳转C3。C6:按照一定的时间间隔判断当前的使用状态,如果还在使用,跳转C6,如果已经停止使用,跳转C2。
C3中进入升级进程时需要先将物联网模组中预设的暂时主任务执行协程空间激活,由物联网模组代替单片机暂时进行对终端的服务。
单片机在升级时的升级时间选择尽可能的避免升级对于用于使用时的影响。虽然这个时候主任务执行已经转移到物联网模组中进行暂时工作,但是暂时工作时由于物联网模组并不是专门用于执行任务使用的,所以其稳定性较差,只能作为应急使用。
如图4所示,S5包括以下步骤:D1:单片机接收到来自物联网模组的升级程序完整性验证指令和完整性验证的结果后,单片机自身对烧入的升级程序进行完整性运算。D2:如果单片机进行完整性运算的结果与物联网模组给予的完整性运算结果相同,跳转D3,如果不同,跳转D5。D3:单片机结束目前运行的升级程序,释放旧程序占用的存储空间,并向给物联网模组发送升级成功通知S1。D4:并将接收物联网暂时主任务执行协程的运行数据并继续运行,同时通知物联网模组释放主任务协程空间。D5:单片机给物联网模组发送升级失败通知,并从物联网模组中获取旧版本的程序并烧入,跳转S1。
关于升级程序完整性的认证方法,可以对单片机升级程序进行自检,从而确认是否升级成功,避免由于在升级过程中发生的错误导致影响到计量仪表的运行。其中完整性的运算算法可以采用常规的哈希算法进行。
如图5所示,B5中将更新数据包整合到物联网模组中的备份程序包括以下步骤:E1:将更新数据包解析为文本格式文件。E2:从文件格式文件中提取出起始字节,并对提取出来的起始字节进行压缩,并合并到备份程序,同时将备份程序进行复制另存为新程序。E3:在起始字节提取完毕后,按照物联网模组剩余存储空间的大小从文本格式文件中继续依次进行字节提取。E4:将新提取出来的字节进行压缩解析合并到当前备份程序中,对当前备份程序的内容进行增加或删除或修改动作,然后将经过增加或删除或修改过的当前程序对另存的新程序进行覆盖。E5:当文本格式文件的内容全部整合到备份程序中时,对新程序进行最终保存,但不对备份程序进行保存,使得备份程序依然与当前单片机运行的程序相同。
在内存资源充足的状态下,常规的操作都是直接将更新数据包的内容直接整合到复制的程序上,然后在进行备份。但是由于直接整合的过程中需要占据极大的运算空间以及存储空间,而计量仪表的资源有限,不能满足一次性进行操作。所以本申请中通过依次提取字节,并对字节做压缩后,再在备份程序上做动作,减少了运算空间以及存储空间的占用,使得更加适用于计量仪表。
物联网模组在未收到单片机升级成功的通知时,物联网的存储空间中依然保存有备份程序,当接收到单片机的升级成功通知后,将备份程序所占用的存储空间释放,并保留单片机当前运行的程序安装数据作为备份程序。如果物联网模组收到单片机的升级失败通知,则将升级失败结构反馈到服务器平台,并清空新程序占用的存储空间,保留当前单片机使用的备份程序。
以下为当前单片机的常规远程升级方法介绍,以及克服单片机本身存储空间不足的问题所采用的方法。
一种是采用FLASH(存储空间)容量大的单片机,将FLASH分割为逻辑上的三个空间,即BootLoader(开机引导程序)程序存储空间、应用程序存储空间1(出厂时存放的旧固件程序)、应用程序存储空间2(存放的新固件程序)。升级就是运行中的旧固件程序,通过物联网模组或网络模块从网络上将新固件下载到应用程序空间2中,待下载完且校验正确后,程序跳转到BootLoader程序上运行(这个时候就不使用应用程序存储空间),这个时候BootLoader程序将启动程序指向由程序存储空间1改为程序存储空间2,最后根据启动程序指向跳转到对应的程序存储空间去运行应用程序,从而完成升级。这种方案下单片机FLASH空间和内存空间必须足够大,才能保证文件分片数据的正常收发,而且在处理文件数据的收发过程中单片机根本无法处理业务逻辑,而仅能处理中断。
另外一种是外接一个单片机通过IIC、SPI、UART等总线访问的FLASH芯片。这种情况下单片机的FLASH空间被分为BootLoader程序存储空间、应用程序存储空间(出厂时默认将固件存放于这里)。在远程升级时,通过物联网模组从网络上将新固件下载到外接的FLASH空间里。待下载完成和校验正确后,应用程序跳转到BootLoader程序运行BootLoader程序,停止应用程序的运行。BootLoader程序读取外接的FLASH芯片中存储的内容并写入到单片机内部的应用程序空间中,待写入完成后再跳转到应用程序空间去执行应用程序。从上面可见这种方案下单片机需要下载文件,并保存文件到外接FLASH芯片中去;在BootLoader程序中需要将外接FLASH芯片的内容读取回去,这些操作不但繁琐,还导致电路设计的复杂化、单片机还要处理FLASH芯片失效的额外任务、处理文件数据收发时无法处理业务逻辑,仅能处理中断任务。
综上所述,单片机内开发有下载文件的功能,导致单片机对FLASH、内存和运行速度有较高的要求。又由于单片机的深度定制的特性,如在更换单片机的新产品中,就必须针对新单片机再次开发固件下载功能。其次在单片机参与下载文件的过程中,无法处理业务逻辑,形成业务和固件下载间的竞争-冒险关系。使得整个系统的操作、安全可靠性都会受到影响。最后一些单片机无法提供足够的FLASH资源时。还会外接FLASH芯片,也就出现电路设计复杂化、单片机还要处理FLASH芯片的管理工作,降低整个单片机系统效率不说还容易引出更多问题。
所以本申请针对现在的物联网,利用了以往没有利用起来的使用物联网模组做单片机固件收发功能和固件解析,实现了物联网终端设备单片机的远程升级。相比起来现有的远程升级手段,首先是降低了单片机的FLASH空间、内存空间、运行速度的要求标准,节省了硬件成本和能耗。其次远程升级功能中最为繁重工作和最需要资源的工作,在本申请中都由用于数据通信的物联网模组上进行处理,从而降低了对单片机业务逻辑处理的影响。并且固件的存储和备份不需要额外的FLASH芯片,进而降低了系统的成本,提高了远程升级的可靠性。
以上实施例仅用以说明本发明创造的技术方案,而非对其限制。尽管参照前述各实施例对本发明创造进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本发明创造各实施例技术方案的范围,其均应涵盖在本发明创造的权利要求和说明书的范围当中。
Claims (8)
1.一种基于物联网的计量仪表远程升级方法,其特征在于,包括以下主步骤:
S1:单片机给服务器平台发送业务数据;
S2:服务器平台与物联网模组之间进行是否需要升级确认,如果是,跳转S3,如果不是,跳转S6;
S3:物联网模组从服务器平台下载升级数据,并告知单片机下载进度;
S4:升级数据下载完成后,单片机选择升级时间,并进行升级;
S5:升级完成后,单片机进行升级结果确认,跳转S1;
S6:服务器平台标注该单片机的版本状态,在下次有更新前不再进行升级确认。
2.根据权利要求1所述的一种基于物联网的计量仪表远程升级方法,其特征在于,所述的S2包括以下步骤:
A1:服务器平台给物联网发送查询版本号指令;
A2:服务器平台收到物联网模组回复的版本号后,与最新升级版本号作对比,如果版本号不一致,跳转A3,如果版本号一致,跳转S6;
A3:获取该单片机的所在地理位置,并判断该单片机所在位置的信号基站是否有空余容量对该单片机进行升级,如果有,跳转A4,如果没有,跳转;
A4:向单片机发送可以下载升级包指令,并与物联网模组进行问答式下载,跳转S3;
A5:将该任务排队挂起,并继续判断该单片所在位置的信号基站是否有空余容量对该单片进行升级,如果有,跳转A4,如果没有跳转A5。
3.根据权利要求1所述的一种基于物联网的计量仪表远程升级方法,其特征在于,所述的S3包括以下步骤:
B1:物联网模组由单片机开机后,开始与服务器平台开始对话;
B2:通过问答的方式从服务器平台下载更新数据包;
B3:在下载过程中,物联网模组计算下载进度并定时将下载进度报告给单片机;
B4:下载完成后,物联网模组计算该更新数据包的完整性,并发送到服务器平台核对,如果更新数据包不完整,跳转B7,如果更新数据包完整,跳转B5;
B5:物联网模组将更新的数据包解压后,将更新数据包结合到存储在物联网模组中的现在单片机运行程序的备份程序上,形成新程序,然后向单片机发送升级准备完成信号,并等待单片机回复可以进行升级的指令;
B6:接收到可以升级的指令后,物联网模组将解压后的新程序逐行解析并逐行烧录到单片机中,并在烧录完成最后一行程序后,给予单片机进行完整性验证指令,跳转S5;
B7:逐步将更新数据包中的子数据包编号与服务器平台进行核对,将缺少的子数据包重新下载,并添加到更新数据包中,并跳转B4。
4.根据权利要求3所述的一种基于物联网的计量仪表远程升级方法,其特征在于,所述的B5中单片机判断升级时机包括以下步骤:
C1:单片机判断目前终端设备的使用状态,如果在使用,跳转,如果没在使用,跳转C2;
C2:根据神经网络学习结果来判断当前时间段是否属于用户使用终端的高频时间段,如果是,跳转C4,如果不是,跳转C3;
C3:命令物联网模组开机,并进入升级程序升级进程,并配合物联网模组逐行烧入程序,在程序升级完成后,跳转S5;
C4:计划升级时间,将升级时间选择为用户使用终端的低频时段;
C5:并在计划时间到达后,对当前终端的使用状态进行判断,如果在使用,跳转,如果没在使用,跳转C3;
C6:按照一定的时间间隔判断当前的使用状态,如果还在使用,跳转C6,如果已经停止使用,跳转C2。
5.根据权利要求4所述的一种物联网计量仪表远程升级方法,其特征在于,所述的C3中进入升级进程时需要先将物联网模组中预设的暂时主任务执行协程空间激活,由物联网模组代替单片机暂时进行对终端的服务。
6.根据权利要求5所述的一种基于物联网的计量仪表远程升级方法,其特征在于,所述的S5包括以下步骤:
D1:单片机接收到来自物联网模组的升级程序完整性验证指令和完整性验证的结果后,单片机自身对烧入的升级程序进行完整性运算;
D2:如果单片机进行完整性运算的结果与物联网模组给予的完整性运算结果相同,跳转D3,如果不同,跳转D5;
D3:单片机结束目前运行的升级程序,释放旧程序占用的存储空间,并向给物联网模组发送升级成功通知S1;
D4:并将接收物联网暂时主任务执行协程的运行数据并继续运行,同时通知物联网模组释放主任务协程空间;
D5:单片机给物联网模组发送升级失败通知,并从物联网模组中获取旧版本的程序并烧入,跳转S1。
7.根据权利要求6所述的一种基于物联网的计量仪表远程升级方法,其特征在于,所述的B5中将更新数据包整合到物联网模组中的备份程序包括以下步骤:
E1:将更新数据包解析为文本格式文件;
E2:从文件格式文件中提取出起始字节,并对提取出来的起始字节进行压缩,并合并到备份程序,同时将备份程序进行复制另存为新程序;
E3:在起始字节提取完毕后,按照物联网模组剩余存储空间的大小从文本格式文件中继续依次进行字节提取;
E4:将新提取出来的字节进行压缩解析合并到当前备份程序中,对当前备份程序的内容进行增加或删除或修改动作,然后将经过增加或删除或修改过的当前程序对另存的新程序进行覆盖;
E5:当文本格式文件的内容全部整合到备份程序中时,对新程序进行最终保存,但不对备份程序进行保存,使得备份程序依然与当前单片机运行的程序相同。
8.根据权利要求7所述的一种物联网计量仪表远程升级方法,其特征在于,所述的物联网模组在未收到单片机升级成功的通知时,物联网的存储空间中依然保存有备份程序,当接收到单片机的升级成功通知后,将备份程序所占用的存储空间释放,并保留单片机当前运行的程序安装数据作为备份程序;如果物联网模组收到单片机的升级失败通知,则将升级失败结果反馈到服务器平台,并清空新程序占用的存储空间,保留当前单片机使用的备份程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010987127.2A CN112152846B (zh) | 2020-09-18 | 2020-09-18 | 一种基于物联网的计量仪表远程升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010987127.2A CN112152846B (zh) | 2020-09-18 | 2020-09-18 | 一种基于物联网的计量仪表远程升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112152846A true CN112152846A (zh) | 2020-12-29 |
CN112152846B CN112152846B (zh) | 2023-04-18 |
Family
ID=73893238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010987127.2A Active CN112152846B (zh) | 2020-09-18 | 2020-09-18 | 一种基于物联网的计量仪表远程升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112152846B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114863662A (zh) * | 2021-01-18 | 2022-08-05 | 辽宁思凯科技股份有限公司 | 一种居民水表或燃气表远程升级系统 |
CN115904457A (zh) * | 2023-03-01 | 2023-04-04 | 江苏安世朗智能科技有限公司 | 一种基于物联网的电脑固件远程升级系统及方法 |
CN116521210A (zh) * | 2023-04-18 | 2023-08-01 | 宁夏隆基宁光仪表股份有限公司 | 一种物联网水表固件差量升级的方法 |
CN117931252A (zh) * | 2024-03-21 | 2024-04-26 | 成都千嘉科技股份有限公司 | 超声波燃气表的信息传输方法和传输系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050010914A1 (en) * | 2003-07-10 | 2005-01-13 | Wan-Pei Liang | Method for upgrading firmware |
US20070294686A1 (en) * | 2006-06-19 | 2007-12-20 | Samsung Electronics Co., Ltd. | Program upgrade system and method for ota-capable device |
WO2014146256A1 (zh) * | 2013-03-19 | 2014-09-25 | 华为技术有限公司 | 一种升级方法、智能终端及升级系统 |
CN106647517A (zh) * | 2016-12-29 | 2017-05-10 | 金卡高科技股份有限公司 | 一种物联网计量仪表远程固件升级方法及计量仪表系统 |
CN109189433A (zh) * | 2018-09-18 | 2019-01-11 | 四川爱联科技有限公司 | 用于物联网设备mcu的升级方法 |
CN109213500A (zh) * | 2018-09-18 | 2019-01-15 | 四川爱联科技有限公司 | 物联网模组固件管理系统 |
CN109358865A (zh) * | 2018-12-20 | 2019-02-19 | 合肥协力仪表控制技术股份有限公司 | 一种具有远程升级功能的工业车辆车联网仪表及升级方法 |
CN109976784A (zh) * | 2019-01-24 | 2019-07-05 | 金卡智能集团股份有限公司 | 智能物联网计量仪表远程固件升级方法及系统 |
CN110417828A (zh) * | 2018-04-26 | 2019-11-05 | 海信集团有限公司 | 一种物联网终端的升级方法和装置 |
CN111273937A (zh) * | 2020-01-18 | 2020-06-12 | 四川九洲空管科技有限责任公司 | 一种基于stm32f746处理器的远程升级方法 |
CN111565122A (zh) * | 2020-04-29 | 2020-08-21 | 四川虹美智能科技有限公司 | 物联网设备固件升级方法、装置和系统 |
-
2020
- 2020-09-18 CN CN202010987127.2A patent/CN112152846B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050010914A1 (en) * | 2003-07-10 | 2005-01-13 | Wan-Pei Liang | Method for upgrading firmware |
US20070294686A1 (en) * | 2006-06-19 | 2007-12-20 | Samsung Electronics Co., Ltd. | Program upgrade system and method for ota-capable device |
WO2014146256A1 (zh) * | 2013-03-19 | 2014-09-25 | 华为技术有限公司 | 一种升级方法、智能终端及升级系统 |
CN106647517A (zh) * | 2016-12-29 | 2017-05-10 | 金卡高科技股份有限公司 | 一种物联网计量仪表远程固件升级方法及计量仪表系统 |
CN110417828A (zh) * | 2018-04-26 | 2019-11-05 | 海信集团有限公司 | 一种物联网终端的升级方法和装置 |
CN109189433A (zh) * | 2018-09-18 | 2019-01-11 | 四川爱联科技有限公司 | 用于物联网设备mcu的升级方法 |
CN109213500A (zh) * | 2018-09-18 | 2019-01-15 | 四川爱联科技有限公司 | 物联网模组固件管理系统 |
CN109358865A (zh) * | 2018-12-20 | 2019-02-19 | 合肥协力仪表控制技术股份有限公司 | 一种具有远程升级功能的工业车辆车联网仪表及升级方法 |
CN109976784A (zh) * | 2019-01-24 | 2019-07-05 | 金卡智能集团股份有限公司 | 智能物联网计量仪表远程固件升级方法及系统 |
CN111273937A (zh) * | 2020-01-18 | 2020-06-12 | 四川九洲空管科技有限责任公司 | 一种基于stm32f746处理器的远程升级方法 |
CN111565122A (zh) * | 2020-04-29 | 2020-08-21 | 四川虹美智能科技有限公司 | 物联网设备固件升级方法、装置和系统 |
Non-Patent Citations (4)
Title |
---|
RIFQI MUHAMMAD RASYAD等: ""Design and Realization of Node MCU Module Based on NB-IOT for General IOT Purpose "", 《IEEE》 * |
RIFQI MUHAMMAD RASYAD等: ""Design and Realization of Node MCU Module Based on NB-IOT for General IOT Purpose "", 《IEEE》, 6 February 2020 (2020-02-06) * |
刘学刚等: "一种基于Cortex-M3核心芯片的物联网模块", 《工业控制计算机》 * |
刘学刚等: "一种基于Cortex-M3核心芯片的物联网模块", 《工业控制计算机》, no. 06, 25 June 2012 (2012-06-25) * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114863662A (zh) * | 2021-01-18 | 2022-08-05 | 辽宁思凯科技股份有限公司 | 一种居民水表或燃气表远程升级系统 |
CN114863662B (zh) * | 2021-01-18 | 2024-03-19 | 辽宁思凯科技股份有限公司 | 一种居民水表或燃气表远程升级系统 |
CN115904457A (zh) * | 2023-03-01 | 2023-04-04 | 江苏安世朗智能科技有限公司 | 一种基于物联网的电脑固件远程升级系统及方法 |
CN115904457B (zh) * | 2023-03-01 | 2024-01-30 | 江苏安世朗智能科技有限公司 | 一种基于物联网的电脑固件远程升级系统及方法 |
CN116521210A (zh) * | 2023-04-18 | 2023-08-01 | 宁夏隆基宁光仪表股份有限公司 | 一种物联网水表固件差量升级的方法 |
CN116521210B (zh) * | 2023-04-18 | 2024-05-03 | 宁夏隆基宁光仪表股份有限公司 | 一种物联网水表固件差量升级的方法 |
CN117931252A (zh) * | 2024-03-21 | 2024-04-26 | 成都千嘉科技股份有限公司 | 超声波燃气表的信息传输方法和传输系统 |
CN117931252B (zh) * | 2024-03-21 | 2024-06-11 | 成都千嘉科技股份有限公司 | 超声波燃气表的信息传输方法和传输系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112152846B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112152846B (zh) | 一种基于物联网的计量仪表远程升级方法 | |
RU2419839C2 (ru) | Система и способ обновления программы для мобильного терминала с поддержкой ота | |
CN110597542B (zh) | 软件自动ota升级方法及装置、电子设备 | |
CN106610840A (zh) | 一种无线固件升级方法及系统 | |
CN105260215A (zh) | 一种u盘升级车载行车记录仪终端的方法 | |
CN110096290B (zh) | 一种电池模拟器主控板软件升级方法 | |
CN102004657B (zh) | 一种电子设备及其升级方法 | |
CN111813428A (zh) | 终端固件的升级方法、装置、电子设备及存储介质 | |
CN101883254A (zh) | 互动电视机顶盒的ip点播载入升级装置及升级方法 | |
CN112181455B (zh) | 微控制器的在线升级方法、微控制器及存储介质 | |
CN113900693B (zh) | 一种固件升级方法、装置、系统、电子设备及存储介质 | |
JP3864337B2 (ja) | バージョンアップ方法 | |
CN112286565A (zh) | 一种基于存储容器的嵌入式系统差分升级方法 | |
CN114840242A (zh) | 一种电子设备的系统升级方法、装置及可读存储介质 | |
CN112988169A (zh) | 应用安装方法、装置、终端设备、服务器及存储介质 | |
CN114610355A (zh) | 一种适用于电力芯片控制软件的升级方法及装置 | |
CN104133743A (zh) | 一种将文件烧录到emmc芯片的方法及装置 | |
CN115437674B (zh) | 一种固件升级方法、装置、介质及电子设备 | |
CN111459468A (zh) | 高可靠性串口通讯的dsp程序在线升级系统和方法 | |
CN114265606B (zh) | 固件升级方法、装置、设备及存储介质 | |
CN114996717A (zh) | 一种防止误擦除的升级程序设计方法 | |
CN115102855A (zh) | 智能水表嵌入式软件在线升级方法及系统 | |
KR101637608B1 (ko) | 차량 내 멀티미디어 시스템에 대한 업데이트 방법 및 시스템 | |
CN115878145B (zh) | 电子设备及其系统升级方法、计算机可读存储介质 | |
CN116541051A (zh) | 应用程序差分升级方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |