CN114115939A - 一种固件升级方法、装置、电子设备和存储介质 - Google Patents
一种固件升级方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN114115939A CN114115939A CN202111327167.5A CN202111327167A CN114115939A CN 114115939 A CN114115939 A CN 114115939A CN 202111327167 A CN202111327167 A CN 202111327167A CN 114115939 A CN114115939 A CN 114115939A
- Authority
- CN
- China
- Prior art keywords
- firmware
- upgrading
- node equipment
- node
- upgrade
- 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
-
- 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
- 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
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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供了一种固件升级方法、装置、电子设备和存储介质,该方法包括:通过当前节点设备接收包含版本号的第一固件升级广播消息,第一固件升级广播消息为第一节点设备发送的广播消息,第一节点设备为网关和/或已升级节点设备,若版本号高于当前节点设备中固件的版本号,则向第一节点设备发送第一固件升级请求,第一节点设备在接收到第一固件升级请求后将固件升级数据发送到当前节点设备,接收第一节点设备发送的固件升级数据,采用固件升级数据对固件进行升级。通过网关和/或已升级节点设备对当前节点设备进行固件升级,当前节点设备在升级完成后又能向其他待升级的节点设备发送固件升级数据,实现了固件自动升级,升级速度快、效率高。
Description
技术领域
本发明实施例涉及智能设备技术领域,尤其涉及一种固件升级方法、装置、电子设备和存储介质。
背景技术
Mesh网络即“无线网格网络”,是“多跳(multi-hop)”网络,目前,基于蓝牙Mesh技术的智能设备,尤其是照明相关的,在生活中已随处可见,例如,当人员走过走廊时,所到之处的灯光便会自动开启照明,而已走过的地方的灯光在预设时间后自动关闭,这些智能设备的功能均是由固件的程序来决定的,在智能设备的使用过程中,为了更好地符合使用需求和改进功能,往往需要对固件程序进行升级。
目前主要采用空中下载技术(Over the Air,OTA)对智能设备进行固件升级,OTA是通过移动通信的空中接口实现对移动终端设备进行远程管理的技术。然而,蓝牙技术联盟制定的Mesh OTA标准还未发布,现有厂商的做法是基于普通的低功耗蓝牙(BluetoothLow Energe,BLE)协议,使用手机APP对Mesh设备进行一对一升级。
当Mesh设备数量多、空间分布范围广时,需要技术人员在现场对设备逐个升级,不仅升级速度慢、效率低,还耗费人力。
发明内容
本发明实施例提出了一种固件升级方法、装置、电子设备和存储介质,以解决现有的固件升级方法不仅升级速度慢、效率低,还耗费人力的问题。
第一方面,本发明实施例提供了一种固件升级方法,包括:
当前节点设备接收包含版本号的第一固件升级广播消息,所述第一固件升级广播消息为第一节点设备发送的广播消息,所述第一节点设备为网关和/或已升级节点设备;
判断所述版本号是否高于所述当前节点设备中固件的版本号;
若是,向所述第一节点设备发送第一固件升级请求,所述第一节点设备接收到所述第一固件升级请求后用于将固件升级数据发送到所述当前节点设备;
接收所述第一节点设备发送的所述固件升级数据;
采用所述固件升级数据对固件进行升级。
可选的,在向所述第一节点设备发送第一固件升级请求之前,还包括:
若所述版本号高于所述当前节点设备中固件的版本号的所述第一节点设备的数量为多个,获取与多个所述第一节点设备通信的信号强度;
确定信号强度最强的所述第一节点设备。
可选的,所述向所述第一节点设备发送第一固件升级请求,包括:
向信号强度最强的所述第一节点设备发送第一固件升级请求。
可选的,所述采用所述固件升级数据对固件进行升级,包括:
对所述固件升级数据进行校验;
在所述固件升级数据通过校验时,将所述固件升级数据拷贝到运行区,以在所述当前节点设备重启后以所述固件升级数据运行。
可选的,在采用所述固件升级数据对固件进行升级之后,还包括:
生成第二固件升级广播消息,所述第二固件升级广播消息包括所述当前节点设备的固件升级之后的版本号;
广播所述第二固件升级广播消息。
可选的,在广播所述第二固件升级广播消息之后,还包括:
接收第二节点设备发送的第二固件升级请求,所述第二固件升级请求为所述第二节点设备接收到所述第二固件升级广播消息后所生成的请求;
响应所述第二固件升级请求,将所述固件升级数据发送到所述第二节点设备,所述第二节点设备用于采用所述固件升级数据升级所述第二节点设备的固件。
可选的,所述响应所述第二固件升级请求,将所述固件升级数据发送到所述第二节点设备,包括:
在接收到多个所述第二节点设备发送的第二固件升级请求时,获取与多个所述第二节点设备通信的信号强度;
确定信号强度最强的所述第二节点设备;
响应信号强度最强的所述第二节点设备的第二固件升级请求,将所述固件升级数据发送到所述第二节点设备。
第二方面,本发明实施例还提供了一种固件升级装置,包括:
第一固件升级广播消息接收模块,用于当前节点设备接收包含版本号的第一固件升级广播消息,所述第一固件升级广播消息为第一节点设备发送的广播消息,所述第一节点设备为网关和/或已升级节点设备;
版本号对比模块,用于判断所述版本号是否高于所述当前节点设备中固件的版本号;
固件升级请求发送模块,用于向所述第一节点设备发送第一固件升级请求,所述第一节点设备接收到所述第一固件升级请求后用于将固件升级数据发送到所述当前节点设备;
固件升级数据接收模块,用于接收所述第一节点设备发送的所述固件升级数据;
固件升级模块,用于采用所述固件升级数据对固件进行升级。
可选的,固件升级装置还包括:
第一信号强度获取模块,用于若版本号高于当前节点设备中固件的版本号的第一节点设备的数量为多个,获取与多个第一节点设备通信的信号强度。
第一节点设备确定模块,用于确定信号强度最强的第一节点设备。
在本发明的一个可选实施例中,固件升级请求发送模块包括:
固件升级请求发送子模块,用于向信号强度最强的第一节点设备发送第一固件升级请求。
可选的,固件升级模块包括:
固件升级数据校验子模块,用于对固件升级数据进行校验。
固件升级子模块,用于在固件升级数据通过校验时,将固件升级数据拷贝到运行区,以在当前节点设备重启后、以固件升级数据运行。
可选的,固件升级装置还包括:
第二固件升级广播消息生成模块,用于生成第二固件升级广播消息,第二固件升级广播消息包括当前节点设备的固件升级之后的版本号。
第二固件升级广播消息发送模块,用于广播第二固件升级广播消息。
可选的,固件升级装置还包括:
第二固件升级请求接收模块,用于接收第二节点设备发送的第二固件升级请求,第二固件升级请求为第二节点设备接收到第二固件升级广播消息后所生成的请求。
固件升级数据发送模块,用于响应第二固件升级请求,将固件升级数据发送到第二节点设备,第二节点设备用于采用固件升级数据升级第二节点设备的固件。
可选的,固件升级数据发送模块包括:
第二信号强度获取子模块,用于在接收到多个第二节点设备发送的第二固件升级请求时,获取与多个第二节点设备通信的信号强度。
第二节点设备确定子模块,用于确定信号强度最强的第二节点设备。
固件升级数据发送子模块,用于响应信号强度最强的第二节点设备的第二固件升级请求,将固件升级数据发送到第二节点设备。
第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的固件升级方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有程序,所述程序被处理器执行时实现如第一方面所述的固件升级方法。
本发明实施例用于升级蓝牙Mesh网络中节点设备的固件,通过当前节点设备接收包含版本号的第一固件升级广播消息,第一固件升级广播消息为第一节点设备发送的广播消息,第一节点设备为网关和/或已升级节点设备,判断版本号是否高于当前节点设备中固件的版本号,若是,向第一节点设备发送第一固件升级请求,第一节点设备接收到第一固件升级请求后用于将固件升级数据发送到当前节点设备,当前节点设备接收到第一节点设备发送的固件升级数据后,采用固件升级数据对固件进行升级。通过网关和/或已升级节点设备广播固件升级广播消息来对当前节点设备进行固件升级,当前节点设备在升级完成后变为已升级节点设备以继续向其他待升级的节点设备广播固件升级消息来对其他待升级节点设备升级,无需使用手机APP对Mesh网络中的节点设备进行一对一升级,在对一个节点设备升级后即可以实现其他节点设备自动升级固件,无需人工监管,不仅升级速度快、效率高,还节约人力。
附图说明
图1为本发明实施例一提供的一种固件升级方法的流程图;
图2为本发明实施例二提供的一种固件升级方法的流程图;
图3是本发明实施例二提供的一种固件升级系统的结构示意图;
图4为本发明实施例三提供的一种固件升级装置的结构示意图;
图5为本发明实施例四提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种固件升级方法的流程图,本实施例可适用于升级蓝牙Mesh网络中节点设备的固件的情况,该方法可以由固件升级装置来执行,该固件升级装置可以由软件和/或硬件实现,可配置在蓝牙Mesh网络的节点设备中,该固件升级方法具体可以包括如下步骤:
S101、当前节点设备接收包含版本号的第一固件升级广播消息,第一固件升级广播消息为第一节点设备发送的广播消息,第一节点设备为网关和/或已升级节点设备。
蓝牙Mesh网络是用于建立多对多(many:many)设备通信的低能耗蓝牙(BluetoothLow Energy,BLE)新的网络拓扑,网络可以包含数十台,数百甚至数千台蓝牙Mesh设备,这些设备之间可以在通信范围内相互进行信息的传递,尤其是针对于设备数量众多、范围分布广的应用场景。
节点设备为蓝牙Mesh网状网络中的设备,节点设备可以是具备一定程序处理能力和通讯能力的终端设备,例如可以是智能手机、路由器、网关、智能门锁、智能灯等。
节点设备的功能和性能取决于其配置的固件,而随着节点设备所使用的软、硬件环境的改变及用户需求的更新,在使用节点设备的过程中,往往会有固件升级的需求。固件升级是指把新的版本的固件写入节点设备的芯片中,代替原有的固件的过程。一般地,不同的固件的版本号不同,固件的版本号可以基于固件的版本或发布时间等来命名,以区分新旧版本的固件,在本实施例中,新版本固件的版本号高于旧版本固件的版本号。
在升级当前节点设备的固件时,当前节点设备接收包含版本号的第一固件升级广播消息,第一固件升级广播消息为第一节点设备发送的广播消息,其中,第一节点设备可以包括网关、手机和已升级节点设备中的至少一种,第一节点设备可以通过OTA预先获取固件升级数据以及固件的版本号。在本实施例中,为了自动对蓝牙Mesh网络中的节点设备进行固件升级,第一节点设备可以以预设周期发送包含固件的版本号的广播消息,示例性地,预设周期可以为1-10s。
S102、判断版本号是否高于当前节点设备中固件的版本号。
通过对比版本号,可以确定当前节点设备中固件是否需要升级,因此,判断第一节点设备广播的版本号是否高于当前节点设备中固件的版本号,若是,表示当前节点设备的固件的版本是较低的版本,则执行S103,若否,表示当前节点设备的固件的版本在当前时期是最新版本,无需固件升级,便可以返回执行步骤S101。
S103、向第一节点设备发送第一固件升级请求,第一节点设备接收到第一固件升级请求后用于将固件升级数据发送到当前节点设备。
若第一节点设备广播的版本号高于当前节点设备中固件的版本号,则确定当前节点设备中固件属于较低版本,需要升级,因此,可以向第一节点设备发送第一固件升级请求。第一节点设备接收到第一固件升级请求后,停止广播通知,同时向当前节点设备返回应答消息,应答消息里包含后续基于BLE传输的加密密钥,以保证固件升级数据传输的安全性,通过BLE连接到当前节点设备后,将固件升级数据发送到当前节点设备。
S104、接收第一节点设备发送的固件升级数据。
节点设备中设置有程序储存芯片,程序储存芯片可以分为备份区和运行区,备份区用于储存数据,运行区用于运行固件程序,节点设备在接收到第一节点设备发送的固件升级数据时,当前节点设备采用密钥进行解密并将解密后的固件升级数据保存在用于储存数据的备份区。
S105、采用固件升级数据对固件进行升级。
在接收完固件升级数据并通过校验算法校验固件升级数据无误后,将备份区的固件升级数据拷贝到运行区,代替原有的固件数据,完成对固件的升级,在当前节点设备重启之后就可以运行最新版本的固件。当前节点设备在固件升级完成后,其本身又可以预设的周期发布包含当前固件的版本号的广播,以对其他固件的版本号较低的待升级节点设备进行升级。
本发明实施例用于升级蓝牙Mesh网络中节点设备的固件,通过当前节点设备接收包含版本号的第一固件升级广播消息,第一固件升级广播消息为第一节点设备发送的广播消息,第一节点设备为网关和/或已升级节点设备,判断版本号是否高于当前节点设备中固件的版本号,若是,向第一节点设备发送第一固件升级请求,第一节点设备接收到第一固件升级请求后用于将固件升级数据发送到当前节点设备,当前节点设备接收到第一节点设备发送的固件升级数据后,采用固件升级数据对固件进行升级。通过网关和/或已升级节点设备广播固件升级广播消息来对当前节点设备进行固件升级,当前节点设备在升级完成后变为已升级节点设备以继续向其他待升级的节点设备广播固件升级消息来对其他待升级节点设备升级,无需使用手机APP对Mesh网络中的节点设备进行一对一升级,在对一个节点设备升级后即可以实现其他节点设备自动升级固件,无需人工监管,不仅升级速度快、效率高,还节约人力。
实施例二
图2为本发明实施例二提供的一种固件升级方法的流程图,本实施例以实施例一为基础进一步优化,该方法具体包括如下步骤:
S201、当前节点设备接收包含版本号的第一固件升级广播消息,第一固件升级广播消息为第一节点设备发送的广播消息,第一节点设备为网关和/或已升级节点设备。
固件升级是指把新的版本的固件写入芯片中,代替原有的固件的过程。节点设备为蓝牙Mesh网状网络中的装置,节点设备可以是具备一定程序处理能力和通讯能力的终端设备,节点设备可以与蓝牙Mesh网络中、通讯范围内的其他节点设备进行通信,在本实施例中,第一节点设备可以包括网关、手机和已升级节点设备中的至少一种。
当第一节点设备为网关或手机时,第一节点设备可以通过OTA从节点设备厂商的官网获取最新版本的固件升级数据并存储于第一节点设备的存储区,此时,第一节点设备发送的第一固件升级广播消息中的版本号对应当前最新版本的固件。
当第一节点设备为已升级节点设备时,已升级节点设备中已经升级完成,则已升级节点设备发送的第一固件升级广播消息中的版本号为自身当前固件的版本号,对于待升级的节点设备来说,该版本号也对应当前最新版本的固件。
一般地,固件的版本号可以基于固件的版本或发布时间等来命名,以区分新旧版本的固件,在本实施例中,新版本固件的版本号高于旧版本固件的版本号,例如,相比于版本号为V1.0.0的固件,版本号为V1.0.1的固件为新版本固件。接收包含版本号的第一固件升级广播消息,以根据版本号判断当前节点设备是否需要固件升级。
另外,本实施例中的节点设备、网关或者手机均可以以预设周期发送包含固件的版本号的广播消息,预设周期可以为1-10s,无需人为对固件升级进行监管,节约了人力资源且提高了固件升级的效率。需要说明的是,节点设备、网关或者手机在工作状态时,一般是一直处于监听状态的,而发送广播消息的功耗是远小于监听状态的功耗,因此,本实施例中的节点设备、网关或者手机以预设周期发送广播消息依然是低功耗运作的。
S202、判断版本号是否高于当前节点设备中固件的版本号。
通过对比版本号,可以确定当前节点设备中固件是否需要升级,因此,可以判断第一节点设备广播的版本号是否高于当前节点设备中固件的版本号,若是执行S203,若否表示当前节点设备的固件的版本在当前时期是最新版本,无需进行固件升级,可返回执行步骤S201。
S203、向第一节点设备发送第一固件升级请求,第一节点设备接收到第一固件升级请求后用于将固件升级数据发送到当前节点设备。
若第一节点设备广播的版本号高于当前节点设备中固件的版本号,则确定当前节点设备中固件属于较低版本,需要升级,因此,可以向第一节点设备发送第一固件升级请求。
在当前节点设备的通讯范围内,除了网关和手机外,还可能存在多个其他的已升级节点设备,每个已升级节点设备均可以发出包含自身固件的版本号的第一固件升级广播消息,因而当前节点设备可能同时接到多个、固件版本号高于当前节点设备固件版本号的第一节点设备发送的第一固件升级广播消息,而当前节点设备只需向一个第一节点设备获取固件升级数据,因此,需要对多个第一节点设备进行筛选。
因此,在本发明的一个可选实施例中,步骤S203包括:在版本号高于当前节点设备中固件的版本号的第一节点设备的数量为多个时,获取与多个第一节点设备通信的信号强度,确定信号强度最强的第一节点设备。
信号强度表示当前设备与第一节点设备的信号强弱,一般来说,由于第一节点设备的器件材料、发射功率和与当前设备的距离等因素不同,会造成第一节点设备与当前节点设备通信时的信号强度不同。当前节点设备与第一节点设备之间通信的信号强度越强,两者通信时的数据传输的速度越快、传输质量越好,因此,可以从多个第一节点设备中确定信号强度最强的第一节点设备,作为向其请求获取固件升级数据的目标设备。
在确定信号强度最强的第一节点设备后,向第一节点设备发送第一固件升级请求。第一节点设备接收到第一固件升级请求后,停止广播通知,同时向当前节点设备返回一条应答消息,应答消息里包含后续基于BLE传输的加密密钥,以保证固件升级数据传输的安全性,通过BLE连接到当前节点设备后,将固件升级数据发送到当前节点设备。
S204、接收第一节点设备发送的固件升级数据。
节点设备中设置有程序储存芯片,程序储存芯片可以分为备份区和运行区,备份区用于储存数据,运行区用于运行固件程序,节点设备在接收到第一节点设备发送的固件升级数据时,当前节点设备采用密钥进行解密并将解密后的固件升级数据保存在用于储存数据的备份区。
S205、采用固件升级数据对固件进行升级。
在接收完固件升级数据后,以当前设备新接收到的固件升级数据替代原有的固件的数据,完成对固件的升级。具体地,可以对备份区的固件升级数据进行校验,在固件升级数据通过校验时,将固件升级数据拷贝到运行区,以在当前节点设备重启后、以固件升级数据运行。
其中,对备份区的固件升级数据进行校验,可以采用信息摘要算法(MD5)、循环校验码(CRC16)等校验算法对第一节点设备发送的固件升级数据和当前节点设备接收到的固件升级数据是否完整一致进行校验,若是,则向第一节点设备返回发送成功的消息,若否,则再次向第一节点设备发送获取固件升级数据的请求。通过校验当前节点设备接收到的固件升级消息,可以确保信息传输完整一致,避免数据传输错误、缺失等导致固件升级失败,提高固件升级的效率。
S206、生成第二固件升级广播消息,第二固件升级广播消息包括当前节点设备的固件升级之后的版本号。
在当前节点设备固件升级完成后,当前节点设备成为已升级节点设备,因其每个节点设备均可以以预设的周期发布包含自身当前固件的版本号的固件升级广播,则当前节点设备在发送第二固件升级广播消息前,可以生成第二固件升级广播消息,第二固件升级广播消息中包含的版本号为当前节点设备的固件升级之后的版本号,即当前时期最新版本的固件的版本号。
S207、广播第二固件升级广播消息。
当前节点设备广播第二固件升级广播消息后,蓝牙Mesh网络中的其他节点设备接收到该第二固件升级广播消息,例如,在当前节点设备的广播范围内的其他节点设备能够接收到当前节点设备广播的第二固件升级广播消息。
S208、接收第二节点设备发送的第二固件升级请求,第二固件升级请求为第二节点设备接收到当前节点设备发送的第二固件升级广播消息后所生成的请求。
具体地,第二节点设备可以是接收到当前节点设备广播的第二固件升级消息的节点设备,第二节点设备在接收到第二固件升级广播消息后,第二节点设备可以判断第二固件升级广播消息中的版本号是否高于自身固件的版本号,若是,则向当前节点设备发送第二固件升级请求,若否,则忽略该广播,继续接收其他节点设备发送的固件升级广播消息。其中,第二节点设备处于当前节点设备通信范围内。
当前设备在接收到第二节点设备发送的第二固件升级请求后,停止广播第二固件升级广播消息。
S209、响应第二固件升级请求,将固件升级数据发送到第二节点设备,第二节点设备用于采用固件升级数据升级第二节点设备的固件。
在当前节点设备的通信范围内可能存在多个处于待升级状态的第二节点设备,每个待升级的第二节点设备均可以向当前节点设备发出的第二固件升级请求,因此,当前节点设备可能同时接到多个第二固件升级请求,当前节点设备可以向一个第二节点设备发送固件升级数据,因此,需要对多个第二节点设备进行筛选。
当前节点设备与第二节点设备之间通信的信号强度越强,两者通信时的数据传输的速度越快、传输质量越好,因此,在本发明的一个可选实施例中,在接收到多个第二节点设备发送的第二固件升级请求时,获取与多个第二节点设备通信的信号强度,确定信号强度最强的第二节点设备,作为向其发送固件升级数据的目标设备。
在确定第二节点设备后,响应第二固件升级请求,向当第二节点设备返回一条应答消息,应答消息里包含后续基于BLE传输的加密密钥,以确保数据传输的安全。在与第二节点设备连接后,将固件升级数据发送到第二节点设备,以对第二节点设备的固件进行升级。
如图3所示,在本实施例的一个可选实施例中,网关或者手机APP下载新的固件之后,可以通过网关GW或者手机APP发出第一固件升级广播消息,第一固件升级广播消息中包含最新版本固件的版本号,待升级节点(节点设备)A在接收到该广播消息后,向网关GW或者手机发出固件升级请求,由网关GW或者手机向节点A发送固件升级数据,离网关GW较近的节点B也可以通过此方式来更升级固件。在节点A和B升级完成后,均可以发布包含自身固件版本号的第二固件升级广播消息,例如待升级的节点E和D接收到节点A的第二固件升级广播消息并同时向节点A发出固件升级请求,节点A便可以根据通信的信号强度先对其中一个节点进行固件升级,而对于节点D来说,可能同时收到节点A和B的第二固件升级广播消息,节点D可以根据通信的信号强度向其中一个节点发送固件升级请求。
本发明实施例用于升级蓝牙Mesh网络中节点设备的固件,通过当前节点设备接收包含版本号的第一固件升级广播消息,第一固件升级广播消息为第一节点设备发送的广播消息,第一节点设备为网关和/或已升级节点设备,判断版本号是否高于当前节点设备中固件的版本号,若是,向第一节点设备发送第一固件升级请求,第一节点设备接收到第一固件升级请求后用于将固件升级数据发送到当前节点设备,当前节点设备接收到第一节点设备发送的固件升级数据后,采用固件升级数据对固件进行升级。通过网关和/或已升级节点设备广播固件升级广播消息来对当前节点设备进行固件升级,当前节点设备在升级完成后变为已升级节点设备以继续向其他待升级的节点设备广播固件升级消息来对其他待升级节点设备升级,无需使用手机APP对Mesh网络中的节点设备进行一对一升级,在对一个节点设备升级后即可以实现其他节点设备自动升级固件,无需人工监管,不仅升级速度快、效率高,还节约人力。
实施例三
图4为本发明实施例三提供的一种固件升级装置的结构框图,具体可以包括如下模块:
第一固件升级广播消息接收模块401,用于当前节点设备接收包含版本号的第一固件升级广播消息,第一固件升级广播消息为第一节点设备发送的广播消息,第一节点设备为网关和/或已升级节点设备。
版本号对比模块402,用于判断版本号是否高于当前节点设备中固件的版本号。
固件升级请求发送模块403,用于向第一节点设备发送第一固件升级请求,第一节点设备接收到第一固件升级请求后用于将固件升级数据发送到当前节点设备。
固件升级数据接收模块404,用于接收第一节点设备发送的固件升级数据。
固件升级模块405,用于采用固件升级数据对固件进行升级。
在本发明的一个可选实施例中,固件升级装置还包括:
第一信号强度获取模块,用于若版本号高于当前节点设备中固件的版本号的第一节点设备的数量为多个,获取与多个第一节点设备通信的信号强度。
第一节点设备确定模块,用于确定信号强度最强的第一节点设备。
在本发明的一个可选实施例中,固件升级请求发送模块403包括:
固件升级请求发送子模块,用于向信号强度最强的第一节点设备发送第一固件升级请求。
在本发明的一个可选实施例中,固件升级模块405包括:
固件升级数据校验子模块,用于对固件升级数据进行校验。
固件升级子模块,用于在固件升级数据通过校验时,将固件升级数据拷贝到运行区,以在当前节点设备重启后、以固件升级数据运行。
在本发明的一个可选实施例中,固件升级装置还包括:
第二固件升级广播消息生成模块,用于生成第二固件升级广播消息,第二固件升级广播消息包括当前节点设备的固件升级之后的版本号。
第二固件升级广播消息发送模块,用于广播第二固件升级广播消息。
在本发明的一个可选实施例中,固件升级装置还包括:
第二固件升级请求接收模块,用于接收第二节点设备发送的第二固件升级请求,第二固件升级请求为第二节点设备接收到第二固件升级广播消息后所生成的请求。
固件升级数据发送模块,用于响应第二固件升级请求,将固件升级数据发送到第二节点设备,第二节点设备用于采用固件升级数据升级第二节点设备的固件。
在本发明的一个可选实施例中,固件升级数据发送模块包括:
第二信号强度获取子模块,用于在接收到多个第二节点设备发送的第二固件升级请求时,获取与多个第二节点设备通信的信号强度。
第二节点设备确定子模块,用于确定信号强度最强的第二节点设备。
固件升级数据发送子模块,用于响应信号强度最强的第二节点设备的第二固件升级请求,将固件升级数据发送到第二节点设备。
本发明实施例所提供的固件升级装置可执行本发明实施例一或实施例二所提供的固件升级方法,具备执行方法相应的功能模块和有益效果。
实施例四
参照图5,示出了本发明一个示例中的一种电子设备的结构示意图。如图5所示,该电子设备具体可以包括:处理器501、存储器502、具有触摸功能的显示屏503、输入装置504、输出装置505以及通信装置506。该电子设备中处理器501的数量可以是一个或者多个,图5中以一个处理器501为例。该电子设备中存储器502的数量可以是一个或者多个,图5中以一个存储器502为例。该电子设备的处理器501、存储器502、显示屏503、输入装置504、输出装置505以及通信装置506可以通过总线或者其他方式连接,图5中以通过总线连接为例。
存储器502作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作装置、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器502可进一步包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
显示屏503为具有触摸功能的显示屏503,其可以是电容屏、电磁屏或者红外屏。一般而言,显示屏503用于根据处理器501的指示显示数据,还用于接收作用于显示屏503的触摸操作,并将相应的信号发送至处理器501或其他装置。
通信装置506,用于与其他设备建立通信连接,其可以是有线通信装置和/或无线通信装置。
输入装置504可用于接收输入的数字或者字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置505可以包括扬声器等音频设备。需要说明的是,输入装置504和输出装置505的具体组成可以根据实际情况设定。
处理器501通过运行存储在存储器502中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述固件升级方法。
具体地,实施例中,处理器501执行存储器502中存储的一个或多个程序时,具体实现本发明实施例提供的固件升级方法。
实施例五
本发明实施例五还提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时可实现本发明任意实施例中的固件升级方法。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明应用于设备上任意实施例所提供的固件升级方法。
需要说明的是,对于装置、电子设备、存储介质实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是个人计算机,电子设备,服务器,或者网络设备等)执行本发明各个实施例所述的固件升级方法。
值得注意的是,上述固件升级装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种固件升级方法,其特征在于,用于升级蓝牙Mesh网络中节点设备的固件,包括:
当前节点设备接收包含版本号的第一固件升级广播消息,所述第一固件升级广播消息为第一节点设备发送的广播消息,所述第一节点设备为网关和/或已升级节点设备;
判断所述版本号是否高于所述当前节点设备中固件的版本号;
若是,向所述第一节点设备发送第一固件升级请求,所述第一节点设备接收到所述第一固件升级请求后用于将固件升级数据发送到所述当前节点设备;
接收所述第一节点设备发送的所述固件升级数据;
采用所述固件升级数据对固件进行升级。
2.根据权利要求1所述的方法,其特征在于,在向所述第一节点设备发送第一固件升级请求之前,还包括:
若所述版本号高于所述当前节点设备中固件的版本号的所述第一节点设备的数量为多个,获取与多个所述第一节点设备通信的信号强度;
确定信号强度最强的所述第一节点设备。
3.根据权利要求2所述的方法,其特征在于,所述向所述第一节点设备发送第一固件升级请求,包括:
向信号强度最强的所述第一节点设备发送第一固件升级请求。
4.根据权利要求1所述的方法,其特征在于,所述采用所述固件升级数据对固件进行升级,包括:
对所述固件升级数据进行校验;
在所述固件升级数据通过校验时,将所述固件升级数据拷贝到运行区,以在所述当前节点设备重启后以所述固件升级数据运行。
5.根据权利要求1-4任一项所述的方法,其特征在于,在采用所述固件升级数据对固件进行升级之后,还包括:
生成第二固件升级广播消息,所述第二固件升级广播消息包括所述当前节点设备的固件升级之后的版本号;
广播所述第二固件升级广播消息。
6.根据权利要求5所述的方法,其特征在于,在广播所述第二固件升级广播消息之后,还包括:
接收第二节点设备发送的第二固件升级请求,所述第二固件升级请求为所述第二节点设备接收到所述第二固件升级广播消息后所生成的请求;
响应所述第二固件升级请求,将所述固件升级数据发送到所述第二节点设备,所述第二节点设备用于采用所述固件升级数据升级所述第二节点设备的固件。
7.根据权利要求6所述的方法,其特征在于,所述响应所述第二固件升级请求,将所述固件升级数据发送到所述第二节点设备,包括:
在接收到多个所述第二节点设备发送的第二固件升级请求时,获取与多个所述第二节点设备通信的信号强度;
确定信号强度最强的所述第二节点设备;
响应信号强度最强的所述第二节点设备的第二固件升级请求,将所述固件升级数据发送到所述第二节点设备。
8.一种固件升级装置,其特征在于,包括:
第一固件升级广播消息接收模块,用于当前节点设备接收包含版本号的第一固件升级广播消息,所述第一固件升级广播消息为第一节点设备发送的广播消息,所述第一节点设备为网关和/或已升级节点设备;
版本号对比模块,用于判断所述版本号是否高于所述当前节点设备中固件的版本号;
固件升级请求发送模块,用于向所述第一节点设备发送第一固件升级请求,所述第一节点设备接收到所述第一固件升级请求后用于将固件升级数据发送到所述当前节点设备;
固件升级数据接收模块,用于接收所述第一节点设备发送的所述固件升级数据;
固件升级模块,用于采用所述固件升级数据对固件进行升级。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一项所述的固件升级方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储程序,所述程序被处理器执行时实现如权利要求1-7中任一项所述的固件升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111327167.5A CN114115939A (zh) | 2021-11-10 | 2021-11-10 | 一种固件升级方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111327167.5A CN114115939A (zh) | 2021-11-10 | 2021-11-10 | 一种固件升级方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114115939A true CN114115939A (zh) | 2022-03-01 |
Family
ID=80378051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111327167.5A Pending CN114115939A (zh) | 2021-11-10 | 2021-11-10 | 一种固件升级方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114115939A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114978906A (zh) * | 2022-05-27 | 2022-08-30 | 深圳市网是互联有限公司 | 基于局域网的智能设备固件升级方法及存储介质 |
CN117640279A (zh) * | 2024-01-26 | 2024-03-01 | 深圳市迈腾电子有限公司 | 一种基于物联网的分布式智能家居控制方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105357255A (zh) * | 2015-09-28 | 2016-02-24 | 成都世纪光合作用科技有限公司 | 一种远程更新方法及系统 |
US20190056924A1 (en) * | 2017-01-12 | 2019-02-21 | Telink Semiconductor (Shanghai) Co., Ltd. | Node upgrading method and system in mesh network |
CN109769239A (zh) * | 2019-03-06 | 2019-05-17 | 乐鑫信息科技(上海)股份有限公司 | 用于对蓝牙Mesh网络中的节点进行OTA固件升级的方法 |
CN110688133A (zh) * | 2019-08-28 | 2020-01-14 | 深圳绿米联创科技有限公司 | 分布式固件升级的方法、系统、装置及电子设备 |
CN111831303A (zh) * | 2020-06-17 | 2020-10-27 | 惠州拓邦电气技术有限公司 | 一种智能锁升级的方法及装置、计算机设备及存储介质 |
-
2021
- 2021-11-10 CN CN202111327167.5A patent/CN114115939A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105357255A (zh) * | 2015-09-28 | 2016-02-24 | 成都世纪光合作用科技有限公司 | 一种远程更新方法及系统 |
US20190056924A1 (en) * | 2017-01-12 | 2019-02-21 | Telink Semiconductor (Shanghai) Co., Ltd. | Node upgrading method and system in mesh network |
CN109769239A (zh) * | 2019-03-06 | 2019-05-17 | 乐鑫信息科技(上海)股份有限公司 | 用于对蓝牙Mesh网络中的节点进行OTA固件升级的方法 |
CN110688133A (zh) * | 2019-08-28 | 2020-01-14 | 深圳绿米联创科技有限公司 | 分布式固件升级的方法、系统、装置及电子设备 |
CN111831303A (zh) * | 2020-06-17 | 2020-10-27 | 惠州拓邦电气技术有限公司 | 一种智能锁升级的方法及装置、计算机设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114978906A (zh) * | 2022-05-27 | 2022-08-30 | 深圳市网是互联有限公司 | 基于局域网的智能设备固件升级方法及存储介质 |
CN114978906B (zh) * | 2022-05-27 | 2024-05-07 | 深圳市网是互联有限公司 | 基于局域网的智能设备固件升级方法及存储介质 |
CN117640279A (zh) * | 2024-01-26 | 2024-03-01 | 深圳市迈腾电子有限公司 | 一种基于物联网的分布式智能家居控制方法及系统 |
CN117640279B (zh) * | 2024-01-26 | 2024-05-07 | 深圳市迈腾电子有限公司 | 一种基于物联网的分布式智能家居控制方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11979274B2 (en) | Network management method and apparatus | |
CN109561118B (zh) | 软件升级方法、装置、系统、存储介质、电子设备及车辆 | |
CN106897086B (zh) | 用于升级机器人操作系统的方法、装置及系统 | |
CN114115939A (zh) | 一种固件升级方法、装置、电子设备和存储介质 | |
KR101383691B1 (ko) | 무선 메쉬 네트워크에서의 협력적 무선 펌웨어 업데이트 장치 및 방법 | |
US20090044191A1 (en) | Method and terminal device for executing scheduled tasks and management tasks | |
CN102118263A (zh) | 配置信息的发布方法及系统 | |
US20150305008A1 (en) | Method and apparatus for updating information regarding specific resource in wireless communication system | |
CN104838618A (zh) | 在无线通信系统中验证访问授权的方法和设备 | |
CN101677439A (zh) | 移动通信终端以及更新其软件的方法 | |
CN103458057A (zh) | 一种获取资源的方法、装置和服务器 | |
CN105049502A (zh) | 一种云端网络管理系统中设备软件更新的方法和装置 | |
CN105306544B (zh) | 一种远程更新方法 | |
CN104978285A (zh) | 功能扩展方法和终端装置 | |
CN105517015A (zh) | 一种wifi产品空中下载OTA升级方法、装置及终端 | |
CN105100021A (zh) | 一种设备管理会话的触发方法、设备及系统 | |
CN112737847B (zh) | 节点升级方法及装置、存储介质及电子装置 | |
CN104902444A (zh) | 一种集群系统的动态重组方法及系统 | |
CN103825937A (zh) | 一种控制嵌入式设备数据更新的方法、设备及系统 | |
CN112671572A (zh) | 智能设备配网的方法、装置、存储介质及电子装置 | |
CN105530323A (zh) | 一种文件升级方法、相关设备及系统 | |
CN104701982A (zh) | 一种用于对配电线路监测终端进行自动升级的方法 | |
US10869172B2 (en) | Management of communication between M2M device and M2M server with finite state transitions created by the M2M device | |
CN115835370A (zh) | 智能设备的配网方法、装置、设备以及介质 | |
WO2016070558A1 (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220301 |
|
RJ01 | Rejection of invention patent application after publication |