CN115993984A - 一种固件升级方法、固件升级系统、电子设备及存储介质 - Google Patents
一种固件升级方法、固件升级系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115993984A CN115993984A CN202310153079.0A CN202310153079A CN115993984A CN 115993984 A CN115993984 A CN 115993984A CN 202310153079 A CN202310153079 A CN 202310153079A CN 115993984 A CN115993984 A CN 115993984A
- Authority
- CN
- China
- Prior art keywords
- upgrading
- firmware
- data packet
- upgrade
- slave device
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
本申请提供了一种固件升级方法、固件升级系统、电子设备及存储介质,所述固件升级方法包括:智能终端当检测到与主设备之间处于蓝牙连接状态,且主设备与从设备之间处于蓝牙连接状态时,查询主设备的第一固件版本号和从设备的第二固件版本号;当第一固件版本号与第一云端版本号不一致且第二固件版本号与第二云端版本号不一致时,则认为蓝牙设备需要进行固件升级;响应于固件升级指令,与主设备之间断开蓝牙连接,并与从设备之间建立蓝牙连接;向从设备发送第一升级数据包,以使从设备采用第一升级数据包进行升级。根据所述方法和系统,不仅可以减少固件升级时间,而且不容易丢失升级数据包,且升级更稳定,可以节省从设备固件的升级时间。
Description
技术领域
本申请涉及通信与计算机技术领域,具体而言,涉及一种固件升级方法、固件升级系统、电子设备及存储介质。
背景技术
蓝牙是一种无线通信技术标准,可以实现固定设备、移动设备和个人局域网之间的短距离数据交换。在实际应用过程中,为了改善蓝牙设备的性能,往往需要对蓝牙设备的系统进行升级。
目前,在对蓝牙主从设备中的从设备进行固件升级时会通过主设备转发升级数据,智能终端发送升级数据给主设备,主设备再发送升级数据给从设备。但是这种升级方法,主设备在转发升级数据给从设备时丢数据概率高,且升级数据多一层主设备中转,路径更长,固件升级的耗时较长。
发明内容
有鉴于此,本申请的目的在于提供一种固件升级方法、固件升级系统、电子设备及存储介质,在主从蓝牙设备需要进行固件升级时,首先进行从设备的固件升级,智能终端断开与主设备的连接,智能终端连接从设备发送数据进行固件升级,不仅可以减少固件升级时间,而且不容易丢失升级数据包,且升级更稳定,可以节省从设备固件的升级时间。
第一方面,本申请实施例提供了一种固件升级方法,所述固件升级方法应用于智能终端,所述固件升级方法包括:
在开始固件升级之前,检测与蓝牙设备中的主设备的连接关系,以及所述主设备与所述蓝牙设备中的从设备之间的连接关系;
当检测到与所述主设备之间处于蓝牙连接状态,且所述主设备与所述从设备之间处于蓝牙连接状态时,查询所述主设备的第一固件版本号和所述从设备的第二固件版本号;
当所述第一固件版本号与第一云端版本号不一致且所述第二固件版本号与第二云端版本号不一致时,则认为所述蓝牙设备需要进行固件升级;
响应于固件升级指令,与所述主设备之间断开蓝牙连接,并与所述从设备之间建立蓝牙连接;
向所述从设备发送第一升级数据包,以使所述从设备采用所述第一升级数据包进行升级。
进一步的,所述向所述从设备发送第一升级数据包,包括:
向所述从设备发送第一固件升级通知;
当接收到所述从设备返回的第一确认升级消息时,从所述第一确认升级消息中确定出第一单包数据长度;
根据所述第一单包数据长度将所述第一升级数据包拆分为多个第一升级子数据包;其中,所述第一升级子数据包的大小小于或等于所述第一单包数据长度;
当接收到所述从设备发送的固件升级请求时,将所述多个第一升级子数据包依次发送给所述从设备。
进一步的,所述将所述多个第一升级子数据包依次发送给所述从设备,包括:
将所述多个第一升级子数据包中的第一个第一升级子数据包确定为目标第一升级子数据包,并将所述目标第一升级子数据包发送给所述从设备,并监听是否接收到所述从设备反馈的接收信息;
若是,则将所述多个第一升级子数据包中位于所述目标第一升级子数据包之后的下一第一升级子数据包确定为目标第一升级子数据包,返回执行所述将所述目标第一升级子数据包发送给所述从设备的步骤,直至所述多个第一升级子数据包中不存在位于所述目标第一升级子数据包之后的下一第一升级子数据包;
若否,则重新发送所述目标第一升级子数据包,直至接收到所述从设备反馈的接收信息。
进一步的,所述固件升级方法还包括:
当所述从设备升级结束后,与所述从设备之间断开蓝牙连接,并与所述主设备之间建立蓝牙连接;
根据所述主设备所支持的第二单包数据长度向所述主设备发送第二升级数据包,以使所述主设备采用所述第二升级数据包进行升级。
进一步的,所述固件升级方法还包括:
当检测到与所述从设备之间处于蓝牙连接状态时,查询所述从设备的第二固件版本号;
当所述第二固件版本号与所述第二云端版本号不一致时,则认为所述从设备需要进行固件升级;
响应于所述固件升级指令,根据所述从设备所支持的第一单包数据长度向所述从设备发送所述第一升级数据包,以使所述从设备采用所述第一升级数据包进行升级。
第二方面,本申请实施例还提供了一种固件升级方法,所述固件升级方法应用于蓝牙设备中的从设备,所述固件升级方法包括:
当接收到智能终端发送的建立请求时,与所述智能终端建立蓝牙连接;
接收所述智能终端发送的第一升级数据包,并采用所述第一升级数据包进行升级。
第三方面,本申请实施例还提供了一种固件升级方法,所述固件升级方法应用于蓝牙设备中的主设备,所述固件升级方法包括:
当接收到智能终端发送的建立请求时,与所述智能终端建立蓝牙连接;
接收所述智能终端发送的第二升级数据包,并采用所述第二升级数据包进行升级。
第四方面,本申请实施例还提供了一种固件升级系统,所述固件升级系统包括智能终端、蓝牙设备中的主设备和从设备;
所述智能终端,用于在开始固件升级之前,检测与所述蓝牙设备中的所述主设备的连接关系,以及所述主设备与所述蓝牙设备中的所述从设备之间的连接关系,当检测到与所述主设备之间处于蓝牙连接状态,且所述主设备与所述从设备之间处于蓝牙连接状态时,查询所述主设备的第一固件版本号和所述从设备的第二固件版本号,当所述第一固件版本号与第一云端版本号不一致且所述第二固件版本号与第二云端版本号不一致时,则认为所述蓝牙设备需要进行固件升级,响应于固件升级指令,与所述主设备之间断开蓝牙连接,并与所述从设备之间建立蓝牙连接,向所述从设备发送第一升级数据包,以使所述从设备采用所述第一升级数据包进行升级;
所述从设备,用于当接收到所述智能终端发送的建立请求时,与所述智能终端建立蓝牙连接,接收所述智能终端发送的第一升级数据包,并采用所述第一升级数据包进行升级;
所述主设备,用于当接收到所述智能终端发送的建立请求时,与所述智能终端建立蓝牙连接,接收所述智能终端发送的第二升级数据包,并采用所述第二升级数据包进行升级。
第五方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的固件升级方法的步骤。
第六方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的固件升级方法的步骤。
本申请实施例提供的固件升级方法和固件升级系统,智能终端当检测到与主设备之间处于蓝牙连接状态,且主设备与从设备之间处于蓝牙连接状态时,查询所述主设备的第一固件版本号和所述从设备的第二固件版本号;当所述第一固件版本号与第一云端版本号不一致且所述第二固件版本号与第二云端版本号不一致时,则认为所述蓝牙设备需要进行固件升级;响应于固件升级指令,与所述主设备之间断开蓝牙连接,并与所述从设备之间建立蓝牙连接;向所述从设备发送第一升级数据包,以使所述从设备采用所述第一升级数据包进行升级。这样,在主从蓝牙设备需要进行固件升级时,首先进行从设备的固件升级,智能终端断开与主设备的连接,智能终端连接从设备发送数据进行固件升级,不仅可以减少固件升级时间,而且不容易丢失升级数据包,且升级更稳定,可以节省从设备固件的升级时间。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例所提供的一种固件升级方法的流程图之一;
图2为本申请实施例所提供的一种固件升级方法的流程图之二;
图3为本申请实施例所提供的一种固件升级方法的流程图之三;
图4为本申请实施例所提供的一种固件升级系统的结构示意图;
图5为本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。
首先,对本申请可适用的应用场景进行介绍。本申请可应用于通信与计算机技术领域。
蓝牙是一种无线通信技术标准,可以实现固定设备、移动设备和个人局域网之间的短距离数据交换。在实际应用过程中,为了改善蓝牙设备的性能,往往需要对蓝牙设备的系统进行升级。
经研究发现,目前,在对蓝牙主从设备中的从设备进行固件升级时会通过主设备转发升级数据,智能终端发送升级数据给主设备,主设备再发送升级数据给从设备。但是这种升级方法,主设备在转发升级数据给从设备时丢数据概率高,且升级数据多一层主设备中转,路径更长,固件升级的耗时较长。
基于此,本申请实施例提供了一种固件升级方法,不仅可以减少固件升级时间,而且不容易丢失升级数据包,且升级更稳定,可以节省从设备固件的升级时间。
请参阅图1,图1为本申请实施例所提供的一种固件升级方法的流程图之一。如图1中所示,本申请实施例提供的固件升级方法应用于智能终端,包括:
S101,在开始固件升级之前,检测与蓝牙设备中的主设备的连接关系,以及所述主设备与所述蓝牙设备中的从设备之间的连接关系。
针对上述步骤S101,在具体实施时,在开始固件升级之前,智能终端首先检测自身与蓝牙设备中的主设备的连接关系,以及蓝牙设备中的主设备与蓝牙设备中的从设备之间的连接关系。
根据本申请提供的实施例,智能终端可以是手机或平板电脑等终端,蓝牙设备为食物探针设备,探针设备由两个蓝牙设备组成:盒子和探针。其中盒子是主设备,盒子可以被智能终端连接,也可以作为主设备主动去连接探针;探针是从设备,只能被智能终端或者盒子连接。在食物探针设备中,主设备盒子是从设备探针的信号放大器,可以让探针的蓝牙信号发送的更远。因此食物探针设备真正执行设备功能的只有探针。作为智能终端来说也是和探针进行业务交互。作为智能终端来说,它可以连接的探针设备有三种,一种是智能终端连接盒子,盒子连接探针的探针套装,另一种是智能终端直连探针,最后一种是智能终端连接盒子,盒子没有连接探针,即直连盒子,这种称为单盒。虽然智能终端可以连接单盒,但是智能终端和单盒并没有功能业务交互,智能终端不关注单盒。因此对食物探针设备的固件升级只考虑上述第一种的套装情况和上述的第二种单针的情况。在步骤S101-步骤S105中主要以对套装情况进行固件升级为例。
S102,当检测到与所述主设备之间处于蓝牙连接状态,且所述主设备与所述从设备之间处于蓝牙连接状态时,查询所述主设备的第一固件版本号和所述从设备的第二固件版本号。
需要说明的是,第一固件版本号指的是蓝牙设备中的主设备当前的固件版本号,第二固件版本号指的是蓝牙设备中的从设备当前的固件版本号。
针对上述步骤S102,在具体实施时,当智能终端检测到自身与主设备之间处于蓝牙连接状态,且主设备与从设备之间处于蓝牙连接状态时,查询主设备的第一固件版本号和从设备的第二固件版本号。根据本申请提供的实施例,当蓝牙设备为食物探针设备时,智能终端检测到自身与盒子之间处于蓝牙连接状态,且盒子与探针之间处于蓝牙连接状态时,查询盒子的第一固件版本号和探针的第二固件版本号。
S103,当所述第一固件版本号与第一云端版本号不一致且所述第二固件版本号与第二云端版本号不一致时,则认为所述蓝牙设备需要进行固件升级。
需要说明的是,第一云端版本号指的是云端中主设备最新的固件版本号,第二云端版本好指的是云端中从设备最新的固件版本好。
针对上述步骤S103,在具体实施时,当主设备的第一固件版本号与云端中主设备最新的固件版本号不一致,且从设备的第二固件版本号与云端中从设备最新的固件版本号不一致时,则认为该蓝牙设备需要进行固件升级。
S104,响应于固件升级指令,与所述主设备之间断开蓝牙连接,并与所述从设备之间建立蓝牙连接。
需要说明的是,固件升级指令指的是智能终端接收到的,用于指示进行固件升级的指令。
针对上述步骤S104,在具体实施时,智能终端检测到蓝牙设备的固件版本号与云端中的固件版本号不一致时,则提示智能终端的用户需要进行固件升级。固件升级有等级类型:普通升级等级和强制升级等级。普通升级只需提示用户,用户根据需要升级固件,当用户在智能终端中选择升级固件时,则智能终端响应用户的固件升级指令;强制升级强制用户升级,否则无法使用设备相关功能,智能终端自动生成固件升级指令。在智能终端响应于固件升级指令时,智能终端与主设备之间断开蓝牙连接,并与从设备之间建立蓝牙连接。这里,根据本申请提供的实施例,蓝牙设备的从设备固件升级采用断开主设备直连从设备进行快速固件升级,这样可以减少固件升级时间,不容易丢失升级数据包,且升级更稳定,并且可以节省从设备固件的升级时间。
S105,向所述从设备发送第一升级数据包,以使所述从设备采用所述第一升级数据包进行升级。
需要说明的是,第一升级数据包指的是云端中存储的用于升级从设备的数据包。
针对上述步骤S105,在具体实施时,智能终端与从设备建立蓝牙连接后,智能终端从云端中下载用于升级从设备的第一升级数据包,并向从设备发送第一升级数据包,以使从设备采用第一升级数据包进行升级。
具体的,针对于上述步骤S105,所述向所述从设备发送第一升级数据包,包括:
步骤1051,向所述从设备发送第一固件升级通知。
步骤1052,当接收到所述从设备返回的第一确认升级消息时,从所述第一确认升级消息中确定出第一单包数据长度。
步骤1053,根据所述第一单包数据长度将所述第一升级数据包拆分为多个第一升级子数据包。
步骤1054,当接收到所述从设备发送的固件升级请求时,将所述多个第一升级子数据包依次发送给所述从设备。
需要说明的是,第一固件升级通知指的是用于通知从设备进行固件升级的通知。第一确认升级消息指的是从设备接收到第一固件升级通知后返回给智能终端的确定消息,从设备返回的第一确认升级消息中携带有从设备所支持的单包数据最大长度。第一单包数据长度指的是从设备所支持的单包数据的最大长度。基于第一单包数据长度将第一升级数据包进行拆分即可得到第一升级子数据包,其中,第一升级子数据包的大小小于或等于第一单包数据长度。
针对上述步骤1051-步骤1054,在具体实施时,智能终端确认进行固件升级后,向从设备发送第一固件升级通知,当接收到从设备基于第一固件升级通知返回的第一确认升级消息时,从第一确认升级消息中确定出从设备支持的第一单包数据长度。然后根据第一单包数据长度将第一升级数据包拆分为多个第一升级子数据包,并当接收到从设备发送的固件升级请求后,将多个第一升级子数据包依次发送给从设备,以使从设备根据多个第一升级子数据包进行升级。这里,根据本申请提供的实施例,在进行蓝牙设备固件升级时,从设备根据能够处理的最佳字节长度主动向智能终端发送升级请求,智能终端在接收到从设备发送的升级请求后再向从设备发送升级数据包,这样可以适配不同性能的芯片。
具体的,针对于上述步骤1054,所述将所述多个第一升级子数据包依次发送给所述从设备,包括:
步骤10541,将所述多个第一升级子数据包中的第一个第一升级子数据包确定为目标第一升级子数据包,并将所述目标第一升级子数据包发送给所述从设备,并监听是否接收到所述从设备反馈的接收信息。
步骤10542,若是,则将所述多个第一升级子数据包中位于所述目标第一升级子数据包之后的下一第一升级子数据包确定为目标第一升级子数据包,返回执行所述将所述目标第一升级子数据包发送给所述从设备的步骤,直至所述多个第一升级子数据包中不存在位于所述目标第一升级子数据包之后的下一第一升级子数据包。
步骤10543,若否,则重新发送所述目标第一升级子数据包,直至接收到所述从设备反馈的接收信息。
针对上述步骤10541-步骤10543,在具体实施时,智能终端将多个第一升级子数据包中的第一个第一升级子数据包确定为目标第一升级子数据包,并将该目标第一升级子数据包发送给从设备,并监听是否接收到从设备反馈的接收信息。若接收到了从设备反馈的接收信息,则执行上述步骤10542,将多个第一升级子数据包中位于目标第一升级子数据包之后的下一第一升级子数据包确定为目标第一升级子数据包,返回执行上述步骤10541中将所述目标第一升级子数据包发送给所述从设备的步骤,直至多个第一升级子数据包中不存在位于目标第一升级子数据包之后的下一第一升级子数据包,则是所有的第一升级子数据包均已发送给从设备。若没有接收到从设备反馈的接收信息,则重新发送目标第一升级子数据包,直至接收到从设备反馈的接收信息。
根据本申请实施例所提供的固件升级方法,所述固件升级方法还包括:
A,当所述从设备升级结束后,与所述从设备之间断开蓝牙连接,并与所述主设备之间建立蓝牙连接。
B,根据所述主设备所支持的第二单包数据长度向所述主设备发送第二升级数据包,以使所述主设备采用所述第二升级数据包进行升级。
需要说明的是,第二单包数据长度指的是主设备所支持的单包数据的最大长度。第二升级数据包指的是云端中存储的用于升级主设备的数据包。
针对上述步骤A-步骤B,在具体实施时,在从设备固件升级成功后,智能终端与从设备之间断开蓝牙连接,并与主设备之间建立蓝牙连接。然后智能终端根据主设备所支持的第二单包数据长度向主设备发送第二升级数据包,以使主设备采用第二升级数据包进行升级。
进一步的,针对于上述步骤B,所述根据所述主设备所支持的第二单包数据长度向所述主设备发送第二升级数据包,包括:
向所述主设备发送第二固件升级通知;当接收到所述主设备返回的第二确认升级消息时,从所述第二确认升级消息中确定出所述第二单包数据长度;根据所述第二单包数据长度将所述第二升级数据包拆分为多个第二升级子数据包;其中,所述第二升级子数据包的大小小于或等于所述第二单包数据长度;当接收到所述主设备发送的固件升级请求时,将所述多个第二升级子数据包依次发送给所述主设备。
针对上述几个步骤,在具体实施时,智能终端确认进行固件升级后,向主设备发送第二固件升级通知,当接收到主设备基于第二固件升级通知返回的第二确认升级消息时,从第二确认升级消息中确定出主设备支持的第二单包数据长度。然后根据第二单包数据长度将第二升级数据包拆分为多个第二升级子数据包,并当接收到主设备发送的固件升级请求后,将多个第二升级子数据包依次发送给主设备,以使主设备根据多个第二升级子数据包进行升级。
进一步的,在具体实施时,所述将所述多个第二升级子数据包依次发送给所述主设备,包括:
将所述多个第二升级子数据包中的第一个第二升级子数据包确定为目标第二升级子数据包,并将所述目标第二升级子数据包发送给所述主设备,并监听是否接收到所述主设备反馈的接收信息;若是,则将所述多个第二升级子数据包中位于所述目标第二升级子数据包之后的下一第二升级子数据包确定为目标第二升级子数据包,返回执行所述将所述目标第二升级子数据包发送给所述主设备的步骤,直至所述多个第二升级子数据包中不存在位于所述目标第二升级子数据包之后的下一第二升级子数据包;若否,则重新发送所述目标第二升级子数据包,直至接收到所述主设备反馈的接收信息。
针对上述几个步骤,在具体实施时,智能终端将多个第二升级子数据包中的第一个第二升级子数据包确定为目标第二升级子数据包,并将该目标第二升级子数据包发送给主设备,并监听是否接收到主设备反馈的接收信息。若接收到了主设备反馈的接收信息,则将多个第二升级子数据包中位于目标第二升级子数据包之后的下一第二升级子数据包确定为目标第二升级子数据包,返回执行将所述目标第二升级子数据包发送给所述主设备的步骤,直至多个第二升级子数据包中不存在位于目标第二升级子数据包之后的下一第二升级子数据包,则是所有的第二升级子数据包均已发送给主设备。若没有接收到主设备反馈的接收信息,则重新发送目标第二升级子数据包,直至接收到主设备反馈的接收信息。
作为一种可选的实施方式,本申请实施例所提供的固件升级方法还包括:
当检测到与所述从设备之间处于蓝牙连接状态时,查询所述从设备的第二固件版本号;当所述第二固件版本号与所述第二云端版本号不一致时,则认为所述从设备需要进行固件升级;响应于所述固件升级指令,根据所述从设备所支持的第一单包数据长度向所述从设备发送所述第一升级数据包,以使所述从设备采用所述第一升级数据包进行升级。
针对上述步骤,在具体实施时,当智能终端检测到仅与从设备之间处于蓝牙连接状态时,查询从设备的第二固件版本号;当第二固件版本号与云端中的第二云端版本号不一致时,则认为从设备需要进行固件升级;响应于固件升级指令,根据从设备所支持的第一单包数据长度向从设备发送第一升级数据包,以使从设备采用第一升级数据包进行升级。这里,对从设备单独进行固件升级的方法与上述步骤S105中从设备进行升级的方法相同,并且能够达到相同的技术效果,在此不再赘述。这里,根据本申请提供的实施例,上述步骤针对于智能终端直连食物探针设备中的探针的情况,单设备的固件升级是通过终端设备与单设备直连直接进行固件升级。
本申请实施例提供的固件升级方法,应用于智能终端,智能终端在开始固件升级之前,检测与蓝牙设备中的主设备的连接关系,以及主设备与所述蓝牙设备中的从设备之间的连接关系;当检测到与主设备之间处于蓝牙连接状态,且主设备与从设备之间处于蓝牙连接状态时,查询所述主设备的第一固件版本号和所述从设备的第二固件版本号;当所述第一固件版本号与第一云端版本号不一致且所述第二固件版本号与第二云端版本号不一致时,则认为所述蓝牙设备需要进行固件升级;响应于固件升级指令,与所述主设备之间断开蓝牙连接,并与所述从设备之间建立蓝牙连接;向所述从设备发送第一升级数据包,以使所述从设备采用所述第一升级数据包进行升级。这样,在主从蓝牙设备需要进行固件升级时,首先进行从设备的固件升级,智能终端断开与主设备的连接,智能终端连接从设备发送数据进行固件升级,不仅可以减少固件升级时间,而且不容易丢失升级数据包,且升级更稳定,可以节省从设备固件的升级时间。
请参阅图2,图2为本申请实施例所提供的一种固件升级方法的流程图之二。如图2中所示,本申请实施例提供的固件升级方法应用于蓝牙设备中的从设备,所述固件升级方法包括:
S201,当接收到智能终端发送的建立请求时,与所述智能终端建立蓝牙连接。
S202,接收所述智能终端发送的第一升级数据包,并采用所述第一升级数据包进行升级。
针对上步骤S201-步骤S202,在具体实施时,当蓝牙设备中的从设备接收到智能终端发送的建立请求时,与智能终端建立蓝牙连接。然后接收智能终端发送的第一升级数据包,并采用第一升级数据包进行升级。
具体的,针对上述步骤S202,所述接收所述智能终端发送的第一升级数据包,包括:
步骤2021,当接收到所述智能终端发送的第一固件升级通知时,向所述智能终端发送第一确认升级消息。
其中,所述第一确认升级消息中携带有所支持的第一单包数据长度。
步骤2022,向所述智能终端发送固件升级请求,依次接收所述智能终端发送后的多个第一升级子数据包。
其中,所述第一升级子数据包的大小小于或等于所述第一单包数据长度。
针对上述步骤2021-步骤2022,在具体实施时,当从设备接收到所述智能终端发送的第一固件升级通知时,向智能终端发送第一确认升级消息,第一确认升级消息中携带有从设备所支持的第一单包数据长度。并向智能终端发送固件升级请求,依次接收智能终端发送后的多个第一升级子数据包,并采用多个第一升级子数据包进行升级。
进一步的,在具体实施时,从设备在接收第一升级子数据包之后,还需要向智能终端反馈关于每个第一升级子数据包的接收信息,以使智能终端在接收到接收信息后向从设备发送下一第一升级子数据包。
本申请实施例提供的固件升级方法,应用于蓝牙设备中的从设备,当接收到智能终端发送的建立请求时,与所述智能终端建立蓝牙连接;然后,接收所述智能终端发送的第一升级数据包,并采用所述第一升级数据包进行升级。这样,在主从蓝牙设备需要进行固件升级时,首先进行从设备的固件升级,智能终端断开与主设备的连接,智能终端连接从设备发送数据进行固件升级,不仅可以减少固件升级时间,而且不容易丢失升级数据包,且升级更稳定,可以节省从设备固件的升级时间。
请参阅图3,图3为本申请实施例所提供的一种固件升级方法的流程图之三。如图3中所示,本申请实施例提供的固件升级方法应用于蓝牙设备中的主设备,所述固件升级方法包括:
S301,当接收到智能终端发送的建立请求时,与所述智能终端建立蓝牙连接。
S302,接收所述智能终端发送的第二升级数据包,并采用所述第二升级数据包进行升级。
针对上步骤S301-步骤S302,在具体实施时,当蓝牙设备中的主设备接收到智能终端发送的建立请求时,与智能终端建立蓝牙连接。然后接收智能终端发送的第二升级数据包,并采用第二升级数据包进行升级。
进一步的,在具体实施时,当主设备接收到智能终端发送的第二固件升级通知时,向智能终端发送第二确认升级消息,第二确认升级消息中携带有主设备所支持的第二单包数据长度。并向智能终端发送固件升级请求,依次接收智能终端发送后的多个第二升级子数据包,并采用多个第二升级子数据包进行升级。
进一步的,在具体实施时,主设备在接收第二升级子数据包之后,还需要向智能终端反馈关于每个第二升级子数据包的接收信息,以使智能终端在接收到接收信息后向主设备发送下一第二升级子数据包。
本申请实施例提供的固件升级方法,应用于蓝牙设备中的主设备,当接收到智能终端发送的建立请求时,与所述智能终端建立蓝牙连接;然后,接收所述智能终端发送的第二升级数据包,并采用所述第二升级数据包进行升级。这样,在主从蓝牙设备需要进行固件升级时,首先进行从设备的固件升级,智能终端断开与主设备的连接,智能终端连接从设备发送数据进行固件升级,不仅可以减少固件升级时间,而且不容易丢失升级数据包,且升级更稳定,可以节省从设备固件的升级时间。
请参阅图4,图4为本申请实施例所提供的一种固件升级系统的结构示意图。如图4中所示,所述固件升级系统400包括智能终端401、蓝牙设备中的主设备402和从设备403;
所述智能终端401,用于在开始固件升级之前,检测与所述蓝牙设备中的所述主设备402的连接关系,以及所述主设备402与所述蓝牙设备中的所述从设备403之间的连接关系,当检测到与所述主设备402之间处于蓝牙连接状态,且所述主设备402与所述从设备403之间处于蓝牙连接状态时,查询所述主设备402的第一固件版本号和所述从设备403的第二固件版本号,当所述第一固件版本号与第一云端版本号不一致且所述第二固件版本号与第二云端版本号不一致时,则认为所述蓝牙设备需要进行固件升级,响应于固件升级指令,与所述主设备402之间断开蓝牙连接,并与所述从设备403之间建立蓝牙连接,向所述从设备403发送第一升级数据包,以使所述从设备403采用所述第一升级数据包进行升级;
所述从设备403,用于当接收到所述智能终端401发送的建立请求时,与所述智能终端401建立蓝牙连接,接收所述智能终端401发送的第一升级数据包,并采用所述第一升级数据包进行升级;
所述主设备402,用于当接收到所述智能终端401发送的建立请求时,与所述智能终端401建立蓝牙连接,接收所述智能终端401发送的第二升级数据包,并采用所述第二升级数据包进行升级。
进一步的,所述智能终端401在用于根据所述从设备所支持的第一单包数据长度向所述从设备403发送第一升级数据包时,所述智能终端401还用于:
向所述从设备403发送第一固件升级通知;
当接收到所述从设备403返回的第一确认升级消息时,从所述第一确认升级消息中确定出第一单包数据长度;
根据所述第一单包数据长度将所述第一升级数据包拆分为多个第一升级子数据包;其中,所述第一升级子数据包的大小小于或等于所述第一单包数据长度;
当接收到所述从设备403发送的固件升级请求时,将所述多个第一升级子数据包依次发送给所述从设备403。
进一步的,所述智能终端401在用于将所述多个第一升级子数据包依次发送给所述从设备403时,所述智能终端401还用于:
将所述多个第一升级子数据包中的第一个第一升级子数据包确定为目标第一升级子数据包,并将所述目标第一升级子数据包发送给所述从设备403,并监听是否接收到所述从设备403反馈的接收信息;
若是,则将所述多个第一升级子数据包中位于所述目标第一升级子数据包之后的下一第一升级子数据包确定为目标第一升级子数据包,返回执行所述将所述目标第一升级子数据包发送给所述从设备403的步骤,直至所述多个第一升级子数据包中不存在位于所述目标第一升级子数据包之后的下一第一升级子数据包;
若否,则重新发送所述目标第一升级子数据包,直至接收到所述从设备403反馈的接收信息。
进一步的,所述智能终端401还用于:
当所述从设备403升级结束后,与所述从设备403之间断开蓝牙连接,并与所述主设备402之间建立蓝牙连接;
根据所述主设备402所支持的第二单包数据长度向所述主设备402发送第二升级数据包,以使所述主设备402采用所述第二升级数据包进行升级。
进一步的,所述智能终端401还用于:
当检测到与所述从设备403之间处于蓝牙连接状态时,查询所述从设备403的第二固件版本号;
当所述第二固件版本号与所述第二云端版本号不一致时,则认为所述从设备403需要进行固件升级;
响应于所述固件升级指令,根据所述从设备403所支持的第一单包数据长度向所述从设备403发送所述第一升级数据包,以使所述从设备403采用所述第一升级数据包进行升级。
请参阅图5,图5为本申请实施例所提供的一种电子设备的结构示意图。如图5中所示,所述电子设备500包括处理器510、存储器520和总线530。
所述存储器520存储有所述处理器510可执行的机器可读指令,当电子设备500运行时,所述处理器510与所述存储器520之间通过总线530通信,所述机器可读指令被所述处理器510执行时,可以执行如上述图1以及图3所示方法实施例中的固件升级方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1以及图3所示方法实施例中的固件升级方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种固件升级方法,其特征在于,所述固件升级方法应用于智能终端,所述固件升级方法包括:
在开始固件升级之前,检测与蓝牙设备中的主设备的连接关系,以及所述主设备与所述蓝牙设备中的从设备之间的连接关系;
当检测到与所述主设备之间处于蓝牙连接状态,且所述主设备与所述从设备之间处于蓝牙连接状态时,查询所述主设备的第一固件版本号和所述从设备的第二固件版本号;
当所述第一固件版本号与第一云端版本号不一致且所述第二固件版本号与第二云端版本号不一致时,则认为所述蓝牙设备需要进行固件升级;
响应于固件升级指令,与所述主设备之间断开蓝牙连接,并与所述从设备之间建立蓝牙连接;
向所述从设备发送第一升级数据包,以使所述从设备采用所述第一升级数据包进行升级。
2.根据权利要求1所述的固件升级方法,其特征在于,所述向所述从设备发送第一升级数据包,包括:
向所述从设备发送第一固件升级通知;
当接收到所述从设备返回的第一确认升级消息时,从所述第一确认升级消息中确定出第一单包数据长度;
根据所述第一单包数据长度将所述第一升级数据包拆分为多个第一升级子数据包;其中,所述第一升级子数据包的大小小于或等于所述第一单包数据长度;
当接收到所述从设备发送的固件升级请求时,将所述多个第一升级子数据包依次发送给所述从设备。
3.根据权利要求2所述的固件升级方法,其特征在于,所述将所述多个第一升级子数据包依次发送给所述从设备,包括:
将所述多个第一升级子数据包中的第一个第一升级子数据包确定为目标第一升级子数据包,并将所述目标第一升级子数据包发送给所述从设备,并监听是否接收到所述从设备反馈的接收信息;
若是,则将所述多个第一升级子数据包中位于所述目标第一升级子数据包之后的下一第一升级子数据包确定为目标第一升级子数据包,返回执行所述将所述目标第一升级子数据包发送给所述从设备的步骤,直至所述多个第一升级子数据包中不存在位于所述目标第一升级子数据包之后的下一第一升级子数据包;
若否,则重新发送所述目标第一升级子数据包,直至接收到所述从设备反馈的接收信息。
4.根据权利要求1所述的固件升级方法,其特征在于,所述固件升级方法还包括:
当所述从设备升级结束后,与所述从设备之间断开蓝牙连接,并与所述主设备之间建立蓝牙连接;
根据所述主设备所支持的第二单包数据长度向所述主设备发送第二升级数据包,以使所述主设备采用所述第二升级数据包进行升级。
5.根据权利要求1所述的固件升级方法,其特征在于,所述固件升级方法还包括:
当检测到与所述从设备之间处于蓝牙连接状态时,查询所述从设备的第二固件版本号;
当所述第二固件版本号与所述第二云端版本号不一致时,则认为所述从设备需要进行固件升级;
响应于所述固件升级指令,根据所述从设备所支持的第一单包数据长度向所述从设备发送所述第一升级数据包,以使所述从设备采用所述第一升级数据包进行升级。
6.一种固件升级方法,其特征在于,所述固件升级方法应用于蓝牙设备中的从设备,所述固件升级方法包括:
当接收到智能终端发送的建立请求时,与所述智能终端建立蓝牙连接;
接收所述智能终端发送的第一升级数据包,并采用所述第一升级数据包进行升级。
7.一种固件升级方法,其特征在于,所述固件升级方法应用于蓝牙设备中的主设备,所述固件升级方法包括:
当接收到智能终端发送的建立请求时,与所述智能终端建立蓝牙连接;
接收所述智能终端发送的第二升级数据包,并采用所述第二升级数据包进行升级。
8.一种固件升级系统,其特征在于,所述固件升级系统包括智能终端、蓝牙设备中的主设备和从设备;
所述智能终端,用于在开始固件升级之前,检测与所述蓝牙设备中的所述主设备的连接关系,以及所述主设备与所述蓝牙设备中的所述从设备之间的连接关系,当检测到与所述主设备之间处于蓝牙连接状态,且所述主设备与所述从设备之间处于蓝牙连接状态时,查询所述主设备的第一固件版本号和所述从设备的第二固件版本号,当所述第一固件版本号与第一云端版本号不一致且所述第二固件版本号与第二云端版本号不一致时,则认为所述蓝牙设备需要进行固件升级,响应于固件升级指令,与所述主设备之间断开蓝牙连接,并与所述从设备之间建立蓝牙连接,向所述从设备发送第一升级数据包,以使所述从设备采用所述第一升级数据包进行升级;
所述从设备,用于当接收到所述智能终端发送的建立请求时,与所述智能终端建立蓝牙连接,接收所述智能终端发送的第一升级数据包,并采用所述第一升级数据包进行升级;
所述主设备,用于当接收到所述智能终端发送的建立请求时,与所述智能终端建立蓝牙连接,接收所述智能终端发送的第二升级数据包,并采用所述第二升级数据包进行升级。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过所述总线进行通信,所述机器可读指令被所述处理器运行时执行如权利要求1至7任一所述的固件升级方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的固件升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310153079.0A CN115993984A (zh) | 2023-02-16 | 2023-02-16 | 一种固件升级方法、固件升级系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310153079.0A CN115993984A (zh) | 2023-02-16 | 2023-02-16 | 一种固件升级方法、固件升级系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115993984A true CN115993984A (zh) | 2023-04-21 |
Family
ID=85990403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310153079.0A Pending CN115993984A (zh) | 2023-02-16 | 2023-02-16 | 一种固件升级方法、固件升级系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115993984A (zh) |
-
2023
- 2023-02-16 CN CN202310153079.0A patent/CN115993984A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11889255B2 (en) | Communication method between earphones and charging box, charging box, earphones and readable storage medium | |
JP2008271097A (ja) | 通信装置およびクライアント装置 | |
CN111884875A (zh) | 一种离线设备确定方法及装置 | |
CN112615700B (zh) | 数据的发送方法、网关、系统、电子设备及可读存储介质 | |
CN111026426A (zh) | 一种直放站的升级方法和装置 | |
CN114143659A (zh) | 耳机数据发送方法、终端设备、主耳机、从耳机及系统 | |
JP6388938B2 (ja) | 発見プローブを介したwi−fiダイレクトサービスの発見 | |
CN115993984A (zh) | 一种固件升级方法、固件升级系统、电子设备及存储介质 | |
CN110933775A (zh) | 一种建立信号连接的方法、装置和电子设备 | |
KR101574767B1 (ko) | 저전력 블루투스 장치 검색 시스템과 제어방법 | |
CN104639356A (zh) | 一种故障恢复方法及设备 | |
EP3065445B1 (en) | Method, cse, and system for transmitting m2m application request | |
US9491132B2 (en) | System and method for providing push service for reducing network loads | |
CN103380593B (zh) | 一种在系统升级过程中对业务进行处理的方法、装置和设备 | |
CN113852938A (zh) | 车载设备通讯方法、车载设备、存储介质及电子装置 | |
CN107454619B (zh) | 无线传感网络中继器异常处理方法及设备 | |
CN108173910B (zh) | 一种管理应用的方法和系统 | |
US20210352765A1 (en) | Communication method, apparatus, and system, storage medium, and terminal | |
CN114423098B (zh) | 多基站的组网方法、多基站网络的通信方法及其相关装置 | |
US20220377837A1 (en) | Master and slave of bluetooth communication system capable of disconnecting connection | |
CN113365325B (zh) | 数据传输方法、装置、存储介质及电子设备 | |
CN115150363B (zh) | Ip地址更新方法、网关设备、网关下挂设备和存储介质 | |
CN111416861B (zh) | 一种通信管理系统和方法 | |
CN113079039B (zh) | 多主机配网的方法、系统、通信主机及存储介质 | |
US20240048990A1 (en) | Bluetooth connection method and system, intelligent terminal, and computer storage medium |
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 |