CN112612497A - 基于网关的固件升级方法及设备的固件升级方法 - Google Patents
基于网关的固件升级方法及设备的固件升级方法 Download PDFInfo
- Publication number
- CN112612497A CN112612497A CN202011606085.XA CN202011606085A CN112612497A CN 112612497 A CN112612497 A CN 112612497A CN 202011606085 A CN202011606085 A CN 202011606085A CN 112612497 A CN112612497 A CN 112612497A
- Authority
- CN
- China
- Prior art keywords
- firmware
- equipment
- upgraded
- upgrading
- gateway
- 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
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)
Abstract
本发明提供一种基于网关的固件升级方法以及设备的固件升级方法,物联网网关下载最新固件,设备获取物联网网关下发的最新固件或固件片段分写入至设备中,并且保存有更新固件或固件片段的设备对其它设备提供升级服务接口,可响应其他设备的更新固件请求,这样可以减少升级过程对中央网关的依赖,提高局域网下所有设备升级效率。由于设备采用的RAM普遍很小,物联网网关根据待升级设备RAM空闲情况将新固件做分片策略处理,并按分片序号以及固件片段分发至设备的RAM中,设备的RAM作为继服务器可向其它同类型设备提供的固件片段,物联网网关向所有设备发送所需的序号片段,中继服务器响应该请求,将所需的固件片段发送给待升级设备。
Description
技术领域
本申请涉及智能家居领域,尤其涉及移动设备技术领域,具体涉及一种基于网关的固件升级方法及设备的固件升级方法。
背景技术
智能家居控制***(英文smarthome control system,简称SCS),是以智能家居***为平台,家居电器及家电设备为主要控制对象,利用综合布线技术、网络通信技术、自动控制技术进行高效集成,构建高效的住宅设施与家庭日程事务的控制管理***,提升家居智能、安全、便利、舒适,并实现环保控制的***平台。智能家居***包含中央控制网关、照明灯具、空调、窗帘电机、空气净化器等,这些智能设备采用嵌入式***设计,实现联网通信和动作执行等功能,通常都会被设计成软件功能可升级迭代,来满足日益新增的用户需求,这也是物联网***的一大优势。软件可升级,就要求智能家居***必须支持对每种设备提供固件服务。
目前主流***的固件升级方式都是通过手机APP(应用程序)检测可升级设备,再操作将固件下载到网关,再从设备发起升级流程,到网关获取固件进行升级。由于物联网网关性能的性能有限,并且需要响应其他任务的请求,通常此过程网关只能同时响应一台设备的升级请求,所有设备需要排队完成升级,即使是不同类型的设备固件也无法同一时间同时升级,导致整个升级过程效率低下,时间长。
发明内容
本申请实施例提供一种固件升级方法以及设备的固件升级方法,物联网网关下发的最新固件或固件片段分写入至设备的RAM中,RAM作为中继服务器可响应其他设备的更新固件请求,这样可以减少升级过程对中央网关的依赖,提高局域网下所有设备升级效率。
本发明提供一种基于网关的固件升级方法,应用于物联网网关,所述方法包括如下步骤:通过第一通讯协议无线连接至云服务器端,建立数据链接通道;通过第二通讯协议无线连接至多个待升级设备的网关,建立局域网;获取由云服务器端所发送的固件升级请求指令;从所述云服务器端下载所述待升级设备相应的最新固件;将所述最新固件存放到部分所述待升级设备中,获得所述最新固件的待升级设备为未获得所述最新固件的待升级设备提供升级服务;发送升级指令至所述待升级设备中,所述待升级设备开始升级;以及接收所述待升级设备的升级请求。
进一步地,在将所述最新固件存放到部分所述待升级设备中的步骤之前,还包括如下步骤:发送一设备信息查询请求至所述待升级设备;获取所述待升级设备所发送的设备信息。
进一步地,所述设备信息包括空闲RAM容量;在将所述最新固件存放到部分所述待升级设备的步骤中,具体包括如下步骤:分别比较每一待升级设备的空闲RAM容量与一预设值的大小,若其中一待升级设备的空闲RAM容量大于所述预设值,则判定所有待升级设备为直接升级设备;将所述最新固件存放到空闲RAM容量大于所述预设值的待升级设备中,并发送不分片标记至每一待升级设备中。
进一步地,在所述分别比较每一待升级设备的空闲RAM容量与一预设值的大小的步骤中,若所有待升级设备的空闲RAM容量皆小于所述预设值,则判定所有待升级设备为间接升级设备,则进行分片步骤;发送分片标记至每一间接升级设备;计算所述间接升级设备的数量;将所述最新固件拆分为两个以上的固件片段,对每一固件片段进行标号,其中,标号的范围1~k,k为所述固件片段数量,k小于或等于所述间接升级设备的数量;发送全部固件片段及其标号至两个以上间接升级设备,确保每一固件片段被发送至至少一间接升级设备。
进一步地,所述预设值为所述最新固件所占用的内存空间的两倍。
进一步地,在所述接收所述待升级设备的升级请求的步骤中;若所述待升级设备为间接升级设备,则在所述发送升级指令至所述待升级设备中的步骤之前,还包括如下步骤:判断该间接升级设备的是否具有固件片段,若是,则广播该间接升级设备所需的其它固件片段的标号;若否,判定该间接升级设备处于升级初始状态,发送固件标号为1的固件片段至该间接升级设备,并广播该间接升级设备所需的其它固件片段的标号。
进一步地,所述设备信息还包括:设备类型;在所述获取所述待升级设备的设备信息步骤之后还包括如下步骤:对所述多个待升级设备根据设备类型进行分组,同组设备的设备类型相同。所述将所述最新固件存放到所述待升级设备中的步骤在所述同组设备内执行。
进一步地,所述设备信息还包括:所述待升级设备的固件版本号;在所述获取所述待升级设备的设备信息步骤之后还包括如下步骤:向所述云服务器端查询所述待升级设备的最新固件;以及分别对比所有待升级的设备的固件版本号与所述云服务器中对应的设备最新固件版本号,若待升级设备的固件版本号低于所述最新固件版本号,则执行所述下载所述待升级设备相应的最新固件的步骤。
进一步地,在所述发送升级指令至所述待升级设备中的步骤之后,还包括如下步骤:接收一待升级设备的升级成功信息并发送重启指令至待所述升级设备。
进一步地,所述云服务器、物联网网关以及所述待升级的设备的连接方式为PLC级联。
本发明提供一种设备的固件升级方法,所述方法包括如下步骤:通过第二通讯协议无线连接至物联网网关,多个待升级设备建立局域网;获取所述物联网网关所发送的最新固件;获取所述物联网网关所述发送升级指令;开始固件升级;发送升级请求至所述物联网网关;以及生成一升级成功信息并发送至所述物联网网关。
进一步地,在所述获取所述物联网网关所述发送的最新固件步骤之前,还包括:接收所述物联网网关所发送的设备信息查询请求;发送设备信息至所述物联网网关,所述设备信息包括空闲RAM容量;所述物联网网关根据设备信息分别判断每一待升级设备的空闲RAM容量是否大于一预设值;若其中一待升级设备的空闲RAM容量大于所述预设值,判定所有待升级设备为直接升级设备;若所有待升级设备的空闲RAM容量皆小于于所述预设值,判定所有待升级设备为间接升级设备;获取从所述物联网网关所发送的分片标记或不分片标记,若所有待升级设备为直接升级设备,则获取不分片标记;若所有待升级设备为间接升级设备,则获取分片标记。
进一步地,若所有待升级设备获取不分片标记,则在所述获取所述物联网网关所发送的最新固件的步骤中,具体包括如下步骤:空闲RAM容量大于所述预设值的待升级设备获取所述最新固件。
进一步地,若所有待升级设备获取分片标记,则在所述获取所述物联网网关所发送的最新固件的步骤中,具体包括如下步骤:获取最新固件或任意一固件片段;确保两个以上间接升级设备所接收的固件片段能够拼合成一完整的新固件。
进一步地,所述开始固件升级的步骤中,具体包括如下步骤:第一直接升级设备获取最新固件并升级;所述第一直接升级设备的空闲RAM容量大于所述预设值;第二直接升级设备发送升级请求;所述第二直接升级设备与所述第一直接升级设备的设备类型相同,所述第二直接升级设备的空闲RAM容量小于所述预设值;以及第二直接升级设备接收所述第一直接升级设备或所述物联网网关发送的最新固件。
进一步地,所述开始固件升级的步骤中,具体包括如下步骤:一间接升级设备发送自身的固件片段标号以及所需要的固件片段标号至所述物联网网关;以及所述一间接升级设备依次获取所需要的其它的固件片段。
进一步地,所述设备信息还包括设备类型以及固件版本号。
进一步地,在所述发送升级请求至所述物联网网关的步骤之前,包括:判断当前的固件版本号是否低于所述最新固件,若是则执行所述发送升级请求至所述物联网网关的步骤。
进一步地,在所述生成一升级成功信息并发送至所述物联网网关的步骤之后,还包括如下步骤:接收由所述物联网网关发送的一重启指令,重启成功后发送一重启成功信息至所述物联网网关。
本发明的有益效果:本发明提供基于网关的固件升级方法以及设备的固件升级方法,物联网网关下载最新固件根据设备RAM情况进行是否分片,设备获取物联网网关下发的最新固件或固件片段分写入至设备的RAM中,RAM作为中继服务器,而保存有更新固件或固件片段的设备对其它设备提供升级服务接口,待升级设备可响应其他设备的更新固件请求,这样可以减少升级过程对中央网关的依赖,提高局域网下所有设备升级效率。
由于设备采用的RAM普遍很小,本发明通过物联网网关对设备进行空闲RAM查询功能,物联网网关根据待升级设备RAM空闲情况将新固件做分片策略处理,并按分片序号以及固件片段分发至设备的RAM中,设备的RAM作为继服务器可向其它同类型设备提供的固件片段,物联网网关广播所需的序号片段时,中继服务器响应该请求,将所需的固件片段发送给待升级设备。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。
图1为本申请一实施例提供的基于网关的固件升级方法的流程图。
图2为本申请一实施例提供的所述物联网网关与所述设备的连接方式的示意图。
图3为本申请一实施例提供的固件发送的示意图。
图4为本申请另一实施例提供的一种设备的固件升级方法的流程图。
图5为本申请另一实施例提供的所述直接升级设备获取最新固件的步骤的具体流程图。
图6为本申请另一实施例提供的所述多个间接升级设备相互交换固件片段完成升级步骤的具体流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明提供一种基于网关的固件升级方法,应用于物联网网关,所述物联网网关作为网关设备,可以实现感知网络与通信网络,以及不同类型感知网络之间的协议转换。既可以实现广域互联,也可以实现局域互联。此外物联网网关还需要具备设备管理功能,通过物联网网关设备可以管理设备的各感知节点,了解各节点的相关信息,并实现远程控制。
如图1所示,所述基于网关的固件升级方法包括如下步骤:S1~S15。
S1)物联网网关通过第一通讯协议无线连接至云服务器。
S2)物联网网关通过第二通讯协议无线连接至多个待升级设备的网关;如图2所示所述物联网网关与所述设备的连接方式为PLC级联。在图2中,包括相互连接云服务器11与物联网网关12,设备包括第一设备13、第二设备14以及第三设备15。第一设备13、第二设备14以及第三设备15的设备类型不同。所述的PLC级联,在第一层中,以直接无线连接所述物联网网关12的第一设备13分支进行描述,在第二层中,从第一设备13分出的两路分支分别连接第二设备14以及第三设备15。在第三层中,从第二设备14分出两路分支分别连接第二设备14以及第一设备13。
S3)物联网网关获取由云服务器端所发送的固件升级请求指令
S4)物联网网关发送一设备信息查询请求至所述待升级设备。
S5)物联网网关获取所述待升级设备所发送的设备信息;所述设备信息包括空闲RAM容量、所述待升级设备的固件版本号以及设备类型。
S6)物联网网关对所述多个待升级设备根据设备类型进行分组,同组设备的设备类型相同。当所述待升级设备的设备类型为两种以上时,物联网网关对所述多个待升级设备根据设备类型进行分组,同组设备的设备类型相同。同时参照图3所示,以第一设备13以及第二设备14的分组进行描述,第一设备13的组别中包括设备DevA1~DevA4。第二设备14的组别包括设备DevB1~DevB6。每一分组分别执行如下步骤S7~S12。
S7)物联网网关向所述云服务器端查询所述待升级设备的最新固件;分别对比所有待升级的设备的固件版本号与所述云服务器中对应的设备最新固件版本号,若待升级设备的固件版本号低于所述最新固件版本号,则执行下一步骤。参照图3,第一设备13的设备DevA1~DevA4通过判定皆为待升级设备。第二设备14的设备DevB1~DevB6通过判定皆为待升级设备。
S8)物联网网关从所述云服务器端下载所述待升级设备相应的最新固件。参照图3,物联网网关12从云服务器端下载第一设备13的最新固件A,物联网网关12从云服务器端下载第二设备14的最新固件B,物联网网关12从云服务器端下载第三设备15的最新固件C。
S9)物联网网关将所述最新固件存放到部分所述待升级设备中,获得所述最新固件的待升级设备为未获得所述最新固件的待升级设备提供升级服务。步骤S9具体包括如下步骤:S901)分别比较每一待升级设备的空闲RAM容量与一预设值的大小,若其中一待升级设备的空闲RAM容量大于所述预设值,则判定所有待升级设备为直接升级设备;S902)将所述最新固件存放到空闲RAM容量大于所述预设值的待升级设备中,并发送不分片标记至所述待升级设备中。所述预设值为所述最新固件所占用的内存空间的两倍。参照图3,物联网网关根据空闲RAM容量对第一设备分组进行判断,判断第一设备13的所有待升级设备DevA1~DevA4为直接升级设备,而第一设备DevA1~DevA4皆直接升级设备。在步骤S901)中,若所有待升级设备的空闲RAM容量皆小于所述预设值,则判定所有待升级设备为间接升级设备,则进行分片步骤;发送分片标记至每一间接升级设备;计算所述间接升级设备的数量;将所述最新固件拆分为两个以上的固件片段,对每一固件片段进行标号,其中,标号的范围1~k,k为所述固件片段数量,k小于或等于所述间接升级设备的数量;发送全部固件片段及其标号至两个以上间接升级设备,确保每一固件片段被发送至至少一间接升级设备。物联网网关根据空闲RAM容量判断第二设备分组的所有设备DevB1~DevB6为间接升级设备。第二设备14的间接升级设备的数量为6。第一设备13全部为直接升级设备。物联网网关根据第二设备14的数量将固件B拆分为2~6片,本实施例中为4片,分别为分片B1~分片B4。第二设备DevB1获得分片B4,第二设备DevB2以及DevB5获得分片B2,第二设备DevB4获得分片B3,第二设备DevB3以及DevB6获得分片B1。设备获得固件或固件片段后,先写入存储器(Flash)中,后写入RAW中作为中继服务器。所述待升级设备接收到相应的最新固件或固件片段后,该待升级设备对应的组别内部进行升级,通过局域网分享自己本身的最新固件或固件片段给其他待升级设备,其他待升级设备获取相应的最新固件或所有的固件片段后开始升级,为其他设备提供升级服务。
S10)物联网网关发送升级指令至所述待升级设备中,所述待升级设备开始升级。
S11)物联网网关接收所述待升级设备的升级请求;若所述待升级设备为一直接升级设备,则执行步骤S12)所述待升级设备开始升级。若所述待升级设备为一间接升级设备,则在所述步骤S12)之前,还包括如下步骤:判断该间接升级设备的是否具有固件片段,若是,则广播该间接升级设备所需的其它固件片段的标号,其它待升级设备按照固件标号的由小到大顺序发送至该间接升级设备;若否,该间接升级设备处于升级初始状态(一般固件标号为0),发送固件标号为1的固件片段至该间接升级设备,并广播该间接升级设备所需的其它固件片段的标号。参考图3所示,针对为直接升级设备的第一设备DevA1~DevA4,当第一设备DevA1获得固件A后,若同组中的其他设备第一设备DevA2~DevA4发出升级请求,由第一设备DevA1发送固件A,即升级可以在设备与设备之间,这增加了升级的效率。针对为间接升级设备的第二设备DevB1~DevB6,第二设备DevB1~DevB6随机获取分片后,若第二设备DevB1发送升级请求所需的其他固件片段,第二设备DevB2~DevB6中将第二设备DevB1所缺的分片发送给第二设备DevB1,用以使第二设备DevB1获得完整的固件B,进一步举例说明,分片B1从第二设备DevB3或第二设备DevB6中获得,分片B2从第二设备DevB2与第二设备DevB5获得。
S12)物联网网关接收一待升级设备的升级成功信息并发送重启指令至待所述升级设备。所述升级成功的设备接收重启指令后,重启设备后并发送重启成功至物联网网关。
本发明提供一种基于网关的固件升级方法,物联网网关设备的RAM情况判定是否需要分片,将最新固件或固件片段分发给网络中设备的RAM中,设备的RAM作为中继服务器,保存有更新固件或固件片段的设备对其它设备提供升级服务接口,可响应其他设备的更新固件请求,这样可以减少待升级过程对中央网关的依赖,提高局域网下所有设备升级效率。
由于设备采用的RAM普遍很小,本发明通过对设备进行空闲RAM查询功能,物联网网关根据待升级设备RAM空闲情况将新固件做分片策略处理,并按分片序号以及固件片段分发至设备的RAM中,设备的RAM作为继服务器可向其它同类型设备提供的固件片段,将所需的固件片段或最新固件通过局域网分享给其他待升级设备。
如图4所示,本发明另一实施例提供一种设备的固件升级方法,应用于与物联网网关连接的多个设备端,所述方法包括如下步骤S601~S610。
S601)待升级设备通过第二通讯协议与所述物联网网关建立局域网连接,如图2所示所述物联网网关与所述设备的连接方式为PLC级联。在图2中,包括相互连接云服务器11与物联网网关12,设备包括第一设备13、第二设备14以及第三设备15。第一设备13、第二设备14以及第三设备15的设备类型不同。所述的PLC级联,在第一层中,以直接无线连接所述物联网网关12的第一设备13分支进行描述,在第二层中,从第一设备13分出的两路分支分别连接第二设备14以及第三设备15。在第三层中,从第二设备14分出两路分支分别连接第二设备14以及第一设备13。
S602)待升级设备接收所述物联网网关所发送的设备信息查询请求。
S603)待升级设备发送设备信息至所述物联网网关,所述设备信息包括空闲RAM容量、设备类型以及固件版本号;所述物联网网关根据设备信息先对所述多个待升级设备根据设备类型进行分组。同时参照图3所示,以第一设备13以及第二设备14的分组进行描述,第一设备13的组别中包括设备DevA1~DevA4。第二设备14的组别包括设备DevB1~DevB6;所述物联网网关分别对比所有待升级的设备的固件版本号与所述云服务器中对应的设备最新固件版本号,若待升级设备的固件版本号低于所述最新固件版本号,则执行下载所述待升级设备相应的最新固件的步骤。所述物联网网关根据再根据设备信息分别判断每一待升级设备的空闲RAM容量是否大于所述最新固件所占用的内存空间的两倍;若其中一待升级设备的空闲RAM容量大于所述预设值,判定所有待升级设备为直接升级设备;若所有待升级设备的空闲RAM容量皆小于于所述预设值,判定所有待升级设备为间接升级设备。物联网网关根据空闲RAM容量判断第一设备分组的设备DevA1~DevA4为直接升级设备。物联网网关根据空闲RAM容量判断第二设备分组的设备DevB1~DevB6为直接升级设备。
S604)获取从所述物联网网关所发送的分片标记或不分片标记,若所有待升级设备为直接升级设备,则获取不分片标记;若所有待升级设备为间接升级设备,则获取分片标记。
S605)获取所述物联网网关所发送的最新固件;若所有待升级设备获取不分片标记,则步骤S605包括:空闲RAM容量大于所述预设值的待升级设备获取所述最新固件。若所有待升级设备获取分片标记,则步骤S605包括:获取最新固件或任意一固件片段;确保两个以上间接升级设备所接收的固件片段能够拼合成一完整的新固件。参照图3,第二设备DevB1获得分片B4,第二设备DevB2以及DevB5获得分片B2,第二设备DevB4获得分片B3,第二设备DevB3以及DevB6获得分片B1。
S606)待升级设备判断当前的固件版本号是否低于所述最新固件,若是则执行所步骤S607。
S607)待升级设备获取所述物联网网关所述发送升级指令。
S608)待升级设备开始固件升级。如图5所示,若所有待升级设备获取分片标记,则步骤S608具体包括:S6081)第一直接升级设备获取最新固件并升级,所述第一直接升级设备的空闲RAM容量大于所述预设值;S6082)第二直接升级设备发送升级请求,所述第二直接升级设备与所述第一直接升级设备的设备类型相同,所述第二直接升级设备的空闲RAM容量小于所述预设值;S6083)第二直接升级设备接收所述第一直接升级设备发送的最新固件。由于第一设备分组DevA1~DevA4为直接升级设备,当第一设备DevA1获得固件A后,若同组中的其他设备第一设备DevA2~DevA4发出升级请求,则由第一设备DevA1发送固件A,即升级可以使设备与设备之间,这增加了升级的稳定性。如图6所示,若所有待升级设备获取分片标记,则步骤S608包括:S6091)一间接升级设备发送自身的固件片段标号以及所需要的固件片段标号至其他间接升级设备;S6092)其他间接升级设备响应其请求并发送所需固件片段,所述一间接升级设备依次获取所需要的其它的固件片段后开始升级。由于第二设备分组的设备DevB1~DevB6为间接升级设备,第二设备DevB1获得分片B4,第二设备DevB2以及DevB5获得分片B2,第二设备DevB4获得分片B3,第二设备DevB3以及DevB6获得分片B1,针对为间接升级设备的第二设备DevB1~DevB6,第二设备DevB1~DevB6随机获取分片后,若第二设备DevB1发送请求,物联网关查看第二设备DevB1自身的分片序号并调用第二设备DevB2~DevB6的分片,用以使第二设备DevB1获得完整的固件B,其中,分片B1从第二设备DevB3或第二设备DevB6中获得,分片B2从第二设备DevB2与第二设备DevB5获得。
S609)待升级设备发送升级请求至所述物联网网关。
S610)待升级设备生成一升级成功信息并发送至所述物联网网关。
S611)接收由所述物联网网关发送的一重启指令,重启成功后发送一重启成功信息至所述物联网网关。
本发明另一实施例提供了一种设备的固件升级方法,待升级设备获取物联网网关下发的最新固件或固件片段分写入至设备的RAM中,RAM作为中继服务器,而保存有更新固件或固件片段的设备对其它设备提供升级服务接口,可响应其他设备的更新固件请求,这样可以减少升级过程对中央网关的依赖,提高局域网下所有设备升级效率。
由于设备采用的RAM普遍很小,通过物联网网关对设备进行空闲RAM查询功能,物联网网关根据待升级设备RAM空闲情况将新固件做分片策略处理,并按分片序号以及固件片段分发至设备的RAM中,设备的RAM作为继服务器可向其它同类型设备提供的固件片段,待升级设备广播所需的序号片段时,中继服务器响应该请求,将所需的固件片段发送给待升级设备。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。
Claims (19)
1.一种基于网关的固件升级方法,应用于物联网网关,其特征在于,所述方法包括如下步骤:
通过第一通讯协议无线连接至云服务器端,建立数据链接通道;
通过第二通讯协议无线连接至多个待升级设备的网关,建立局域网;
获取由云服务器端所发送的固件升级请求指令;
从所述云服务器端下载所述待升级设备相应的最新固件;
将所述最新固件存放到部分所述待升级设备中,获得所述最新固件的待升级设备为未获得所述最新固件的待升级设备提供升级服务;
发送升级指令至所述待升级设备中,所述待升级设备开始升级;以及
接收所述待升级设备的升级请求。
2.如权利要求1所述的基于网关的固件升级方法,其特征在于,
在将所述最新固件存放到部分所述待升级设备中的步骤之前,还包括如下步骤:
发送一设备信息查询请求至所述待升级设备;
获取所述待升级设备所发送的设备信息。
3.如权利要求2所述的基于网关的固件升级方法,其特征在于,
所述设备信息包括空闲RAM容量;
在将所述最新固件存放到部分所述待升级设备的步骤中,具体包括如下步骤:
分别比较每一待升级设备的空闲RAM容量与一预设值的大小,若其中一待升级设备的空闲RAM容量大于所述预设值,则判定所有待升级设备为直接升级设备;
将所述最新固件存放到空闲RAM容量大于所述预设值的待升级设备中,并发送不分片标记至每一待升级设备中。
4.如权利要求3所述的基于网关的固件升级方法,其特征在于,
在所述分别比较每一待升级设备的空闲RAM容量与一预设值的大小的步骤中,若所有待升级设备的空闲RAM容量皆小于所述预设值,则判定所有待升级设备为间接升级设备,则进行分片步骤;
发送分片标记至每一间接升级设备;
计算所述间接升级设备的数量;
将所述最新固件拆分为两个以上的固件片段,对每一固件片段进行标号,其中,标号的范围1~k,k为所述固件片段数量,k小于或等于所述间接升级设备的数量;
发送全部固件片段及其标号至两个以上间接升级设备,确保每一固件片段被发送至至少一间接升级设备。
5.如权利要求3所述的基于网关的固件升级方法,其特征在于,
所述预设值为所述最新固件所占用的内存空间的两倍。
6.如权利要求4所述的基于网关的固件升级方法,其特征在于,
在所述接收所述待升级设备的升级请求的步骤中;
若所述待升级设备为间接升级设备,则在所述发送升级指令至所述待升级设备中的步骤之前,还包括如下步骤:
判断该间接升级设备的是否具有固件片段,若是,则广播该间接升级设备所需的其它固件片段的标号;若否,判定该间接升级设备处于升级初始状态,发送固件标号为1的固件片段至该间接升级设备,并广播该间接升级设备所需的其它固件片段的标号。
7.如权利要求2所述的基于网关的固件升级方法,其特征在于,
所述设备信息还包括:设备类型;
在所述获取所述待升级设备的设备信息步骤之后还包括如下步骤:对所述多个待升级设备根据设备类型进行分组,同组设备的设备类型相同。所述将所述最新固件存放到所述待升级设备中的步骤在所述同组设备内执行。
8.如权利要求2所述的基于网关的固件升级方法,其特征在于,
所述设备信息还包括:所述待升级设备的固件版本号;
在所述获取所述待升级设备的设备信息步骤之后还包括如下步骤:
向所述云服务器端查询所述待升级设备的最新固件;以及
分别对比所有待升级的设备的固件版本号与所述云服务器中对应的设备最新固件版本号,若待升级设备的固件版本号低于所述最新固件版本号,则执行所述下载所述待升级设备相应的最新固件的步骤。
9.如权利要求1所述的基于网关的固件升级方法,其特征在于,
在所述发送升级指令至所述待升级设备中的步骤之后,还包括如下步骤:
接收一待升级设备的升级成功信息并发送重启指令至待所述升级设备。
10.如权利要求1所述的基于网关的固件升级方法,其特征在于,
所述云服务器、物联网网关以及所述待升级的设备的连接方式为PLC级联。
11.一种设备的固件升级方法,其特征在于,所述方法包括如下步骤:
通过第二通讯协议无线连接至物联网网关,多个待升级设备建立局域网;
获取所述物联网网关所发送的最新固件;
获取所述物联网网关所述发送升级指令;
开始固件升级;
发送升级请求至所述物联网网关;以及
生成一升级成功信息并发送至所述物联网网关。
12.如权利要求11所述的设备的固件升级方法,其特征在于,
在所述获取所述物联网网关所述发送的最新固件步骤之前,还包括:
接收所述物联网网关所发送的设备信息查询请求;
发送设备信息至所述物联网网关,所述设备信息包括空闲RAM容量;所述物联网网关根据设备信息分别判断每一待升级设备的空闲RAM容量是否大于一预设值;若其中一待升级设备的空闲RAM容量大于所述预设值,判定所有待升级设备为直接升级设备;若所有待升级设备的空闲RAM容量皆小于于所述预设值,判定所有待升级设备为间接升级设备;
获取从所述物联网网关所发送的分片标记或不分片标记,若所有待升级设备为直接升级设备,则获取不分片标记;若所有待升级设备为间接升级设备,则获取分片标记。
13.如权利要求12所述的设备的固件升级方法,其特征在于,
若所有待升级设备获取不分片标记,则在所述获取所述物联网网关所发送的最新固件的步骤中,具体包括如下步骤:
空闲RAM容量大于所述预设值的待升级设备获取所述最新固件。
14.如权利要求12所述的设备的固件升级方法,其特征在于,
若所有待升级设备获取分片标记,则在所述获取所述物联网网关所发送的最新固件的步骤中,具体包括如下步骤:
获取最新固件或任意一固件片段;确保两个以上间接升级设备所接收的固件片段能够拼合成一完整的新固件。
15.如权利要求13所述的设备的固件升级方法,其特征在于,
所述开始固件升级的步骤中,具体包括如下步骤:
第一直接升级设备获取最新固件并升级;所述第一直接升级设备的空闲RAM容量大于所述预设值;
第二直接升级设备发送升级请求;所述第二直接升级设备与所述第一直接升级设备的设备类型相同,所述第二直接升级设备的空闲RAM容量小于所述预设值;以及
第二直接升级设备接收所述第一直接升级设备或所述物联网网关发送的最新固件。
16.如权利要求14所述的设备的固件升级方法,其特征在于,
所述开始固件升级的步骤中,具体包括如下步骤:
一间接升级设备发送自身的固件片段标号以及所需要的固件片段标号至所述物联网网关;以及
所述一间接升级设备依次获取所需要的其它的固件片段。
17.如权利要求12所述的设备的固件升级方法,其特征在于,
所述设备信息还包括设备类型以及固件版本号。
18.如权利要求11所述的设备的固件升级方法,其特征在于,
在所述发送升级请求至所述物联网网关的步骤之前,包括:
判断当前的固件版本号是否低于所述最新固件,若是则执行所述发送升级请求至所述物联网网关的步骤。
19.如权利要求11所述的设备的固件升级方法,其特征在于,
在所述生成一升级成功信息并发送至所述物联网网关的步骤之后,还包括如下步骤:
接收由所述物联网网关发送的一重启指令,重启成功后发送一重启成功信息至所述物联网网关。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011606085.XA CN112612497A (zh) | 2020-12-30 | 2020-12-30 | 基于网关的固件升级方法及设备的固件升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011606085.XA CN112612497A (zh) | 2020-12-30 | 2020-12-30 | 基于网关的固件升级方法及设备的固件升级方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112612497A true CN112612497A (zh) | 2021-04-06 |
Family
ID=75249236
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011606085.XA Pending CN112612497A (zh) | 2020-12-30 | 2020-12-30 | 基于网关的固件升级方法及设备的固件升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112612497A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113242631A (zh) * | 2021-04-20 | 2021-08-10 | 深圳市海洋王照明工程有限公司 | 照明控制方法、装置、***及存储介质 |
CN113238884A (zh) * | 2021-05-06 | 2021-08-10 | 国家计算机网络与信息安全管理中心 | 一种固件文件的检测方法、装置、电子设备及存储介质 |
CN113553083A (zh) * | 2021-07-30 | 2021-10-26 | 佛山市顺德区美的电子科技有限公司 | 空调***的程序升级方法、装置、空调***和存储介质 |
CN113641377A (zh) * | 2021-07-02 | 2021-11-12 | 佛山市淇特科技有限公司 | 哑设备固件升级方法、装置、设备和存储介质 |
CN114465894A (zh) * | 2021-12-28 | 2022-05-10 | 湖北华中光电科技有限公司 | 一种激光告警设备的软件升级方法 |
WO2022179513A1 (zh) * | 2021-02-23 | 2022-09-01 | 苏州欧普照明有限公司 | 一种智能设备自动升级方法以及云服务器 |
CN115134342A (zh) * | 2022-06-06 | 2022-09-30 | 广州云雷智能科技有限公司 | 基于plc的设备远程升级方法、装置、设备及存储介质 |
-
2020
- 2020-12-30 CN CN202011606085.XA patent/CN112612497A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022179513A1 (zh) * | 2021-02-23 | 2022-09-01 | 苏州欧普照明有限公司 | 一种智能设备自动升级方法以及云服务器 |
CN113242631A (zh) * | 2021-04-20 | 2021-08-10 | 深圳市海洋王照明工程有限公司 | 照明控制方法、装置、***及存储介质 |
CN113238884A (zh) * | 2021-05-06 | 2021-08-10 | 国家计算机网络与信息安全管理中心 | 一种固件文件的检测方法、装置、电子设备及存储介质 |
CN113641377A (zh) * | 2021-07-02 | 2021-11-12 | 佛山市淇特科技有限公司 | 哑设备固件升级方法、装置、设备和存储介质 |
CN113553083A (zh) * | 2021-07-30 | 2021-10-26 | 佛山市顺德区美的电子科技有限公司 | 空调***的程序升级方法、装置、空调***和存储介质 |
CN114465894A (zh) * | 2021-12-28 | 2022-05-10 | 湖北华中光电科技有限公司 | 一种激光告警设备的软件升级方法 |
CN114465894B (zh) * | 2021-12-28 | 2023-09-12 | 湖北华中长江光电科技有限公司 | 一种激光告警设备的软件升级方法 |
CN115134342A (zh) * | 2022-06-06 | 2022-09-30 | 广州云雷智能科技有限公司 | 基于plc的设备远程升级方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112612497A (zh) | 基于网关的固件升级方法及设备的固件升级方法 | |
CN107357571B (zh) | 设备组件程序的维护方法及*** | |
CN107977215B (zh) | 车载***升级方法及装置 | |
CN105491159A (zh) | 一种固件升级包下发方法、获取方法及装置 | |
KR101616444B1 (ko) | 근거리 무선통신 방식의 사물지능통신 기기들에 대한 원격 관리 시스템 | |
CN107545892B (zh) | 设备的控制方法、装置及*** | |
CN112187531B (zh) | 模块的升级方法及***、存储介质、电子装置 | |
CN112671904B (zh) | 设备状态信息的传输方法及装置、存储介质、电子装置 | |
CN111913397B (zh) | 设备控制方法、装置、存储介质及电子装置 | |
CN102694870A (zh) | 动态分配地址的网关的在线升级方法 | |
CN105357255A (zh) | 一种远程更新方法及*** | |
CN105072149A (zh) | 通过代理网关建立远程通信的方法及装置 | |
CN112202877A (zh) | 网关联动方法、网关、云服务器及用户终端 | |
CN113596792B (zh) | 电子设备的绑定方法和装置、存储介质及电子装置 | |
CN112671572B (zh) | 智能设备配网的方法、装置、存储介质及电子装置 | |
CN107968725B (zh) | 家庭网关单元型终端设备配置信息返回及配置方法、设备 | |
CN105246129A (zh) | 一种智能终端的组网方法及装置 | |
CN102118422B (zh) | Reload对等网络的对等节点及其配置的更新方法和*** | |
CN110602688B (zh) | 终端软件升级方法和升级*** | |
CN111417112B (zh) | 一种分布式ota网关组网及终端接入方法及ota升级*** | |
CN112422565A (zh) | 消息处理方法、装置和存储介质及电子装置 | |
CN111866856A (zh) | Mesh设备的控制方法和***、存储介质及电子装置 | |
CN113993122B (zh) | Nb-iot终端、通信方法以及通信*** | |
CN108964989B (zh) | 与业务平台连接的方法、装置及计算机可读存储介质 | |
CN112596763A (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 |