CN109669708B - 用于模块化物联网终端设备的远程升级方法 - Google Patents
用于模块化物联网终端设备的远程升级方法 Download PDFInfo
- Publication number
- CN109669708B CN109669708B CN201811301601.0A CN201811301601A CN109669708B CN 109669708 B CN109669708 B CN 109669708B CN 201811301601 A CN201811301601 A CN 201811301601A CN 109669708 B CN109669708 B CN 109669708B
- Authority
- CN
- China
- Prior art keywords
- firmware
- upgrade package
- module
- activation
- upgrading
- 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.)
- Active
Links
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了用于模块化物联网终端设备的远程升级方法,属于物联网领域,包括生成并存储固件升级包。令终端设备中的主模块查询控制设备中是否存有固件升级包,如果存在固件升级包,则擦除终端设备中升级包下载区内的文件,将固件升级包下载至已擦除的升级包下载区。令主模块对已下载的固件升级包进行校验,将校验结果发送至控制设备,当校验成功时控制设备向终端设备发送包括固件升级包完整性校验值在内的激活指令,终端设备接收控制设备发送的激活指令进行激活升级程序。通过将固件下载与固件激活两个步骤分开处理的操作,可以在固件下载后根据具体下载结果选择固件升级或放弃升级的操作,避免固件下载后自动激活升级容易导致陷入死循环的缺陷。
Description
技术领域
本申请属于物联网领域,特别涉及用于模块化物联网终端设备的远程升级方法。
背景技术
随着对产品智能化的要求,物联网设备功能越来越复杂,设备厂家出于对产品可靠性,可扩展性及功能复用性方面的考虑,一般使用模块化的设计,即将某一部分功能由专用的模块完成,多个模块共同配合实现设备功能。
为了应对物联网设备程序缺陷或新功能添加,固件升级在所难免,在现有的技术中,利用应用内编程(In Application Programming,IAP)技术结合升级工具,可以实现模块的升级,但仍需要维护人员现场处理,操作复杂而且消耗时间。
当前物联网终端设备常用的升级方式是在接收到升级固件后自动进入激活升级流程,这种升级方法容易因固件损坏导致设备升级失败,并且由于固件损坏使得设备陷入死循环无法继续使用。
发明内容
为了解决现有技术中存在的缺点和不足,本申请提供了用于模块化物联网终端设备的远程升级方法,通过避免固件下载后自动激活升级容易导致陷入死循环的缺陷。
为了达到上述技术目的,一方面本申请提供了用于模块化物联网终端设备的远程升级方法,适用于控制设备对终端设备的固件升级过程进行控制,基于控制设备侧,在终端设备中设有主模块以及受控于主模块控制的从模块,所述远程升级方法包括:
生成并存储固件升级包;
接收终端设备中主模块的查询信息,根据主模块发出的下载请求将固件升级包发送至终端设备;
接收终端设备发送的校验结果;
当校验成功时,向终端设备发送包括固件升级包完整性校验值在内的激活指令,接收终端设备回复的激活结果。
可选的,所述远程升级方法,还包括:
当校验失败时,删除已存储的固件升级包。
另一方面,本申请提出的用于模块化物联网终端设备的远程升级方法,适用于控制设备对终端设备的固件升级过程进行控制,基于终端设备侧,所述远程升级方法包括:
令终端设备中的主模块查询控制设备中是否存有固件升级包;
如果存在固件升级包,则擦除终端设备中升级包下载区内的文件,向控制设备发送下载请求,将固件升级包下载至已擦除的升级包下载区;
令主模块对已下载的固件升级包进行校验,将校验结果发送至控制设备;
当校验成功时,接收控制设备发送的包括固件升级包完整性校验值在内的激活指令,基于已下载的固件升级包进行激活升级程序。
可选的,所述远程升级方法,包括:
接收终端设备推送的固件升级包已生成的信息。
可选的,所述令主模块对已下载的固件升级包进行校验,将校验结果发送至控制设备,包括:
令主模块计算固件升级包的完整性校验值;
将计算得到的完整性校验值与固件升级包中的存有的完整性校验值进行对比;
如果对比结果一致,则表明校验成功;
如果对比结果相异,则表明校验失败。
可选的,所述接收控制设备发送的包括固件升级包完整性校验值在内的激活指令,基于已下载的固件升级包进行激活升级程序,包括:
将激活指令中的完整性校验值与计算得到的完整性校验值进行对比;
在对比结果一致的情况下启用固件升级包进行固件升级。
可选的,所述在对比结果一致的情况下启用固件升级包进行固件升级,包括:
解析固件升级包内文件的模块标识号,如果模块标识号为主模块的编号,则令主模块从IAP程序启动;
IAP程序启动后,擦除应用程序区内的文件,将存储在升级包下载区内的固件升级包复制至应用程序区,对复制后的固件升级包再次进行校验;
如果校验通过,则将固件升级包备份至升级包备份区,
备份完成后在主模块的存储器中设置激活标识为成功激活,
引导位于应用程序区内的固件升级包,在启动后查询激活标识,如果激活标识的内容为成功激活,则向控制设备发送已成功激活的激活结果。
可选的,所述远程升级方法,还包括:
如果校验未通过,则擦除复制到应用程序区内的固件升级包;
将位于升级包备份区内的固件复制至应用程序区,
复制完成后在主模块的存储器中设置激活标识为激活失败,
引导位于应用程序区内的固件升级包,在启动后查询激活标识,如果激活标识的内容为激活失败,则向控制设备发送激活失败的激活结果。
可选的,所述在对比结果一致的情况下启用固件升级包进行固件升级,包括:
解析固件升级包内文件的模块标识号,如果模块标识号为从模块的编号,则令从模块从IAP程序启动;
IAP程序启动后,擦除应用程序区内的文件,擦除完成后向主模块发送就绪信息;
从主模块处接收固件升级包,将固件升级包存储至应用程序区主模块命令从模块启用升级固件,从模块对接收到的固件升级包再次进行校验;
如果校验通过,从模块IAP程序引导启用应用程序区升级固件;
主模块诊断从模块工作正常,备份升级包下载区升级包到从模块升级包备份区;
主模块向控制设备已成功激活的激活结果。
可选的,所述远程升级方法,还包括:
如果校验未通过,主模块诊断从模块工作异常,主模块命令从模块擦除其应用程序区,擦除完成后向主模块发送就绪信息;
主模块将从模块升级包备份区的固件,恢复至从模块,恢复完成后主模块向控制设备发送激活失败的激活结果。
本申请提供的技术方案带来的有益效果是:
1、通过将固件下载与固件激活两个步骤分开处理的操作,可以在固件下载后根据具体下载结果选择固件升级或放弃升级的操作,避免固件下载后自动激活升级容易导致陷入死循环的缺陷。
2、物联网终端设备主模块能够诊断从模块运行状态,如果升级过程中出现断电等异常情况下,对应模块无法正常运行的问题,主模块诊断后可以尝试恢复模块固件。
3、实现了IAP程序可以应用程序之间的通信,应用程序能够通知IAP程序启用升级固件,IAP程序可以通知应用程序升级固件激活结果。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的物联网设备的结构示意图;
图2是本申请提供的用于模块化物联网终端设备的远程升级方法的流程示意图。
具体实施方式
为使本申请的结构和优点更加清楚,下面将结合附图对本申请的结构作进一步地描述。
实施例一
本申请提供了用于模块化物联网终端设备的远程升级方法,适用于控制设备对终端设备的固件升级过程进行控制,该方法需要在控制设备侧和终端设备侧进行信息交互来完成固件升级过程。
该方法应用对象为包括控制设备和终端设备在内的物联网设备。其如图1所示,终端设备包括一个主模块和若干个从模块,从模块中存在至少一个无线通信模块,用于实现终端设备与外界互联网设备的数据交互,主模块通过有线方式与每个从模块连接,主模块具有整个终端设备的控制权。
从模块可以是GPRS模块、NB-IoT模块等广域网无线模块,其可以直接接入电信运营商基站,最终接入互联网,此时物联网控制设备是互联网中的某个设备;从模块也可以是ZigBee模块、Wifi模块等局域网无线模块,此时物联网控制设备下行通过从模块1与物联网终端设备连接,上行可以通过GPRS模块,NB-IoT模块或有线等方式接入互联网,其受互联网中的某一个设备控制。
基于上述模块介绍,该远程升级方法的流程图如图2所示,包括:
S11、生成并存储固件升级包。
S12、令终端设备中的主模块查询控制设备中是否存有固件升级包。
S13、接收终端设备中主模块的查询信息,根据主模块发出的下载请求将固件升级包发送至终端设备。
S14、如果存在固件升级包,则擦除终端设备中升级包下载区内的文件,向控制设备发送下载请求,将固件升级包下载至已擦除的升级包下载区。
S15、令主模块对已下载的固件升级包进行校验,将校验结果发送至控制设备。
S16、接收终端设备发送的校验结果。
S17、当校验成功时,向终端设备发送包括固件升级包完整性校验值在内的激活指令,接收终端设备回复的激活结果。
S18、当校验成功时,接收控制设备发送的包括固件升级包完整性校验值在内的激活指令,基于已下载的固件升级包进行激活升级程序。
在实施中,该远程升级方法的主要步骤为在控制设备端生成包括适配模块识别号、固件版本号、固件尺寸及固件完整性校验信息(如HASH值,CRC32等)等内容在内的固件升级包。接着令终端设备中的主模块向控制模块发送关于是否生成固件升级包的查询请求。
此时如果控制设备内已有固件升级包,则将固件升级包发送至终端设备中主模块处。主模块在接收到固件升级包后,首先对固件升级包的完整性进行第一次校验,并将校验结果发送至控制设备。
如果校验结果表明固件升级包完整,令控制设备向主模块发送激活指令,以便主模块在接收到激活指令后进行基于固件升级包的升级流程;如果校验结果表明固件升级包已不完整,则令控制设备删除已存储的固件升级包。
值得注意的是,即便校验结果表明固件升级包完整,控制设备也可根据实际情况选择是否进行后续激活操作,固件升级包完整并不意味着必须执行后续激活操作。
其中,在进行步骤S12时,除了令主模块向控制设备发送查询请求以便获取固件升级包外,还可以令控制设备在生成固件升级包后,向终端设备推送固件升级包已生成的信息,令主模块再查询该升级包是否适配某个模块。
可选的,所述步骤S15提出的校验步骤,包括:
S151、令主模块计算固件升级包的完整性校验值;
S152、将计算得到的完整性校验值与固件升级包中的存有的完整性校验值进行对比;
S153、如果对比结果一致,则表明校验成功;
S154、如果对比结果相异,则表明校验失败。
在实施中,这里使用的完整性校验对应的算法为散列算法,有时候也根据音译称为哈希。散列算法可以把任意尺寸的数据(原始数据)转变为一个固定尺寸的小数据。
由于散列算法具有不可逆性和结果唯一性,因此常被用作文件的完整性校验。
可选的,所述S18提出的激活升级步骤,包括:
S181、将激活指令中的完整性校验值与计算得到的完整性校验值进行对比;
S182、在对比结果一致的情况下启用固件升级包进行固件升级。
在实施中,在收到控制设备发出的激活指令后即可以进行固件升级操作。但是在固件升级操作前,还需要提取激活指令中的完整性校验值,与步骤S15中计算得到的完整性校验值对比,即再次进行固件升级包的完整性校验,以保证固件升级操作能够正确进行。
具体的,
主模块能够主动获取物联网控制设备上的激活指令,或物联网控制设备主动下发激活指令;收到激活指令后,检查激活指令中的升级固件完整性校验值,如果与“升级包下载区”的升级固件的完整性校验值一致,则启用升级固件,如果不一致则等待下一条激活指令或重新开始升级。
主模块检查“升级包下载区”升级包适配的模块标识号,如果标识号的是主模块则,进入下一流程;如果标识号的是某一从模块,则进入后续S1824-S1828所示的从模块升级流程。
主模块根据固件启用结果回复控制设备激活结果及当前所有模块固件版本号,激活结果包含:“激活成功”、“没有可激活固件”、“激活指令与主模块“升级包下载区”中保存的升级固件不匹配”,以及“激活失败”等状态。
可选的,如果固件升级包中指定适配模块为主模块时,固件升级步骤为:
S1821、解析固件升级包内文件的模块标识号,如果模块标识号为主模块的编号,则令令主模块从IAP程序启动;
S1822、IAP程序启动后,擦除应用程序区内的文件,将存储在升级包下载区内的固件升级包复制至应用程序区,对复制后的固件升级包再次进行校验;
S1823、如果校验通过,则将固件升级包备份至升级包备份区,
S1824、备份完成后在主模块的存储器中设置激活标识为成功激活,
S1825、引导位于应用程序区内的固件升级包,在启动后查询激活标识,如果激活标识的内容为成功激活,则向控制设备发送已成功激活的激活结果。
与步骤S1823对立的,
S1826、如果校验未通过,则擦除复制到应用程序区内的固件升级包;
S1827、将位于升级包备份区内的固件复制至应用程序区,
S1828、复制完成后在主模块的存储器中设置激活标识为激活失败,
S1829、引导位于应用程序区内的固件升级包,在启动后查询激活标识,如果激活标识的内容为激活失败,则向控制设备发送激活失败的激活结果。
在实施中,在固件升级过程中,涉及到主模块中的应用程序区和升级包备份区。主模块进入应用内编程(In Application Programming,IAP)的程序,主模块应用程序通过往存储器(例如Flash,EEPROM)特定位置设置激活标识(该标识不因***重启而丢失),重启主模块,主模块进入IAP程序;
复制升级固件到主模块应用程序区,IAP程序检查激活标识被置起,擦除主模块“应用程序区”,并将“升级包下载区”的升级固件复制到主模块“应用程序区”;
校验应用程序区升级固件,升级固件移动到应用程序区后,再次校验升级固件完整性校验值与“升级包下载区”的升级固件的完整性校验值是否匹配,如果匹配,则进入S1823~S1825流程;如果不匹配,则进入S1826~S1829流程;
备份主模块升级包,将“升级包下载区”的升级固件备份到“主模块升级包备份区;
启用主模块升级固件,主模块IAP程序通过往存储器(例如Flash,EEPROM)特定位置设置激活结果标识(该标识不因***重启而丢失)为“成功”,主模块IAP程序引导启用主模块“应用程序区”固件,主模块应用程序启动后,检查激活结果标识为“成功”,通知控制设备“激活成功”;
恢复主模块旧固件,IAP程序擦除主模块“应用程序区”,将“主模块升级包备份区”固件复制到其“应用程序区”,主模块IAP程序通过往存储器(例如Flash,EEPROM)特定位置设置激活结果标识为“失败”,主模块IAP程序引导启用“应用程序区”固件,主模块应用程序启动后,检查激活结果标识为“失败”,通知控制设备“激活失败”。
可选的,如果固件升级包中指定适配模块为从模块时,固件升级步骤为:
S1921、解析固件升级包内文件的模块标识号,如果模块标识号为从模块的编号,则令从模块从IAP程序启动;
S1922、IAP程序启动后,擦除应用程序区内的文件,擦除完成后向主模块发送就绪信息;
S1923、从主模块处接收固件升级包,将固件升级包存储至应用程序区,主模块命令从模块启用升级固件,从模块对接收到的固件升级包再次进行校验;
S1924、如果校验通过,从模块IAP程序引导启用应用程序区升级固件,主模块诊断从模块工作正常,备份升级包下载区升级包到从模块升级包备份区;
S1925、主模块向控制设备已成功激活的激活结果。
S1926、如果校验未通过,主模块诊断从模块工作异常,主模块命令从模块擦除其应用程序区,擦除完成后向主模块发送就绪信息;
S1927、主模块将从模块升级包备份区的固件,恢复至从模块,恢复完成后主模块向控制设备发送激活失败的激活结果。
在实施中,与前述步骤中主模块的升级步骤类似,本实施例提出的从模块的升级步骤如下:
主模块命令从模块进入IAP程序,从模块回复确认后进入IAP程序;
主模块命令从模块准备接收升级包,从模块擦除其“应用程序区”,并回复确认,通知主模块其准备就绪;
主模块将升级包采用分块传输的方式传送给从模块,从模块收到后将升级固件保存到“应用程序区”并回复确认后,主模块收到确认后发送下一块,直到升级包传输完成;
主模块命令从模块激活升级固件,从模块计算升级固件的完整性校验值并与升级包中的完整性校验值比较,如果一致,则进入S1924~S1925,否则,进入S1926~S1927;
从模块IAP程序引导启用“应用程序区”升级固件;
主模块备份“升级包下载区”升级包到“从模块升级包备份区”,通知物联网控制模块激活成功;
主模块恢复从模块在“从模块升级包备份区”的固件,恢复完成后通知物联网控制模块激活失败。
另外,针对从模块的升级步骤,还包括如下所示的替代方案:
S2021、主模块命令从模块进入IAP程序,从模块回复确认,并进入IAP程序;
S2022、主模块命令从模块准备接收升级包,从模块擦除其“应用程序区”,并回复确认,通知主模块其准备就绪;
S2023、主模块将升级包分块传送给从模块,从模块收到后将升级固件保存到“应用程序区”并回复确认后,主模块收到确认后发送下一块,直到升级包传输完成;
S2024、主模块命令从模块激活升级固件,从模块计算升级固件的完整性校验值并与升级包中的完整性校验值比较,如果一致,则进入S2025~S2026,否则,进入S2027;
S2025、从模块IAP程序备份“应用程序区”升级包到从模块“升级包备份区”;
S2026、从模块IAP程序引导启用“应用程序区”升级固件,主模块诊断从模块工作正常,通知物联网控制模块激活成功;
S2027、主模块诊断从模块工作异常,命令从模块IAP程序恢复从模块“升级包备份区”的固件,恢复完成后,主模块诊断从模块工作正常,通知物联网控制模块激活失败。
如步骤S2021至S2027所示的替代方案的主模块存储器不需要备份从模块当前运行,降低了主模块存储器成本,同时在升级过程中出现断电或升级固件传输异常等升级失败的情况,其恢复固件不需要从主模块存储器下载,固件恢复速度更快。
本申请提供了用于模块化物联网终端设备的远程升级方法,包括生成并存储固件升级包。令终端设备中的主模块查询控制设备中是否存有固件升级包。接收终端设备中主模块的查询信息,根据主模块发出的下载请求将固件升级包发送至终端设备。如果存在固件升级包,则擦除终端设备中升级包下载区内的文件,向控制设备发送下载请求,将固件升级包下载至已擦除的升级包下载区。令主模块对已下载的固件升级包进行校验,将校验结果发送至控制设备。接收终端设备发送的校验结果。当校验成功时,向终端设备发送包括固件升级包完整性校验值在内的激活指令,接收终端设备回复的激活结果。终端设备接收控制设备发送的包括固件升级包完整性校验值在内的激活指令,基于已下载的固件升级包进行激活升级程序。通过将固件下载与固件激活两个步骤分开处理的操作,可以在固件下载后根据具体下载结果选择固件升级或放弃升级的操作,避免固件下载后自动激活升级容易导致陷入死循环的缺陷。
上述实施例中的各个序号仅仅为了描述,不代表各部件的组装或使用过程中的先后顺序。
以上所述仅为本申请的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (8)
1.用于模块化物联网终端设备的远程升级方法,适用于控制设备对终端设备的固件升级过程进行控制,其特征在于,基于控制设备侧,在终端设备中设有主模块以及受控于主模块控制的从模块,所述远程升级方法包括:
生成并存储固件升级包;
接收终端设备中主模块的查询是否存有固件升级包的请求,如果存在固件升级包,根据主模块发出的下载请求将固件升级包发送至终端设备;
接收终端设备发送的对已下载的固件升级包进行校验的校验结果;
当校验成功时,向终端设备发送包括固件升级包完整性校验值在内的激活指令,接收终端设备回复的基于已下载的固件升级包进行激活升级程序的激活结果;
其中,基于已下载的固件升级包进行激活升级程序,包括:
将激活指令中的完整性校验值与计算得到的完整性校验值进行对比;
在对比结果一致的情况下启用固件升级包进行固件升级;
所述在对比结果一致的情况下启用固件升级包进行固件升级,包括:
解析固件升级包内文件的模块标识号,如果模块标识号为主模块的编号,则令主模块从IAP程序启动;
IAP程序启动后,擦除应用程序区内的文件,将存储在升级包下载区内的固件升级包复制至应用程序区,对复制后的固件升级包再次进行校验;
升级包复制如果校验通过,则将固件升级包备份至升级包备份区;
备份完成后在主模块的存储器中设置激活标识为成功激活,引导位于应用程序区内的固件升级包,在启动后查询激活标识,如果激活标识的内容为成功激活,则向控制设备发送已成功激活的激活结果。
2.根据权利要求1所述的用于模块化物联网终端设备的远程升级方法,其特征在于,所述远程升级方法,还包括:
当校验失败时,删除已存储的固件升级包。
3.用于模块化物联网终端设备的远程升级方法,适用于控制设备对终端设备的固件升级过程进行控制,其特征在于,基于终端设备侧,所述远程升级方法包括:
令终端设备中的主模块查询控制设备中是否存有固件升级包;
如果存在固件升级包,则擦除终端设备中升级包下载区内的文件,向控制设备发送下载请求,将固件升级包下载至已擦除的升级包下载区;
令主模块对已下载的固件升级包进行校验,将校验结果发送至控制设备;
当校验成功时,接收控制设备发送的包括固件升级包完整性校验值在内的激活指令,基于已下载的固件升级包进行激活升级程序;
其中,所述接收控制设备发送的包括固件升级包完整性校验值在内的激活指令,基于已下载的固件升级包进行激活升级程序,包括:
将激活指令中的完整性校验值与计算得到的完整性校验值进行对比;
在对比结果一致的情况下启用固件升级包进行固件升级;
所述在对比结果一致的情况下启用固件升级包进行固件升级,包括:
解析固件升级包内文件的模块标识号,如果模块标识号为主模块的编号,则令主模块从IAP程序启动;
IAP程序启动后,擦除应用程序区内的文件,将存储在升级包下载区内的固件升级包复制至应用程序区,对复制后的固件升级包再次进行校验;
升级包复制如果校验通过,则将固件升级包备份至升级包备份区;
备份完成后在主模块的存储器中设置激活标识为成功激活,引导位于应用程序区内的固件升级包,在启动后查询激活标识,如果激活标识的内容为成功激活,则向控制设备发送已成功激活的激活结果。
4.根据权利要求3所述的用于模块化物联网终端设备的远程升级方法,其特征在于,所述远程升级方法,包括:
接收控制设备推送的固件升级包已生成的信息。
5.根据权利要求3所述的用于模块化物联网终端设备的远程升级方法,其特征在于,所述令主模块对已下载的固件升级包进行校验,将校验结果发送至控制设备,包括:
令主模块计算固件升级包的完整性校验值;
将计算得到的完整性校验值与固件升级包中的存有的完整性校验值进行对比;
如果对比结果一致,则表明校验成功;
如果对比结果相异,则表明校验失败。
6.根据权利要求3所述的用于模块化物联网终端设备的远程升级方法,其特征在于,所述远程升级方法,还包括:
如果校验未通过,则擦除复制到应用程序区内的固件升级包;
将位于升级包备份区内的固件复制至应用程序区,
复制完成后在主模块的存储器中设置激活标识为激活失败,
引导位于应用程序区内的固件升级包,在启动后查询激活标识,如果激活标识的内容为激活失败,则向控制设备发送激活失败的激活结果。
7.根据权利要求3所述的用于模块化物联网终端设备的远程升级方法,其特征在于,所述在对比结果一致的情况下启用固件升级包进行固件升级,包括:
解析固件升级包内文件的模块标识号,如果模块标识号为从模块的编号,则令从模块从IAP程序启动;
IAP程序启动后,擦除应用程序区内的文件,擦除完成后向主模块发送就绪信息;
从主模块处接收固件升级包,将固件升级包存储至应用程序区,主模块命令从模块启用升级固件,从模块对接收到的固件升级包再次进行校验;
如果校验通过,从模块IAP程序引导启用应用程序区升级固件;
主模块诊断从模块工作正常,备份升级包下载区升级包到从模块升级包备份区;
主模块向控制设备发送已成功激活的激活结果。
8.根据权利要求7所述的用于模块化物联网终端设备的远程升级方法,其特征在于,所述远程升级方法,还包括:
如果校验未通过,主模块诊断从模块工作异常,主模块命令从模块擦除其应用程序区,擦除完成后向主模块发送就绪信息;
主模块将从模块升级包备份区的固件,恢复至从模块,恢复完成后主模块向控制设备发送激活失败的激活结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811301601.0A CN109669708B (zh) | 2018-11-02 | 2018-11-02 | 用于模块化物联网终端设备的远程升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811301601.0A CN109669708B (zh) | 2018-11-02 | 2018-11-02 | 用于模块化物联网终端设备的远程升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109669708A CN109669708A (zh) | 2019-04-23 |
CN109669708B true CN109669708B (zh) | 2022-08-12 |
Family
ID=66141742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811301601.0A Active CN109669708B (zh) | 2018-11-02 | 2018-11-02 | 用于模块化物联网终端设备的远程升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109669708B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427201A (zh) * | 2019-07-25 | 2019-11-08 | 金卡智能集团股份有限公司 | 一种nb模组升级方法、装置、设备及存储介质 |
CN110543318A (zh) * | 2019-08-30 | 2019-12-06 | 珠海格力电器股份有限公司 | 控制设备程序更新方法、装置、存储介质及控制设备 |
CN112860283B (zh) * | 2019-11-12 | 2024-04-02 | 深圳怡化电脑股份有限公司 | Sp升级包的自识别升级方法、装置及计算机设备 |
CN111459522B (zh) * | 2020-04-01 | 2021-09-14 | 珠海格力电器股份有限公司 | 一种空调及其通讯模块升级方法 |
CN111818554B (zh) * | 2020-07-03 | 2023-01-06 | 杭州电子科技大学 | 一种提高大规模NB-IoT终端远程升级成功率的方法 |
CN111880823B (zh) * | 2020-07-17 | 2024-01-30 | 合肥移瑞通信技术有限公司 | ***升级通信模块的方法、***以及介质、计算机设备 |
CN114071660A (zh) * | 2020-07-31 | 2022-02-18 | 中国电信股份有限公司 | 窄带物联网终端及其固件升级方法、基站和通信*** |
CN111998510B (zh) * | 2020-08-28 | 2022-02-18 | 海信(山东)空调有限公司 | 一种空调器及其控制方法 |
CN112910714B (zh) * | 2021-03-05 | 2022-04-22 | 中国电子科技集团公司第三十八研究所 | 具有主从机结构的物联网终端设备的远程固件升级方法 |
CN113238779A (zh) * | 2021-05-24 | 2021-08-10 | 深圳市网是科技有限公司 | 一种由多模块组成的单嵌入式装置的高可靠性升级方法 |
CN115904457B (zh) * | 2023-03-01 | 2024-01-30 | 江苏安世朗智能科技有限公司 | 一种基于物联网的电脑固件远程升级***及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314369A (zh) * | 2011-10-09 | 2012-01-11 | 杭州先锋电子技术股份有限公司 | 一种远程在线监控***中设备自升级方法 |
CN104503796A (zh) * | 2014-12-25 | 2015-04-08 | 浙江中控研究院有限公司 | 一种基于iap的可配置全网络远程节点固件升级方法 |
CN104572222A (zh) * | 2015-02-02 | 2015-04-29 | 深圳市新联锋科技有限公司 | 一种主程序升级方法和支持主程序升级的设备 |
CN108337120A (zh) * | 2018-02-01 | 2018-07-27 | 北京安控科技股份有限公司 | 一种物联网终端设备的远程升级方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7904518B2 (en) * | 2005-02-15 | 2011-03-08 | Gytheion Networks Llc | Apparatus and method for analyzing and filtering email and for providing web related services |
-
2018
- 2018-11-02 CN CN201811301601.0A patent/CN109669708B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314369A (zh) * | 2011-10-09 | 2012-01-11 | 杭州先锋电子技术股份有限公司 | 一种远程在线监控***中设备自升级方法 |
CN104503796A (zh) * | 2014-12-25 | 2015-04-08 | 浙江中控研究院有限公司 | 一种基于iap的可配置全网络远程节点固件升级方法 |
CN104572222A (zh) * | 2015-02-02 | 2015-04-29 | 深圳市新联锋科技有限公司 | 一种主程序升级方法和支持主程序升级的设备 |
CN108337120A (zh) * | 2018-02-01 | 2018-07-27 | 北京安控科技股份有限公司 | 一种物联网终端设备的远程升级方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109669708A (zh) | 2019-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109669708B (zh) | 用于模块化物联网终端设备的远程升级方法 | |
CN111666081B (zh) | 基于Git的项目版本发布方法、装置、设备及介质 | |
CN112148326B (zh) | 一种物联网设备固件远程更新方法、装置及*** | |
CN110083374B (zh) | 一种升级回滚方法、***及终端设备 | |
CN106843957B (zh) | ***固件升级方法及装置 | |
CN103699421B (zh) | 嵌入式设备***升级方法及其装置 | |
CN107193612B (zh) | 一种移动终端的版本升级方法及装置 | |
CN108334331B (zh) | 一种安全的电动汽车电池管理***软件升级方法 | |
US20120117557A1 (en) | Method and system for upgrading wireless data card | |
CN112910714B (zh) | 具有主从机结构的物联网终端设备的远程固件升级方法 | |
CN112559003B (zh) | 域控制器软件升级方法、装置及域控制器 | |
CN105183515A (zh) | 云台固件升级的方法及装置 | |
US12019517B2 (en) | Method for remote upgrade and rollback of unmanned aerial vehicle (UAV) software | |
CN101442688A (zh) | 智能网平台的升级方法和***、控制器和智能网平台设备 | |
CN107766064A (zh) | 组件升级的方法及装置 | |
CN105045640A (zh) | 一种软件升级方法、装置及智能设备 | |
CN102300239B (zh) | 一种基站及其自启动方法 | |
CN115454469A (zh) | 镜像更新方法、装置、芯片、电子设备及存储介质 | |
CN108984200A (zh) | 一种定时更新固件的方法及装置 | |
CN114489732A (zh) | 一种更新设备的fpga固件的方法、装置及电子设备 | |
CN112685068A (zh) | 远程升级boot镜像文件的方法及计算机可读介质 | |
CN115437674B (zh) | 一种固件升级方法、装置、介质及电子设备 | |
CN109032615A (zh) | 一种用于无线联网门锁的软件在线升级方法 | |
CN114090051A (zh) | eMMC固件版本在线升级方法、装置、计算机设备及存储介质 | |
US9529581B2 (en) | Circuit and method for writing program codes of basic input/output system |
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 |