CN116347425A - 一种无线终端固件升级方法及系统 - Google Patents

一种无线终端固件升级方法及系统 Download PDF

Info

Publication number
CN116347425A
CN116347425A CN202310071570.9A CN202310071570A CN116347425A CN 116347425 A CN116347425 A CN 116347425A CN 202310071570 A CN202310071570 A CN 202310071570A CN 116347425 A CN116347425 A CN 116347425A
Authority
CN
China
Prior art keywords
firmware
wireless terminal
upgrade
target
wireless
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.)
Pending
Application number
CN202310071570.9A
Other languages
English (en)
Inventor
张玉斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Dhms Information Technology Co ltd
Original Assignee
Suzhou Dhms Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Dhms Information Technology Co ltd filed Critical Suzhou Dhms Information Technology Co ltd
Priority to CN202310071570.9A priority Critical patent/CN116347425A/zh
Priority to PCT/CN2023/102341 priority patent/WO2024164484A1/zh
Publication of CN116347425A publication Critical patent/CN116347425A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • H04W8/245Transfer of terminal data from a network towards a terminal
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种无线终端固件升级方法及系统,方法包括:在所述网络平台上配置升级任务,所述升级任务包括需要进行远程固件升级的一个或多个目标无线终端的信息以及对应的升级策略,并将对应的待升级的固件上传到所述网络平台;所述无线网关接收所述网络平台发送的所述升级任务和待升级的固件,并将其存储在网关本地;所述无线网关根据所述升级任务中对应的升级策略来管理所述目标无线终端的固件升级。本发明根据无线终端的供电类型和升级性质类型而确定具体的升级策略,无线网关进行固件升级管理,在对某些终端进行固件传输的同时可以接收其他无线终端的业务数据并进行管理。

Description

一种无线终端固件升级方法及系统
技术领域
本发明涉及远程固件升级领域,尤其涉及一种适用于窄带通信型无线终端的固件升级方法。
背景技术
随着技术的发展和硬件处理能力的提高,智能传感器和数据采集终端等物联网终端设备内的嵌入式软件,即固件越来越复杂,软件复杂意味着容易出现bug,某些致命的bug只能通过升级固件才能解决。固件升级对硬件资源足够,处理能力强,且采用Ethernet、Wi-Fi或4G等大带宽通信的智能终端来说,具有很多成熟的技术方案实现,但对于BLE蓝牙、Zigbee、Lora、NB-IoT等窄带通信,且内存资源有限的无线物联网终端来说,固件升级是个难题,目前市面上的大部分窄带通信无线物联网终端基本都不支持远程固件升级。
智能手机、平板、电视机顶盒、WiFi路由器等运行Android或iOS智能操作系统或嵌入式Linux操作系统的终端设备,像这类硬件资源强大、网络带宽大的终端产品,为便于管理和升级,将软件分寸boot、内核、系统和应用几部分,并分别存与独立的存储区,内置的升级管理程序在有网络的时候连接到设备提供的远程固件管理服务器,定期对比本地的各软件版本与服务器里的版本,并通过自动或提示用户操作后下载新版本的固件到本地进行升级,升级成功后重启设备运行新版本的软件来完成升级动作。
但是对于无线传感器、无线点检仪等采用电池供电的终端产品来说,这些产品多基于STM32等MCU或单片机、运行内存极少,采用BLE、Zigbee等窄带无线方式进行通信,且固件大小相对于内存大小和无线网络的最大传输单元(MTU)来说显得非常大;如果采用同样的技术进行固件升级,升级耗时将变得特别长,失败几率大,特别是在同一网关下面临大量无线终端需要升级的情况,很可能会导致网关和传感器忙于处理升级包而无法进行业务数据采集与发送。
以上背景技术内容的公开仅用于辅助理解本发明的发明构思及技术方案,其并不必然属于本专利申请的现有技术,也不必然会给出技术教导;在没有明确的证据表明上述内容在本专利申请的申请日之前已经公开的情况下,上述背景技术不应当用于评价本申请的新颖性和创造性。
发明内容
本发明的目的是提供一种适用于窄带通信型无线终端的固件升级方法。
为达到上述目的,本发明采用的技术方案如下:
一种无线终端的固件升级方法,在无线网关建立与无线终端、网络平台之间通信的前提下,通过以下步骤实现所述无线终端的固件升级:
在所述网络平台上配置升级任务,所述升级任务包括需要进行远程固件升级的一个或多个目标无线终端的信息以及对应的升级策略,并将对应的待升级的固件上传到所述网络平台;
所述无线网关接收所述网络平台发送的所述升级任务和待升级的固件,并将其存储在网关本地;
所述无线网关根据所述升级任务中对应的升级策略来管理所述目标无线终端的固件升级。
进一步地,承前所述的任一技术方案或多个技术方案的组合,所述升级策略根据所述无线终端的被供电类型和升级性质类型而被确定,其中,所述被供电类型包括有线电源供电类型和电池供电类型;
所述升级性质类型包括强制升级类型和非强制升级类型,所述强制升级类型用于所述无效终端有影响到整体业务的软件问题时,在所述强制升级类型对应的升级策略中,所述无线终端在收到升级指令后停止业务流程,然后直接进行无线终端的固件升级;在所述非强制升级类型对应的升级策略中,所述无线终端在收到升级指令后继续执行业务流程,通过启动后台任务来进行无线终端的升级。无线网关可采用后台任务的方式进行升级管理,在对某些终端进行固件传输的同时可以接收其他无线终端的业务数据并进行管理。
在不同的被供电类型和升级性质类型的组合中,有对应不同的固件升级流程,以下分为四种组合情况,一一详细说明各自不同的升级流程:
第一种情况:所述无线终端为有线电源供电类型,且所述升级性质类型为强制升级类型,则所述无线网关根据所述升级任务中对应的升级策略来管理所述目标无线终端的固件升级的流程包括:
无线网关查找与所述目标无线终端相匹配的目标固件,并将其拆分成多个子数据包;
所述无线网关向所述目标无线终端下发强制升级指令,所述强制升级指令包括所述目标固件的版本信息;
所述目标无线终端在收到所述强制升级指令后,停止业务流程,并依次向所述无线网关请求所述目标固件的子数据包;
所述目标无线终端按序接收并存储所述目标固件的全部子数据包,得到新固件;
所述目标无线终端断开与所述无线网关的连接;
所述目标无线终端将所述新固件设置为运行固件,并重启;
所述目标无线终端在重启后重新连接所述无线网关,并以所述目标固件的版本信息作为所述新固件的版本信息上报给所述无线网关;
所述无线网关根据所上报的新固件的版本信息确认所述目标无线终端是否完成固件升级,若是,则将所述目标无线终端从所述升级任务中删除,且重新启动业务流程;
直至所述升级任务中的全部目标无线终端均按上述步骤完成固件升级,则该升级任务结束。
第二种情况:所述无线终端为有线电源供电类型,且所述升级性质类型为非强制升级类型,则所述无线网关根据所述升级任务中对应的升级策略来管理所述目标无线终端的固件升级的流程包括:
所述无线网关查找与所述目标无线终端相匹配的目标固件,并将其拆分成多个子数据包;
所述无线网关向所述目标无线终端下发非强制升级指令,所述非强制升级指令包括所述目标固件的版本信息;
所述目标无线终端收到所述非强制升级指令后,向所述无线网关应答升级确认消息;
所述无线网关在收到所述目标无线终端升级确认消息后,采用在心跳包和数据应答包内附加待升级的目标固件的子数据包的形式,向所述目标无线终端按序传输所述目标固件;
所述目标无线终端收到所述心跳包和/或数据应答包后,从所述心跳包和/或数据应答包内取出所附加的子数据包,并将其存储在终端本地;
所述目标无线终端收到所述目标固件子数据包后,通过心跳应答包向所述无线网关发送成功收到子数据包的信息;
直至存储完所述目标固件的全部子数据包,按照拆分的排序对所述子数据包进行合成,得到新固件;
所述目标无线终端断开与所述无线网关的连接;
所述目标无线终端将所述新固件设置为运行固件,并重启;
所述目标无线终端在重启后重新连接所述无线网关,并以目标固件的版本信息作为所述新固件的版本信息上报给所述无线网关;
所述无线网关根据所上报的新固件的版本信息确认所述目标无线终端是否完成固件升级,若是,则将所述目标无线终端从所述升级任务中删除;
直至所述升级任务中的全部目标无线终端均按上述步骤完成固件升级,则该升级任务结束。
进一步地,承前所述的任一技术方案或多个技术方案的组合,若所述无线终端为有线电源供电类型,且所述升级性质为非强制升级类型,则:
所述无线网关在向所述目标无线终端下发所述非强制指令后,按照正常流程处理所有业务数据;
所述目标无线终端在向所述无线网关应答升级确认消息后,按照正常流程上传业务数据。
第三种情况:所述无线终端为电池供电类型,且所述升级性质类型为强制升级类型,则所述无线网关根据所述升级任务中对应的升级策略来管理所述目标无线终端的固件升级的流程包括:
所述无线网关查找与所述目标无线终端相匹配的目标固件,并将其拆分成多个子数据包;
等待所述目标无线终端唤醒并连接到所述无线网关后,所述目标无线终端将当前本地固件的版本信息上报到所述无线网关;
所述无线网关比较所述目标无线终端当前固件的版本信息与所述目标固件的版本信息,若两者一致,则将所述目标无线终端从所述升级任务中删除;若两者不一致,则继续执行:
所述无线网关向所述目标无线终端下发升级指令,所述升级指令包括所述目标固件的版本信息;
所述目标无线终端在收到所述升级指令后,停止业务流程,并依次向所述无线网关请求所述目标固件的子数据包;
所述目标无线终端按序接收并存储所述目标固件的全部子数据包,得到新固件;
所述目标无线终端断开与所述无线网关的连接;
所述目标无线终端将所述新固件设置为运行固件,并重启;
所述目标无线终端在重启后重新连接所述无线网关,并以所述目标固件的版本信息作为所述新固件的版本信息上报给所述无线网关;
所述无线网关根据所上报的新固件的版本信息确认所述目标无线终端是否完成固件升级,若是,则将所述目标无线终端从所述升级任务中删除,且重新启动业务流程;
直至所述升级任务中的全部目标无线终端均按上述步骤完成固件升级,则该升级任务结束。
第四种情况:所述无线终端为电池供电类型,且所述升级性质类型为非强制升级类型,则所述无线网关根据所述升级任务中对应的升级策略来管理所述目标无线终端的固件升级的流程包括:
所述无线网关查找与所述目标无线终端相匹配的目标固件,并将其拆分成多个子数据包;具体为根据所述无线网关与目标无线终端的通信协议,按照连接应答包和数据应答包中较小的数值作为拆分单元的大小,对所述目标固件进行拆分,得到多个子数据包;
在每次所述目标无线终端被唤醒后,先判断是否有未完成的非强制升级类型固件升级任务,若有,则在向所述无线网关建立连接后上报未完成的固件升级信息,若没有,则向所述无线网关上报当前固件本地版本信息;
所述无线网关在收到所述目标无线终端上报的未完成的固件升级信息或当前固件版本信息后,判断是否需要对所述目标无线终端继续进行固件升级或开始新的非强制升级类型固件升级,若需要,则所述无线网关通过在连接应答包和/或业务传输阶段中的数据应答包内附加待升级的固件的子数据包的形式,向所述无线终端传输所述目标固件;即在每次所述目标无线终端被唤醒后,分别在连接和业务传输两种阶段中,无线网关均先判断所述无线终端是否有未完成的固件升级信息,若有则所述无线终端需要进行升级,若没有,则比较所述无线终端上报的当前固件版本信息与所述目标固件的版本信息,若不一致,则所述无线终端需要进行升级;如所述无线终端需要进行升级,则所述无线网关通过在连接阶段中的连接应答包或业务传输阶段中的数据应答包内附加待升级的固件的子数据包的形式,向所述无线终端传输所述目标固件,具体如下:
在连接阶段中,所述无线终端向无线网关发送连接请求的同时,上报其终端升级状态信息,所述升级状态信息包括表示是否正在进行升级的升级中标识、升级进程中的固件版本号以及最新收到的一子数据包序号;若所述升级中标识为是,则所述无线网关在连接应答包内附加该无线终端所需的下一序号的子数据包,并下发到所述无线终端;
在业务传输阶段中,在向所述无线网关上传业务数据的同时,上报其终端升级状态信息,所述升级状态信息包括表示是否正在进行升级的升级中标识、升级进程中的固件版本号以及最新收到的一子数据包序号;若所述升级中标识为是,则所述无线网关在数据应答包内附加该无线终端所需的下一序号的子数据包,并下发到所述无线终端;
所述目标无线终端从所述连接应答包和/或数据应答包内取出所附加的子数据包,并将其存储在终端本地;
所述目标无线终端依次处理直至接收到所述目标固件的全部子数据包,按照拆分的排序对所述子数据包进行合成,得到新固件;并将所述无线终端的升级状态信息中的升级中标识更新为否或者清除所述无线终端的升级状态信息。
所述目标无线终端断开与所述无线网关的连接;
所述目标无线终端将所述新固件设置为运行固件,并重启;
所述目标无线终端在重启后重新连接所述无线网关,并以目标固件的版本信息作为所述新固件的版本信息上报给所述无线网关;
所述无线网关根据所上报的新固件的版本信息确认所述目标无线终端是否完成固件升级,若是,则将所述目标无线终端从所述升级任务中删除;
直至所述升级任务中的全部目标无线终端均按上述步骤完成固件升级,则该升级任务结束。
进一步地,若所述无线网关判断所述无线终端未有正在进行中的固件升级进程,且所述无线终端的本地固件的版本信息与所述目标固件的版本信息一致,则该无线终端不需要固件升级,则在连接阶段中向该无线终端直接发送正常连接应答包,或者,在业务传输阶段中,直接发送正常数据应答包;
进一步地,承前所述的任一技术方案或多个技术方案的组合,若所述目标无线终端为电池供电类型,且所述升级性质为非强制升级类型,则:
所述目标无线终端在与所述无线网关建立连接并上报未完成固件升级信息或当前固件本地版本信息后,按照正常流程所有其他业务流程;
所述无线网关除根据所属目标无线网关上报的未完成固件升级信息或当前固件版本信息对所述目标无线终端传输固件数据外,其他所有业务流程按正常处理。
根据本发明的另一方面,提供了一种无线物联系统,包括网络平台、一个或多个无线终端以及用于建立所述网络平台与无线终端之间通信的无线网关,其中,每个无线终端包括以下模块:
升级管理模块,其被配置为对无线终端的固件升级进行管理,包括固件传输、固件存储和固件引导;
业务处理模块,其被配置为处理所述无线网关的业务逻辑和数据传输;
无线通信模块,其被配置为与所述无线网关通信连接,以传输业务数据以及固件数据;
所述无线物联系统被配置根据如上所述的固件升级方法实现所述无线终端的固件升级。
进一步地,所述无线终端为采用BLE或Zigbee的窄带无线方式进行通信的终端产品;
或者,所述无线终端为运行Linux或多进程模式操作系统的终端产品。
本发明提供的技术方案带来的有益效果如下:
a.提供紧急强制升级和普通空闲升级两种方式传输固件升级包,既能解决严重bug快速升级的需求,又能利用空闲时间传输固件升级包,解决资源有限的终端因为固件升级影响业务数据传输的问题;
b.即使是资源非常少(CPU处理能力、内存、网络带宽都很低)的无线终端,只要存储空间够,就可以采用本发明的升级方法进行固件升级;
c.支持强制升级,强制升级采用可靠连接进行一次性的可靠传输来传输固件包,保证升级高效可靠;
d.支持非强制升级(一般升级),采用空闲时间和组合传输两种形式进行固件传输,在优先传输业务数据情况下通过心跳包或其他非业务数据包传输固件包,既不影响业务,又能实现远程固件升级。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一个示例性实施例提供的无线物联系统的框架结构示意图;
图2为本发明的一个示例性实施例提供的无线终端固件升级方法的基本流程图;
图3为实施例1中固件升级的基本流程图;
图4为实施例1中无线网关与无线终端之间的交互流程示意图;
图5为实施例2中固件升级的基本流程图;
图6为实施例2中无线网关与无线终端之间的交互流程示意图;
图7为实施例3中固件升级的基本流程图;
图8为实施例3中无线网关与无线终端之间的交互流程示意图;
图9为实施例4中固件升级的基本流程图;
图10为实施例4中无线网关与无线终端之间的交互流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本发明的一个实施例中,提供了一种无线终端固件升级系统,如图1所示,系统包括网络平台(可以是工业互联网云平台或物联网平台)、无线网关和无线终端,可以多个无线终端(以下简称终端)同时连上所述无线网关。
无线终端分为电池供电和有线供电两种方式,由于两种方式对功耗的要求不同,终端运行逻辑和通信方式也有所不同,因此两种不同供电方式的终端的固件升级方法也有所不同。
网络平台(以下简称平台)、无线网关和无线终端各自负责不同的事务:
平台负责所有终端固件的版本和升级策略管理,存储所有连接上无线网关的终端的固件的版本信息,并根据需要采用固件升级所解决的问题的重要程度来配置升级策略,升级策略根据终端的被供电类型和升级性质类型而被确定,其中,升级性质类型包括强制升级类型和非强制升级类型,所谓强制升级是指如果终端不进行固件升级可能导致无法正常运行、业务无法使用、或数据出错等严重问题,必须升级固件后才能继续使用情况下的升级;所谓非强制升级(即一般升级)是指新固件包含有不是很严重问题的bug解决或功能优化更新等情况下的升级。
因此,在所述强制升级类型对应的升级策略中,所述无线终端在收到升级指令后停止业务流程;而在所述非强制升级类型对应的升级策略中,所述无线终端在收到升级指令后可以正常执行业务流程。
在不同的被供电类型和升级性质类型的组合中,有对应不同的固件升级流程(升级策略),这将在下文实施例中一一说明。
无线网关作为终端与平台进行信息交换和数据传输的中间设备,可连接多只无线终端,在终端固件升级中负责存储终端的待升级的目标固件、固件的版本信息以及管理无线终端的固件升级。通过配置实现一台无线网关支持多种无线终端的多个版本固件。
无线终端作为末端节点,负责数据采集与边缘计算等业务工作,并将业务数据通过无线网关上传到平台,为保证无线终端的工作正常,当终端出现软件问题或和网关/平台的通信接口改变等情况时,需要升级固件才能解决。本实施例中相适应地配置无线终端以包括业务处理模块、升级管理模块、和无线通信模块三部分,具体如下:
升级管理模块,其被配置为对无线终端的固件升级进行管理,包括固件传输、固件存储和固件引导;
业务处理模块,其被配置为处理所述无线网关的业务逻辑和数据传输;
无线通信模块,其被配置为与所述无线网关通信连接,以传输业务数据以及固件数据。
本实施例提供了在无线网关建立与无线终端、网络平台之间通信的前提下,实现所述无线终端的固件升级的方法,如图2所示,包括以下流程:
在所述网络平台上配置升级任务,所述升级任务包括需要进行远程固件升级的一个或多个目标无线终端的信息以及对应的升级策略,并将对应的待升级的固件上传到所述网络平台;
所述无线网关接收所述网络平台发送的所述升级任务和待升级的固件,并将其存储在网关本地;需要升级的固件存放在无线网关,无线网关只需要获取一次升级固件;
所述无线网关根据所述升级任务中对应的升级策略来管理所述目标无线终端的固件升级。
本发明提供的固件升级方法除了可以应用于无线点检仪、无线传感器等无线终端,还可以应用于运行Linux或其他多进程模式操作系统的无线终端的内核、系统软件或应用软件的升级,本发明对固件升级方法所应用场合中的终端类型不作限定。
如上所述,在不同的被供电类型和升级性质类型的组合中,有对应不同的固件升级流程,以下分为四个实施例逐一说明不同情况下的升级策略。
实施例1
无线终端为有线电源供电类型,且升级性质类型为强制升级类型。
对于有线电源供电类型的终端,终端与网关之间的通信连接是永远在线的长连接方式,终端不需要进入深度睡眠,无线网关可以直接通过无线网络发送控制指令或数据到无线终端。因此网关直接下发升级指令到所有需要进行升级的目标终端进行固件升级,基本流程如图3所示,无线网关与无线终端之间的交互动作如图4所示:
1.1无线网关准备好需要升级的固件,并根据无线协议的MTU的大小,将固件包拆分成小的子数据包;
1.2无线网关下发固件升级指令到处于连接状态下的所有需要固件升级的无线终端,升级指令里包含固件版本、升级策略、每个小的固件子数据包大小及固件子数据包的总个数;
1.3无线终端收到升级指令后,停止数据采集和传输,准备固件升级;
1.4无线终端依次向网关请求固件数据包;
1.5网关以可靠传输方式将固件数据包发送到无线终端;强制升级采用可靠连接进行一次性的可靠传输来传输固件的子数据包,保证升级高效可靠;
1.6无线终端收到固件数据包以后,存储在本地flash;
1.7无线终端重复1.4到1.6步骤依次请求所有固件数据包,直到整个固件接收完成;
1.8无线终端断开与无线网关的连接;
1.9无线终端将新固件设置为运行固件,原有固件设置为备用固件,并自动重启;
1.10无线终端重启后重新连接无线网关,并上报最新固件版本;
1.11无线网关收到终端的新版本信息后,确认该终端已完成固件升级,将该终端从本次升级列表中删除;
1.12无线终端重新开始正常业务流程;
1.13重复1.3到1.12完成所有无线终端的固件升级,本次强制固件升级结束。
实施例2
无线终端为有线电源供电类型,且升级性质类型为非强制升级(一般升级)类型。
由于终端和网关之间为长期在线连接,因此采用心跳包和数据业务应答包搭载固件包的形式传输进行固件传输,基本流程如图5所示,无线网关与无线终端之间的交互动作如图6所示:
2.1无线网关准备好需要升级的固件,并将根据网关与终端自己的通信协议,按照数据应答包与心跳包剩余空间的大小二者中小的数值作为固件数据包的大小,将固件拆分成小的数据包;
2.2无线网关下发非强制固件升级指令到所有已连接无线终端,升级指令里包含固件版本、升级策略、每个小的固件数据包大小及固件数据包个数;
2.3无线终端收到非强制升级指令后,向无线网关应答升级确认消息,并准备接收固件数据包进行升级;
2.4无线终端按照正常业务流程采集和上传数据;
2.5无线网关如果收到业务数据,则在数据应答包中附加固件数据包;
2.6如果无线网关较长时间都没有收到业务数据包,则网关向终端发送心跳包,并在心跳包后面附加固件升级包;
2.7无线终端收到数据应答包或心跳包后,取出其中的固件数据包,并存储在本地flash;
2.8无线终端通过心跳应答包发送收到固件数据包的消息;
2.9重复2.4到2.8步骤,直到无线终端收到并确认整个固件已经接收处理完成;
2.10无线终端断开与无线网关的连接;
2.11无线终端将新固件设置为运行固件,原有固件设置为备用固件,并自动重启;
2.12无线终端重启后重新连接无线网关,并上报最新固件版本;
2.13无线网关收到终端的新版本信息后,确认该终端已完成固件升级,将该终端从本次升级列表中删除;
2.14无线终端重新开始正常业务流程;
2.15重复2.3到2.14完成所有无线终端的固件升级,本次一般固件升级结束。
实施例3
无线终端为电池供电类型,且升级性质类型为强制升级类型。
对采用电池供电的无线终端,如无线点检仪、电池供电的无线传感器等,终端在采集处理完数据并发送到网关的业务处理流程后,需要进入到深度睡眠方式,等待一段时间才唤醒,进行下一次的业务处理流程,本实施例中强制升级需要采用的机制是在终端唤醒并连接到网关后进行升级处理,基本流程如图7所示,无线网关与无线终端之间的交互动作如图8所示:
3.1无线网关准备好需要升级的固件,并将根据无线协议的MTU拆分成小的数据包,等待无线终端建立后进行固件升级;
3.2无线终端按预设的时间唤醒后,连接无线网关并同时上报本地固件版本信息到无线网关;
3.3无线网关获得无线终端版本信息后,判断该终端是否需要升级;
3.4如果该终端需要进行升级,则下发升级指令到终端,升级指令里包含固件版本、升级策略、每个小的固件数据包大小及固件数据包个数等;
3.5终端收到需要进行强制升级的指令后,不再进行数据采集和上传业务流程,准备进行固件升级;
3.6无线终端依次向网关请求固件数据包;
3.7网关以可靠传输方式将固件数据包发送到无线终端;
3.8无线终端收到固件数据包以后,存储在本地flash;
3.9无线终端重复2.6到2.8步骤依次请求所有固件数据包,直到整个固件接收完成;
3.10无线终端断开与无线网关的连接;
3.11无线终端将新固件设置为运行固件,原有固件设置为备用固件,并自动重启;
3.12无线终端重启后重新连接无线网关,并上报最新固件版本;
3.13无线网关收到终端的新版本信息后,确认该终端已完成固件升级,将该终端从本次升级列表中删除;
3.14无线终端重新开始正常的数据采集和上传业务流程,完成后重新进入深度休眠模式;
3.15重复2.2到2.14完成所有无线终端的固件升级,本次强制固件升级结束。
实施例4
无线终端为电池供电类型,且升级性质类型为非强制升级(一般升级)类型。
对采用电池供电的无线终端,在采集处理完数据并发送到网关的业务处理流程后,需要进入到深度睡眠方式,等待一段时间才唤醒,进行下一次的业务处理流程,本实施例中非强制升级(一般升级)需要采用的机制是在终端唤醒并连接到网关过程中通过连接应答包的形式传输固件的子数据包,和在业务流程中通过数据应答包的形式传输固件的子数据包,基本流程如图9所示,无线网关与无线终端之间的交互动作如图10所示:
4.1无线网关准备好需要升级的固件,并将根据无线协议的连接应答包与数据应答包二者中间小的数值将固件拆分成小的数据包,等待无线终端请求连接进行固件升级;
4.2无线终端按预设的时间唤醒后,判断本地是否有未完成的固件升级,若有,则向无线网关请求连接并同时上报未完成的固件升级信息到无线网关,升级信息包含是否正在进行一般升级,进行中升级的版本号,已收到的最后一个固件数据包序号等,若没有则向无线网关请求连接并同时上报本地固件版本信息;
4.3无线网关从连接请求包中获取附加的未完成固件升级信息或无线终端本地版本信息,若有未完成固件升级信息,则进行4.5步继续传输固件数据包进行固件升级,否则执行4.4判断该终端是否需要升级;
4.4无线网关比较无线终端上报的版本信息与需要升级的版本进行比较,判断是否一致,如果一致,则该终端不需要升级,无线网关发送正常连接应答到该终端,如果不一致,则该终端需要进行升级,无线网关在连接应答包中附加升级指令到终端,升级指令里包含固件版本、升级策略、每个小的固件数据包大小及固件数据包个数等,然后进行4.6步;
4.5无线网关在连接应答包后附加该终端需要的下一个固件数据包并下发到无线终端;
4.6无线终端收到连接应答包,判断其中是否包含固件数据包或升级指令,如果有固件升级指令则进行4.7步,如果有固件数据包则进行4.8步,否则进行4.12步开始正常数据采集与传输业务流程;
4.7终端收到需要进行固件升级的指令后,在本地flash的永久参数存储器设置升级标志,准备接收固件数据包进行固件升级;
4.8终端取出固件数据包,把数据包存储在本地flash中对应的位置,并更新本地存储的固件数据包信息;
4.9无线终端判断固件是否完整,如果已经接收完整,则断开与网关的连接,并将新固件设置为运行固件,原有固件设置为备用固件,清除升级信息,并自动重启;
4.10无线终端重启后重新连接无线网关,并上报最新固件版本信息;
4.11无线网关收到终端的新版本信息后,确认该终端已完成固件升级,将该终端从本次升级列表中删除;
4.12无线终端按照正常的业务流程采集并上传数据;
4.13无线网关收到终端的业务数据包后,按照正常流程进行处理;
4.14无线网关判断该终端是否有进行中的升级,如果有则在数据应答包附上下一个固件数据包,否则直接发送数据应答信息;
4.15无线终端接收网关发回的数据应答包,并判断是否包含固件数据包,如果有取出固件数据包并按照4.8-4.11方法进行处理,然后进行4.16步骤,否则直接进入4.16步骤;
4.16无线终端重新进入深度睡眠模式;
4.17所以无线终端重复4.2到4.16完成所有无线终端的固件升级,本次一般固件升级结束。
本发明提供了基于包括工业互联网平台、无线网关和无线终端的系统来实现无线终端的远程固件升级,即使是资源非常少(CPU处理能力、内存、网络带宽都很低)的无线终端,只要存储空间口,就可以采用本发明的方法进行升级,升级模式支持强制升级和非强制的一般升级模式,强制升级采用可靠连接进行一次性的可靠传输来传输固件包,保证升级高效可靠;一般升级采用空闲时间和组合传输两种形式进行固件传输,在优先传输业务数据情况下通过心跳包、连接应答包或其他非业务数据包传输固件包,既不影响业务,又能实现远程固件升级。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种无线终端的固件升级方法,其特征在于,在无线网关建立与无线终端、网络平台之间通信的前提下,通过以下步骤实现所述无线终端的固件升级:
在所述网络平台上配置升级任务,所述升级任务包括需要进行远程固件升级的一个或多个目标无线终端的信息以及对应的升级策略,并将对应的待升级的固件上传到所述网络平台;
所述无线网关接收所述网络平台发送的所述升级任务和待升级的固件,并将其存储在网关本地;
所述无线网关根据所述升级任务中对应的升级策略来管理所述目标无线终端的固件升级。
2.根据权利要求1所述的无线终端的固件升级方法,其特征在于,所述升级策略根据所述无线终端的供电类型和升级性质类型而被确定,其中,所述供电类型包括有线电源供电类型和电池供电类型;
所述升级性质类型包括强制升级类型和非强制升级类型,所述强制升级类型用于所述无效终端有影响到整体业务的软件问题时,在所述强制升级类型对应的升级策略中,所述无线终端在收到升级指令后停止业务流程,然后直接进行无线终端的固件升级;在所述非强制升级类型对应的升级策略中,所述无线终端在收到升级指令后继续执行业务流程,通过启动后台任务来进行无线终端的升级。
3.根据权利要求2所述的无线终端的固件升级方法,其特征在于,所述无线网关根据所述升级任务中对应的升级策略来管理所述目标无线终端的固件升级进一步包括:
若所述无线终端为有线电源供电类型,且所述升级性质类型为强制升级类型,则:
无线网关查找与所述目标无线终端相匹配的目标固件,并将其拆分成多个子数据包;
所述无线网关向所述目标无线终端下发强制升级指令,所述强制升级指令包括所述目标固件的版本信息;
所述目标无线终端在收到所述强制升级指令后,停止业务流程,并依次向所述无线网关请求所述目标固件的子数据包;
所述目标无线终端按序接收并存储所述目标固件的全部子数据包,得到新固件;
所述目标无线终端断开与所述无线网关的连接;
所述目标无线终端将所述新固件设置为运行固件,并重启;
所述目标无线终端在重启后重新连接所述无线网关,并以所述目标固件的版本信息作为所述新固件的版本信息上报给所述无线网关;
所述无线网关根据所上报的新固件的版本信息确认所述目标无线终端是否完成固件升级,若是,则将所述目标无线终端从所述升级任务中删除,且重新启动业务流程;
直至所述升级任务中的全部目标无线终端均按上述步骤完成固件升级,则该升级任务结束。
4.根据权利要求2所述的无线终端的固件升级方法,其特征在于,所述无线网关根据所述升级任务中对应的升级策略来管理所述目标无线终端的固件升级进一步包括:
若所述无线终端为有线电源供电类型,且所述升级性质类型为非强制升级类型,则:
所述无线网关查找与所述目标无线终端相匹配的目标固件,并将其拆分成多个子数据包;
所述无线网关向所述目标无线终端下发非强制升级指令,所述非强制升级指令包括所述目标固件的版本信息;
所述目标无线终端收到所述非强制升级指令后,向所述无线网关应答升级确认消息;
所述无线网关在收到所述目标无线终端升级确认消息后,采用在心跳包和数据应答包内附加待升级的目标固件的子数据包的形式,向所述目标无线终端按序传输所述目标固件;
所述目标无线终端收到所述心跳包和/或数据应答包后,从所述心跳包和/或数据应答包内取出所附加的子数据包,并将其存储在终端本地;
所述目标无线终端收到所述目标固件子数据包后,通过心跳应答包向所述无线网关发送成功收到子数据包的信息;
直至存储完所述目标固件的全部子数据包,按照拆分的排序对所述子数据包进行合成,得到新固件;
所述目标无线终端断开与所述无线网关的连接;
所述目标无线终端将所述新固件设置为运行固件,并重启;
所述目标无线终端在重启后重新连接所述无线网关,并以目标固件的版本信息作为所述新固件的版本信息上报给所述无线网关;
所述无线网关根据所上报的新固件的版本信息确认所述目标无线终端是否完成固件升级,若是,则将所述目标无线终端从所述升级任务中删除;
直至所述升级任务中的全部目标无线终端均按上述步骤完成固件升级,则该升级任务结束。
5.根据权利要求4所述的无线终端的固件升级方法,其特征在于,若所述无线终端为有线电源供电类型,且所述升级性质为非强制升级类型,则:
所述无线网关在向所述目标无线终端下发所述非强制指令后,按照正常流程处理所有业务数据;
所述目标无线终端在向所述无线网关应答升级确认消息后,按照正常流程上传业务数据。
6.根据权利要求2所述的无线终端的固件升级方法,其特征在于,所述无线网关根据所述升级任务中对应的升级策略来管理所述目标无线终端的固件升级进一步包括:
若所述无线终端为电池供电类型,且所述升级性质类型为强制升级类型,则:
所述无线网关查找与所述目标无线终端相匹配的目标固件,并将其拆分成多个子数据包;
等待所述目标无线终端唤醒并连接到所述无线网关后,所述目标无线终端将当前本地固件的版本信息上报到所述无线网关;
所述无线网关比较所述目标无线终端当前固件的版本信息与所述目标固件的版本信息,若两者一致,则将所述目标无线终端从所述升级任务中删除;若两者不一致,则继续执行:
所述无线网关向所述目标无线终端下发升级指令,所述升级指令包括所述目标固件的版本信息;
所述目标无线终端在收到所述升级指令后,停止业务流程,并依次向所述无线网关请求所述目标固件的子数据包;
所述目标无线终端按序接收并存储所述目标固件的全部子数据包,得到新固件;
所述目标无线终端断开与所述无线网关的连接;
所述目标无线终端将所述新固件设置为运行固件,并重启;
所述目标无线终端在重启后重新连接所述无线网关,并以所述目标固件的版本信息作为所述新固件的版本信息上报给所述无线网关;
所述无线网关根据所上报的新固件的版本信息确认所述目标无线终端是否完成固件升级,若是,则将所述目标无线终端从所述升级任务中删除,且重新启动业务流程;直至所述升级任务中的全部目标无线终端均按上述步骤完成固件升级,则该升级任务结束。
7.根据权利要求2所述的无线终端的固件升级方法,其特征在于,所述无线网关根据所述升级任务中对应的升级策略来管理所述目标无线终端的固件升级进一步包括:
若所述无线终端为电池供电类型,且所述升级性质类型为非强制升级类型,则:
所述无线网关查找与所述目标无线终端相匹配的目标固件,并将其拆分成多个子数据包;
在每次所述目标无线终端被唤醒后,先判断是否有未完成的非强制升级类型固件升级任务,若有,则在向所述无线网关建立连接后上报未完成的固件升级信息,若没有,则向所述无线网关上报当前固件本地版本信息;
所述无线网关在收到所述目标无线终端上报的未完成的固件升级信息或当前固件版本信息后,判断是否需要对所述目标无线终端继续进行固件升级或开始新的非强制升级类型固件升级,若需要,则所述无线网关通过在连接应答包和/或业务传输阶段中的数据应答包内附加待升级的固件的子数据包的形式,向所述无线终端传输所述目标固件;
所述目标无线终端从所述连接应答包和/或数据应答包内取出所附加的子数据包,并将其存储在终端本地;
所述目标无线终端依次处理直至接收到所述目标固件的全部子数据包,按照拆分的排序对所述子数据包进行合成,得到新固件;
所述目标无线终端断开与所述无线网关的连接;
所述目标无线终端将所述新固件设置为运行固件,并重启;
所述目标无线终端在重启后重新连接所述无线网关,并以目标固件的版本信息作为所述新固件的版本信息上报给所述无线网关;
所述无线网关根据所上报的新固件的版本信息确认所述目标无线终端是否完成固件升级,若是,则将所述目标无线终端从所述升级任务中删除;
直至所述升级任务中的全部目标无线终端均按上述步骤完成固件升级,则该升级任务结束。
8.根据权利要求7所述的无线终端的固件升级方法,其特征在于,若所述目标无线终端为电池供电类型,且所述升级性质为非强制升级类型,则:
所述目标无线终端在与所述无线网关建立连接并上报未完成固件升级信息或当前固件本地版本信息后,按照正常流程所有其他业务流程;
所述无线网关除根据所属目标无线网关上报的未完成固件升级信息或当前固件版本信息对所述目标无线终端传输固件数据外,其他所有业务流程按正常处理。
9.一种无线终端固件升级系统,其特征在于,包括网络平台、一个或多个无线终端以及用于建立所述网络平台与无线终端之间通信的无线网关,其中,每个无线终端包括以下模块:
升级管理模块,其被配置为对无线终端的固件升级进行管理,包括固件传输、固件存储和固件引导;
业务处理模块,其被配置为处理所述无线网关的业务逻辑和数据传输;
无线通信模块,其被配置为与所述无线网关通信连接,以传输业务数据以及固件数据;
所述无线终端固件升级系统被配置根据权利要求1至8中任一项所述的固件升级方法实现所述无线终端的固件升级。
10.根据权利要求9所述的无线终端固件升级系统,其特征在于,所述无线终端为采用BLE或Zigbee的窄带无线方式进行通信的终端产品;
或者,所述无线终端为运行Linux或多进程模式操作系统的终端产品。
CN202310071570.9A 2023-02-07 2023-02-07 一种无线终端固件升级方法及系统 Pending CN116347425A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202310071570.9A CN116347425A (zh) 2023-02-07 2023-02-07 一种无线终端固件升级方法及系统
PCT/CN2023/102341 WO2024164484A1 (zh) 2023-02-07 2023-06-26 一种无线终端固件升级方法及固件升级系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310071570.9A CN116347425A (zh) 2023-02-07 2023-02-07 一种无线终端固件升级方法及系统

Publications (1)

Publication Number Publication Date
CN116347425A true CN116347425A (zh) 2023-06-27

Family

ID=86881250

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310071570.9A Pending CN116347425A (zh) 2023-02-07 2023-02-07 一种无线终端固件升级方法及系统

Country Status (2)

Country Link
CN (1) CN116347425A (zh)
WO (1) WO2024164484A1 (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110768817B (zh) * 2018-07-27 2022-04-12 视联动力信息技术股份有限公司 视联网终端的升级方法和装置
CN112394966A (zh) * 2019-08-19 2021-02-23 云丁网络技术(北京)有限公司 设备升级方法、装置、计算机可读介质及设备
CN111510323A (zh) * 2020-03-24 2020-08-07 中国科学院上海微系统与信息技术研究所 一种物联网设备的固件升级方法、装置、系统及存储介质
KR102276409B1 (ko) * 2021-01-15 2021-07-13 주식회사 이엠웨이브 로라 통신 단말의 무선 펌웨어 업그레이드 시스템 및 방법
CN114489711A (zh) * 2021-12-17 2022-05-13 北京镁伽科技有限公司 终端升级方法、装置及存储介质
CN115529301A (zh) * 2022-08-31 2022-12-27 深圳前海环融联易信息科技服务有限公司 基于云边协同的固件升级方法及服务端、边缘网关端

Also Published As

Publication number Publication date
WO2024164484A1 (zh) 2024-08-15

Similar Documents

Publication Publication Date Title
CN107357571B (zh) 设备组件程序的维护方法及系统
CN109891947A (zh) 在无线通信系统中通过中继装置进行寻呼和连接建立
CN110688133A (zh) 分布式固件升级的方法、系统、装置及电子设备
CN109981360B (zh) 物联网设备站点开通方法、装置、系统及存储介质
WO2016106730A1 (zh) 主从网络休眠及唤醒的方法、装置及主从网络省电系统
CN111866063B (zh) 一种工业物联网ai算法的在线更新系统、方法及装置
JP7345921B2 (ja) マスタースレーブアーキテクチャのota差分更新方法とシステム
CN113726579A (zh) 一种电力物联网通信协议插件的实现方法及装置
CN107656751A (zh) 用户程序升级方法及装置
CN103702402A (zh) 基于无线传感器网络的低功耗停车位状态收集方法
CN112738755A (zh) 电力物联网领域无线通信模组与传感器交互的方法
CN113709689A (zh) 一种电力物联网无线通信模组与传感器交互方法
CN105306544A (zh) 一种远程更新方法
CN107707405A (zh) 通过遥控器实现智能马桶固件远程更新的方法及其遥控器
CN106993043A (zh) 基于代理的数据通信系统和方法
CN103973718A (zh) 一种基于android移动平台的运维消息推送方法
CN112398661B (zh) 设备休眠处理方法、装置、IoT设备及存储介质
CN114915671A (zh) 一种基于NB-IoT的路灯控制器的远程升级方法
CN109766110B (zh) 一种控制方法、基板管理控制器及控制系统
CN102420783B (zh) 一种服务器向测控终端推送信息的方法及系统
CN105338008A (zh) 一种用于物联网的设备调度方法、设备与系统
CN116319712B (zh) 电力设备体域网从节点无线升级方法及装置
CN107483569A (zh) 一种具有固件自动升级的服务器、系统及升级方法
CN116347425A (zh) 一种无线终端固件升级方法及系统
CN114996195B (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