一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

控制蓝牙连接的方法及电子设备与流程

2022-02-18 22:43:21 来源:中国专利 TAG:
控制蓝牙连接的方法及电子设备与流程

本申请涉及通信技术领域,尤其涉及一种控制蓝牙连接的方法及电子设备。

背景技术

在蓝牙设备之间建立蓝牙连接之后,由于射频信号强度变化、设备间距离变化或者信号干扰等影响,蓝牙设备之间会发生断开连接的情况,甚至会出现反复断连的问题。

以手机和蓝牙耳机建立蓝牙连接为例,在手机通过蓝牙耳机播放音频声音(例如接听电话或者播放音乐)的场景中,当手机与蓝牙耳机之间的距离处于临界区时,可能会出现反复断连的现象,即断开后又回连,然后又断开,然后又回连,如此反复,这样会导致用户体验差。例如,当手机与蓝牙耳机断连时,蓝牙耳机侧无法输出音频声音,音频声音可能会突然从耳机侧切换到手机侧播放,也可能会在手机侧暂停播放;而当回连成功时,蓝牙耳机通常会响铃提示回连成功,同时音频声音会从手机侧切换到耳机侧播放;当再次断连时,蓝牙耳机侧又无法输出音频声音,如此反复断连,非常影响用户的使用体验,并导致蓝牙设备的功耗增大。



技术实现要素:

本申请提供一种控制蓝牙连接的方法及电子设备,解决了蓝牙设备与手机反复断连而影响用户体验的问题。

为达到上述目的,本申请采用如下技术方案:

第一方面,提供一种控制蓝牙连接的方法,该方法包括:

在第一电子设备和第二电子设备已建立蓝牙连接的情况下,当第S次满足预设断开条件时,第二电子设备断开与第一电子设备之间的蓝牙连接,并响应于蓝牙连接断开命令,周期性地向第一电子设备发送连接请求消息,以请求与第一电子设备重新建立蓝牙连接,S为大于或等于1的预设值;

当第S 1次满足所述预设断开条件时,第二电子设备向第一电子设备发送第一测距广播消息,该第一测距广播消息用于计算第一电子设备和第二电子设备之间的第一距离值,S 1满足预设次数;

当第一距离值满足预设回连条件时,第二电子设备向第一电子设备发送连接请求消息,该连接请求消息中包括第一电子设备的蓝牙标识和/或第二电子设备的蓝牙标识;

第二电子设备接收到第一电子设备根据连接请求消息发送的连接响应消息,与第一电子设备建立蓝牙连接。

通过本申请方案,当第一电子设备与第二电子设备之间蓝牙连接的断开次数达到预设阈值时,第二电子设备发送测距广播,用于测量设备间的当前距离值,然后根据当前距离值是否满足预设回连条件的判断结果来决定是否发起回连:在设备间的当前距离值满足预设回连条件时发起回连,若不满足预设回连条件则不发起回连。与现有技术中一旦发现蓝牙连接断开就周期性的发起回连相比,本申请方案采用有条件尝试回连,可有效地保证设备间的蓝牙连接维持稳定,避免频繁反复尝试连接以及反复断连的现象,提升了用户体验。

在一些实施例中,上述预设断开条件可以为:第一电子设备与第二电子设备之间的信号质量低于预设质量门限,第一电子设备与第二电子设备在第一预设时长内没有通信,或者检测到用户触发蓝牙连接断开的操作;

上述预设回连条件可以为:设备间的距离值小于预设的基准距离值,或者在第二预设时长内设备间的距离值均小于预设的基准距离值,或者设备间的距离值小于预设的基准距离值并且设备间的相对运动趋势为相互靠近,或者在第二预设时长内设备间的距离值均小于预设的基准距离值并且设备间的相对运动趋势为相互靠近。

在一些实施例中,上述方法还包括:当第一电子设备和第二电子设备之间的蓝牙连接首次断开时,第二电子设备启动计时器和计数器,令计数器加1;每当满足预设断开条件时,计数器加1;

其中,上述当第S 1次满足预设断开条件时,第二电子设备向第一电子设备发送第一测距广播消息,包括:

若计时器的累计时长小于预设时长阈值,且第S 1次满足预设断开条件,则第二电子设备向第一电子设备发送第一测距广播消息。

通过本申请方案,当在预设时长内第一电子设备与第二电子设备之间蓝牙连接的断开次数达到预设阈值时,第二电子设备发送测距广播,用于测量设备间的当前距离值,然后根据当前距离值是否满足预设回连条件的判断结果来决定是否发起回连,这样可更准确地判断当前场景为蓝牙连接频繁断开的场景,需要在满足一定条件后再发起回连,以有效地保证设备间的蓝牙连接维持稳定,避免盲目发起回连而导致反复断连的现象,提升了用户体验。

在一些实施例中,上述方法还包括:在第二电子设备通过发送第一测距广播消息,与第一电子设备建立蓝牙连接之后,关闭计时器,并且令计数器清零。

在一些实施例中,上述第一测距广播消息为基于低功耗蓝牙BLE的测距广播消息;

在第二电子设备向第一电子设备发送第一测距广播消息之后,上述方法还包括:

第一电子设备扫描到第一测距广播消息,并根据第一测距广播消息中的接收信号强度指示RSSI值,计算得到第一距离值;

第一电子设备向第二电子设备发送第一距离值;

第二电子设备接收第一电子设备发送的第一距离值。

在一些实施例中,上述方法还包括:当第S 1次满足预设断开条件时,第一电子设备增大扫描占空比;其中,该扫描占空比为单次扫描时间与扫描间隔时间的比值。

在一些实施例中,上述方法还包括:在第一电子设备扫描到第一测距广播消息之后,第一电子设备降低扫描占空比。

在一些实施例中,上述蓝牙标识为设备的蓝牙物理MAC地址。

在一些实施例中,上述方法还包括:获取第一电子设备与第二电子设备之间的临界距离值;并将该临界距离值乘以预设系数,得到预设的所述基准距离值,该预设系数为小于1的正数。

在一些实施例中,上述方法还包括:根据第一电子设备与第二电子设备之间的蓝牙连接性能,确定预设的基准距离值;

其中,上述蓝牙连接性能由第一电子设备的蓝牙性能参数和第二电子设备的蓝牙性能参数共同确定。

在一些实施例中,上述方法还包括:

若第一电子设备和第二电子设备在断开连接之前有音频业务,则确定与有音频业务对应的第一基准距离值,为预设的基准距离值;

或者,若第一电子设备和第二电子设备在断开连接之前没有音频业务,则确定与无音频业务对应的第二基准距离值,为预设的基准距离值。

在一些实施例中,第一基准距离值小于第二基准距离值。

在一些实施例中,上述方法还包括:

在第一电子设备与第二电子设备建立蓝牙连接并通过第二电子设备输出音频信号的情况下,第一电子设备扫描到第三电子设备并与第三电子设备建立蓝牙连接;

当第三电子设备与第一电子设备之间的距离值在第四预设时长内均小于第二电子设备与第一电子设备之间的距离值时,将由第二电子设备输出该音频信号,切换为由第三电子设备输出该音频信号。

第二方面,本申请提供一种控制蓝牙连接的方法,包括:

在第一电子设备和第二电子设备已建立蓝牙连接的情况下,当第M次满足预设断开条件时,第二电子设备断开与第一电子设备之间的蓝牙连接,并向第一电子设备发送第一测距广播消息,第一测距广播消息用于计算第一电子设备和第二电子设备之间的第一距离值,M为大于或等于1的预设值;

当第一距离值满足预设回连条件时,第二电子设备向第一电子设备发送连接请求消息,连接请求消息中包括第一电子设备的蓝牙标识或第二电子设备的蓝牙标识;

第二电子设备接收到第一电子设备根据该连接请求消息发送的连接响应消息,与第一电子设备建立蓝牙连接。

第三方面,本申请提供一种控制蓝牙连接的方法,包括:

在第一电子设备和第二电子设备已建立蓝牙连接的情况下,当第M次满足预设断开条件时,第一电子设备断开与第二电子设备之间的蓝牙连接,并接收第二电子设备发送的第一测距广播消息,第一测距广播消息用于计算第一电子设备和第二电子设备之间的第一距离值,M为大于或等于1的预设值;

第一电子设备接收连接请求消息,向第二电子设备发送连接响应消息,与第二电子设备建立蓝牙连接;

其中,该连接请求消息为第二电子设备在第一距离值满足预设回连条件时发送的连接请求消息,该连接请求消息中包括第一电子设备的蓝牙标识和/或第二电子设备的蓝牙标识。

在一些实施例中,上述预设断开条件为:第一电子设备与第二电子设备之间的信号质量低于预设质量门限,第一电子设备与第二电子设备在第一预设时长内没有通信,或者检测到用户触发蓝牙连接断开的操作;

上述预设回连条件为:设备间的距离值小于预设的基准距离值,或者在第二预设时长内设备间的距离值均小于预设的基准距离值,或者设备间的距离值小于预设的基准距离值并且设备间的相对运动趋势为相互靠近,或者在第二预设时长内设备间的距离值均小于预设的基准距离值并且设备间的相对运动趋势为相互靠近。

第四方面,本申请提供一种控制蓝牙连接的方法,包括:

当在第一预设时长内蓝牙设备与终端设备之间的断连次数超过预设的最大断连次数时,发送测距广播,用于测量蓝牙设备与终端设备之间的第一距离值;

当第一距离值满足预设回连条件时,发起蓝牙设备与终端设备之间的回连;

上述预设回连条件为:设备间的距离值小于预设的基准距离值,或者在第二预设时长内设备间的距离值均小于预设的基准距离值,或者设备间的距离值小于预设的基准距离值并且设备间的相对运动趋势为相互靠近,或者在第二预设时长内设备间的距离值均小于预设的基准距离值并且设备间的相对运动趋势为相互靠近。

其中,上述基准距离值为临界距离值乘以预设系数得到的数值,该预设系数为小于1的正数。

在一些实施例中,所述当第一距离值满足预设回连条件时,发起蓝牙设备与终端设备之间的回连,包括:

当在一定时长阈值内测得的多个距离值均满足预设回连条件时,发起所述蓝牙设备与所述终端设备之间的回连。

在一些实施例中,所述方法还包括:当第一距离值不满足预设回连条件时,不发起蓝牙设备与终端设备之间的回连。

通过本申请方案,当蓝牙设备与终端设备之间的蓝牙连接断开时,蓝牙设备发送测距广播,用于测量设备间的当前距离值,并且蓝牙设备判断当前距离值是否满足预设回连条件,根据判断结果来决定是否发起回连:在设备间的当前距离值满足预设回连条件时发起回连,若不满足预设回连条件则不发起回连。与现有技术中一旦发现蓝牙连接断开就周期性地发起回连相比,本申请方案采用有条件尝试回连,可有效地保证设备间的蓝牙连接维持稳定,避免频繁反复尝试连接以及反复断连的现象,提升了用户体验。

第五方面,本申请提供一种控制蓝牙连接的装置,该装置包括用于执行上述第一方面、第二方面、第三方面或第四方面中的方法的单元。该装置可对应于执行上述第二方面中描述的方法,该装置中的单元的相关描述请参照上述第一方面、第二方面、第三方面或第四方面的描述,为了简洁,在此不再赘述。

其中,上述第一方面、第二方面、第三方面或第四方面描述的方法可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,检测模块或单元、处理模块或单元等。

第六方面,本申请提供一种电子设备,所述电子设备包括处理器,处理器与存储器耦合,存储器用于存储计算机程序或指令,处理器用于执行存储器存储的计算机程序或指令,使得第一方面、第二方面或第三方面中的方法被执行。例如,处理器用于执行存储器存储的计算机程序或指令,使得该装置执行第一方面、第二方面、第三方面或第四方面中的方法。

第七方面,本申请提供一种计算机可读存储介质,其上存储有用于实现第一方面、第二方面或第三方面中的方法的计算机程序(也可称为指令或代码)。例如,该计算机程序被计算机执行时,使得该计算机可以执行第一方面、第二方面、第三方面或第四方面中的方法。

第八方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面、第二方面、第三方面或第四方面及其任意可能的实现方式中的方法。

可选地,所述芯片还包括存储器,存储器与处理器通过电路或电线连接。

第九方面,本申请提供一种芯片系统,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面、第二方面、第三方面或第四方面及其任意可能的实现方式中的方法。

可选地,所述芯片系统还包括存储器,存储器与处理器通过电路或电线连接。

第十方面,本申请提供一种计算机程序产品,所述计算机程序产品包括计算机程序(也可称为指令或代码),所述计算机程序被计算机执行时使得所述计算机实现第一方面、第二方面、第三方面或第四方面中的方法。

可以理解的是,上述第二方面至第十方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

图1为本申请实施例提供的控制蓝牙连接的方法所应用的系统架构示意图;

图2为相关技术中一种控制蓝牙连接的方法的流程示意图;

图3为本申请实施例提供的控制蓝牙连接的方法所应用的场景示意图;

图4为本申请实施例提供的一种控制蓝牙连接的方法的流程示意图;

图5为本申请实施例提供的控制蓝牙连接的方法所应用的场景示意图;

图6为本申请实施例提供的一种控制蓝牙连接的方法的交互流程示意图;

图7为本申请实施例提供的一种控制蓝牙连接的方法中扫描窗口的示意图;

图8为本申请实施例提供的一种控制蓝牙连接的方法中发送端广播窗口以及接收端扫描窗口的示意图;

图9为本申请实施例提供的一种控制蓝牙连接的方法中计算距离以及判断相对运动趋势的流程示意图;

图10为本申请实施例提供的一种控制蓝牙连接的方法中计算距离所涉及的RSSI值的示意图;

图11为本申请实施例提供的一种控制蓝牙连接的装置的结构示意图;

图12为本申请实施例提供的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本文中术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本文中符号“/”表示关联对象是或者的关系,例如A/B表示A或者B。

本文中的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一预设时长和第二预设时长等是用于区别不同的预设时长,而不是用于描述预设时长的特定顺序。

在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。

在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或者两个以上,例如,多个处理单元是指两个或者两个以上的处理单元等;多个元件是指两个或者两个以上的元件等。

图1示出了本申请的各个示例性实施例所涉及的通信系统的架构示意图。如图1所示,通信系统10可以包括终端设备11和蓝牙设备12(称为蓝牙外围设备,下文中简称为蓝牙外设),终端设备11和蓝牙设备12可以通过蓝牙(bluetooth,BT)通信协议建立蓝牙连接并通信。

其中,上述蓝牙通信协议可以为传统蓝牙协议,还可以为低功耗蓝牙(bluetooth low energy,BLE)协议;当然,还可以是未来推出的其他新的蓝牙协议类型。

可选的,终端设备11可以是智能手机、平板电脑、个人数字助理(personal digital assistant,PDA)、电视或智能手表等电子设备。可选的,蓝牙设备12可以包括蓝牙耳机,无线音箱,无线手环,无线车载,无线智能眼镜,无线手表,增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备,媒体播放器(例如MP3、MP4等)、笔记本电脑、PDA、电视或智能手表等支持蓝牙通信协议的电子设备。

本申请实施例对蓝牙设备12和终端设备11的设备类型不予具体限定。为了便于说明,下文中以蓝牙设备12为蓝牙耳机,终端设备11为手机为例进行示例性地说明。

示例性的,以蓝牙设备为蓝牙耳机为例进行说明,蓝牙耳机可以有多种类型,例如可以是耳塞式、入耳式、头戴式、耳罩式或挂耳式蓝牙耳机等。示例性地,蓝牙设备可以为真无线立体声(true wireless stereo,TWS)耳机,也可以为颈带式蓝牙耳机。

在一些实施例中,蓝牙耳机可以支持下述应用中的一种或多种:HSP(headset profile)应用、HFP(hands-free profile)应用、A2DP(advanced audio distribution profile)应用。其中,HSP应用代表耳机应用,提供手机与蓝牙耳机之间通信所需的基本功能,蓝牙耳机可以作为手机的音频输入和输出接口。HFP应用代表免提应用,HFP应用在HSP应用的基础上增加了某些扩展功能,蓝牙耳机可以控制手机的通话过程,例如:接听、挂断、拒接、语音拨号等。A2DP应用为高级音频传送应用,支持传输立体声音频流。

在实际实现时,在蓝牙耳机与终端设备保持蓝牙连接的情况下,用户可以佩戴蓝牙耳机进行听音乐或接/打电话等音频业务。

在上述图1所示的通信系统10中,蓝牙设备与终端设备之间遵循蓝牙协议,实现蓝牙连接及信息交换,并且在终端设备与蓝牙设备首次配对并建立蓝牙连接后,终端设备可以保存该蓝牙设备的相关信息,后续终端设备与蓝牙设备再次建立连接时无需配对,直接自动回连。

下面示例性地说明蓝牙设备与终端设备建立蓝牙连接的具体步骤:蓝牙设备广播消息,终端设备接收到该广播消息,向蓝牙设备发送连接请求消息;蓝牙设备接收该连接请求消息,向终端设备发送响应消息,该响应消息用于指示蓝牙设备确认与终端设备建立蓝牙连接;终端设备接收蓝牙设备发送的响应消息,并根据响应消息,与蓝牙设备通过蓝牙建立无线连接。

其中,该连接请求消息可以包括终端设备的蓝牙标识(例如设备MAC地址),例如终端设备的设备型号可作为终端设备的蓝牙标识。可选的,蓝牙标识可以由系统默认设置,也可以由用户根据需求进行设置。

需要说明的是,连接请求消息还可以包括蓝牙配对码,蓝牙配对码用于在设备间首次蓝牙连接时通过密码配对进行认证,在设备回连时无需进行配对。从用户角度上看,传统的密码配对方式需要在电子设备上输入配对码,当然还可以采用其他配对方式,例如只需要双方确认电子设备屏幕上显示的随机数相同即可,无需输入配密码。

设备间在配对后的再次连接,称为回连。在回连时,无需再次配对。

示例性地,以手机和蓝牙耳机回连为例,蓝牙耳机可以向手机发送寻呼请求(page request),试图回连上手机。手机在接收到该寻呼请求后,可以向蓝牙耳机返回寻呼响应(page response),进而与蓝牙耳机建立蓝牙连接。

在手机通过蓝牙耳机播放音频声音(例如接听电话或者播放音乐)的场景中,手机和蓝牙耳机之间可能会出现断连现象。当手机与蓝牙耳机断连时,蓝牙耳机侧无法输出音频声音,音频声音可能会突然从耳机侧切换到手机侧播放,也可能会在手机侧暂停播放;而当回连成功时,蓝牙耳机通常会响铃提示回连成功,同时音频声音会从手机侧切换到耳机侧播放;当再次断连时,蓝牙耳机侧又无法输出音频声音,如此反复断连,非常影响用户的使用体验,并且蓝牙设备的功耗增大。

当手机和蓝牙耳机之间出现断连现象时,通常的解决方案是,蓝牙耳机会多次尝试与手机回连。参考图2,图2示意性地示出了手机与蓝牙耳机之间出现断连现象的处理方法。如图2所示,该方法可以包括下述的步骤S101-S112。

S101,手机和蓝牙耳机建立蓝牙连接。

S102,在建立蓝牙连接后,手机和蓝牙耳机之间可以处理音频业务。

S103,手机和蓝牙耳机之间连接断开。

这里,蓝牙连接断开可能是由于各种原因造成的,例如当用户佩戴着蓝牙耳机远离手机并超出了最大距离范围时,蓝牙连接会断开。或者,由于物体遮挡或者信号干扰造成用户佩戴的蓝牙耳机与手机之间的信号质量变差,导致蓝牙连接断开。

在蓝牙连接断开之后,如果在预设时长内没有连接成功,那么蓝牙耳机和手机会收到断开原因值:连接超时(connection timeout)。

S104,在蓝牙连接断开后的一段时间(例如2秒)后,蓝牙耳机向手机发起回连。

S105,蓝牙耳机判断是否回连成功,或者在成功回连后是否再次断开。

S106,若连接断开,则在一段时间(例如4秒)后,蓝牙耳机再次向手机发起回连。

S107,蓝牙耳机再次判断回连是否成功,或者在成功回连后是否再次断开。

S108,若连接断开,则在一段时间(例如8秒)后,蓝牙耳机再次向手机发起回连。

以此类推,蓝牙耳机在发起回连失败后,可以等待一定间隔时长(例如递增的间隔时长,2秒,4秒,8秒,16秒,32秒,64秒,128秒等)后再次向手机发起回连。

S109,蓝牙耳机再次判断回连是否成功,或者在成功回连后是否再次断开。

S110,若连接断开,则在一段时间(例如128秒)后,蓝牙耳机再次向手机发起回连。

S111,蓝牙耳机再次判断回连是否成功。

S112,若回连失败,则蓝牙耳机停止发起回连。

上述解决方案中,只要回连失败或者回连成功后连接异常断开,蓝牙耳机就会连续周期性地发起回连,如此多次频繁尝试回连,严重影响用户体验。

对于基于BLE蓝牙发起回连的情况,通常由蓝牙外设对应的应用(application,APP)主动发起连接,在发起连接之前都会下发过滤信息,过滤信息里会携带设备发现的接收信号强度指示(received signal strength indication,RSSI)门限值,用于扫描所预期的设备,低于该RSSI门限值的设备将会被滤除。示例性地,某靠近发现APP中RSSI门限值被设置为-87dBm。由于维持BLE蓝牙的异步无连接(asynchronous connectionless,ACL)链路所需要的信号质量通常要高于收到信令消息的信号质量,因此当信号强度值高于该门限值时,设备广播包才会上报给APP,APP才会发起连接。其中,门限值为经验值,对于不同芯片而言可能是不同的,对于某些芯片可能适配,某些芯片平台可能不适配,这样就会存在一个临界区(或者称为临界距离范围)。如果设备处于临界区中,那么就会出现反复断连的问题,进而会导致频繁唤醒APP引起功耗大的问题。

对于基于经典蓝牙(例如基础速率(basic rate,BR)蓝牙)发起回连的情况,由于蓝牙外设已知对端设备,通常不考虑信号质量,直接发起连接。如果满足条件就发起连接,如果不满足条件就会连接断开,因此蓝牙连接所占据的空口资源比较高,会干扰设备正在进行的其他业务。同样,如果设备处于临界区中,就会出现反复断连的问题,进而会导致频繁唤醒APP的功耗问题以及出声行为异常问题。

在手机通过蓝牙耳机播放音频声音的场景中,蓝牙耳机与手机之间的距离可能处于临界点(也称为乒乓点)或者临界距离范围,此时可能会出现反复断连的现象,即断开后又回连,然后又断开,然后又回连,如此反复。本申请提供的方案应用于上述多次频繁回连的场景,并旨在解决设备间反复断连的问题。

图3示出了手机11与蓝牙耳机12之间的不同距离以及临界距离范围的示意图。如图3所示,手机11与蓝牙耳机12之间的距离值由近及远依次为X1,X2和X3。其中,当距离值X1在最大距离范围内时,手机11与蓝牙耳机12之间可以保持正常的蓝牙连接,不会出现反复断连的现象。当距离值X2在临界距离范围内时,手机11与蓝牙耳机12之间的蓝牙连接会出现反复断连的现象。当距离值X3在预设距离范围之外且不在临界距离范围内时,手机11与蓝牙耳机12之间由于距离太远导致无法回连,即连接失败,在此情况下不会出现反复断连的现象。

其中,最大距离范围是可以支持设备之间连接或回连的距离范围,例如(0,10米]。临界距离范围是最大距离范围中靠近边缘的一部分区域,例如[9米,11米]。在临界距离范围处,设备之间的蓝牙连接不稳定,可能会出现一会断开后一会又回连,反复断连。其中,最大距离范围可能覆盖临界距离范围的全部,也可能覆盖临界距离范围的一部分。需要说明的是,图3中临界距离范围和最大距离范围为示意性的图示,具体临界距离范围的数值大小可以根据实际情况确定,本申请实施例对此不作限定。

鉴于此,本申请提供了一种控制蓝牙连接的方法,针对反复断连的场景,先获取到临界距离值,然后根据临界距离值确定出对应稳态连接的基准距离值,进而判断设备间的当前距离值是否小于基准距离值,根据判断结果来决定是否发起回连:在设备间的当前距离值小于基准距离值才发起回连,在设备间的当前距离值大于基准距离值不发起回连,使得设备间的蓝牙连接维持稳定,避免出现反复断连。

在本申请方案中,当用户佩戴着蓝牙耳机处于临界距离范围内时,会出现反复断连的现象,如果处于临界距离范围内,那么没有必要多次频繁尝试回连。只有当用户佩戴着蓝牙耳机在手机的最大距离范围内但不在临界距离范围内时,也就是说此时蓝牙耳机处于手机的稳定连接范围内,蓝牙耳机才会向手机发起回连。由于在此稳定连接范围内设备之间的蓝牙连接状态可以保持稳定且不易出现频繁断连现象,因此,蓝牙耳机可以在距离条件满足时向手机发起回连,以保证回连后保持稳定连接,提升用户体验感。

本发明实施例提供的控制蓝牙连接的方法可以应用于终端设备与蓝牙耳机之间的回连,也可以应用于可以与终端设备回连的其它电子设备(例如蓝牙音箱等),具体可以根据实际使用需求确定,本发明实施例不作限定。

下面结合附图对本申请实施例提供的控制蓝牙连接的方法进行示例性的说明。

图4是本申请实施例提供的控制蓝牙连接的方法的流程示意图。参照图4所示,该方法200包括下述的步骤S201-S204。

S201,当在第一预设时长内蓝牙设备与终端设备之间的断连次数超过预设次数(即最大断连次数)时,发送测距广播,以测量蓝牙设备与终端设备之间的第一距离值。

在第一预设时长内如果蓝牙设备与终端设备之间的断连次数(或者回连次数)达到一定阈值,那么蓝牙设备与终端设备之间的距离可能处于临界距离范围内,造成连接状态不稳定,因此会出现多次频繁断连的现象。此时需要在满足一定条件后再发起回连,以有效地保证设备间的蓝牙连接维持稳定,避免周期性地盲目发起回连而导致反复断连的现象,提升了用户体验。

在本申请实施例总,当设备间的断连次数超过预设次数时,可以停止周期地发起回连,此时可以发送测距广播,测得设备间距离值,进一步判断设备间距离值是否满足预设回连条件,当满足预设回连条件时,即当设备处于稳态距离范围内时再发起回连,可避免反复断连,具体见下文描述。

其中,用于判断设备间是否断开蓝牙连接的预设断开条件为:设备间的信号质量低于预设质量门限,设备间在第一预设时长内没有通信,或者检测到用户触发蓝牙连接断开的操作。需要说明的是,这里示例性地列举了几种判断蓝牙连接是否断开的条件,本申请实施例包括但不限于此,还可能包括其他任意可能的判断蓝牙连接是否断开的条件,具体可以根据实际使用情况确定,本申请实施例不作限定。

其中,上述第一预设时长阈值可以人为设置也可以是通过设备自定,例如第一预设时长可以是5分钟或者30分钟,也可以是1小时等,具体可以根据实际使用需求设置,本申请实施例不作限定。

其中,上述预设的最大断连次数可以人为设置也可以是通过设备自定,例如预设的最大断连次数可以是2次,具体可以根据实际使用需求设置,本申请实施例不作限定。需要说明的是,在断连次数超过预设的最大断连次数之后,可以将所记录的断连次数清零。

在本申请实施例中,BLE蓝牙模块支持广播模式,可以通过BLE蓝牙模块的广播模式实现测距。并且,BLE蓝牙功耗非常低,支持频繁通断和快速连接。

需要说明的是,上述步骤S110可以由蓝牙设备执行,也可以由终端设备执行,也就是说,可以由蓝牙设备发送测距广播,也可以由终端设备发送测距广播,具体可以根据实际使用需求确定,本申请实施例不作限定。

从蓝牙设备角度出发,在本申请实施例中,每当蓝牙设备与终端设备回连一次,蓝牙设备可以对断连次数进行累加(例如通过计数器实现,每次加1),如此记录在第一预设时长内蓝牙设备与终端设备之间的断连次数,并将断连次数与预设的最大断连次数进行比较,判断该断连次数是否超过(即大于)预设的最大断连次数。一旦发现在预设时长内断连次数超过预设的最大断连次数,则蓝牙设备发送测距广播,用于测量蓝牙设备与终端设备之间的距离值。

示例性地,蓝牙耳机中的BLE蓝牙模块在广播模式下发送测距广播,手机中的蓝牙模块接收到该测距广播,根据RSSI判断信号强弱变化,基于室内定位算法,通过数学关系计算得出耳机与手机之间的距离,从而实现把信号强弱转化为距离的测算。手机可以将计算结果发送给蓝牙耳机。

从终端设备角度出发,在本申请实施例中,每当蓝牙设备与终端设备回连一次,终端设备可以对断连次数进行累加(例如每次加1),如此记录在第一预设时长内蓝牙设备与终端设备之间的断连次数,并将断连次数与预设的最大断连次数进行比较,判断该断连次数是否超过(即大于)预设的最大断连次数。一旦发现在预设时长内断连次数是否超过预设的最大断连次数,则终端设备发送测距广播,用于测量蓝牙设备与终端设备之间的距离值。

示例性地,手机中的BLE蓝牙模块在广播模式下发送测距广播,耳机中的蓝牙模块接收到该测距广播,根据RSSI判断信号强弱变化,基于室内定位算法,通过数学关系计算得出耳机与手机之间的距离,从而实现把信号强弱转化为距离的测算。

可以理解,当在第一预设时长内蓝牙设备与终端设备之间的断连次数超过预设的最大断连次数时,说明:在一段时间(第一预设时长)内,设备间的距离一直处于临界距离范围(参见图3)内,设备间的蓝牙连接不稳定,因此出现了反复断连的现象。

S202,判断第一距离值是否满足预设回连条件。

在本申请实施例中,一旦发现在预设时长内断连次数超过预设的最大断连次数,则蓝牙设备发送测距广播,用于测量蓝牙设备与终端设备之间的距离值,进一步判断该距离值是否满足预设回连条件。

可选地,上述预设回连条件可以为:设备间的距离值小于预设的基准距离值,或者在第二预设时长内设备间的距离值均小于预设的基准距离值,或者设备间的距离值小于预设的基准距离值并且设备间的相对运动趋势为相互靠近,或者在第二预设时长内设备间的距离值均小于预设的基准距离值并且设备间的相对运动趋势为相互靠近。

需要说明的是,这里示例性地列举了几种判断回连的条件,本申请实施例包括但不限于此,还可能包括其他任意可能的判断回连的条件,具体可以根据实际使用情况确定,本申请实施例不作限定。

上述基准距离值可以作为判断设备间的距离值是否满足有效距离条件的基准或者参考。如果后续测量设备之间的距离大于该基准距离值,那么此时如果设备回连上仍然可能不稳定,因此可不发起回连,以避免反复回连现象。如果后续测量设备之间的距离小于该基准距离值,那么此时如果设备回连上可以保持稳定连接,因此可以发起回连。具体见下文详细描述。

可选地,上述基准距离值可以取设备间蓝牙连接的预设最大距离(也称为临界距离值),或者可以取比预设最大距离小的值。

其中,以基准距离值取比预设最大距离小的值为例,基准距离值可以由临界距离值乘以对应的预设系数得到,可作为最大有效连接距离。

其中,上述预设系数可以为小于1的正数,例如0.5或者0.8等,该预设系数的具体取值可以根据设备的蓝牙连接能力和/或设备间是否有音频业务等因素确定,本申请实施例对此不作限定。

可选地,在本申请实施例中,可以根据蓝牙设备与终端设备之间的蓝牙连接能力,确定与蓝牙连接能力对应的临界距离值。其中,蓝牙设备与终端设备之间的蓝牙连接能力可以由蓝牙设备的蓝牙性能参数和终端设备的蓝牙性能参数共同确定。可选地,在本申请实施例中,蓝牙设备与终端设备之间的蓝牙连接能力越大,对应的临界距离值可以越大。

可选地,在本申请实施例中,在确定基准距离值时可以考虑蓝牙设备和终端设备在断开连接之前是否有音频业务,基于是否有音频业务,可以确定基准距离值。

有音频业务对应的基准距离值可以小于无音频业务对应的基准距离值。例如,对于经典蓝牙,在有音频业务时,基准距离值可以为5米;在无音频业务时,基准距离值设置为10米。对于BLE蓝牙,在有音频业务时,基准距离值可以为50米。

示例性地,如果设备之间在断开连接之前有音频业务,且设备间的当前距离持续在1分钟内小于5米,则唤醒APP,触发BT模块发起回连。

如果设备之间在断开连接之前没有音频业务,且设备间的当前距离持续在1分钟内小于10米,则唤醒APP,触发BT模块发起回连。

S203,当第一距离值满足预设回连条件时,发起回连。

S204,当第一距离值不满足预设回连条件时,不发起回连。

在本申请实施例中,具体是否发起回连,可以由蓝牙设备执行,也可以由终端设备执行,具体可以根据实际使用需求确定,本申请实施例不作限定。例如,在蓝牙设备和终端设备之间蓝牙连接的断开次数超过预设次数的情况下,蓝牙设备可以发送测距广播,用于测量设备间的距离值,并且蓝牙设备判断设备间的距离值是否满足预设回连条件,然后根据判断结果决定是否发起回连。

示例性地,在本申请实施例中,如果蓝牙设备判断该距离值小于基准距离值,则蓝牙设备向终端设备发起回连。如果蓝牙设备判断该距离值大于或等于基准距离值,则蓝牙设备不向终端设备发起回连。

示例性地,在本申请实施例中,当设备间的距离值小于基准距离值,且设备间有相互靠近的相对运动趋势时,蓝牙设备向终端设备发起回连。当设备间的距离值大于或等于基准距离值,且设备间有相互远离的相对运动趋势时,蓝牙设备不向终端设备发起回连。

针对设备间反复断连的现象,与相关技术中连续多次周期性地尝试回连的解决方案不同的是,本申请实施例提供的解决方案是有条件尝试回连,即先判断设备间的当前距离值是否满足预设回连条件,然后再根据判断结果来确定是否发起回连。

一方面,如果设备间的当前距离值满足预设回连条件,那么可以发起回连。这样可以保证回连后的蓝牙连接持续稳定。另一方面,如果设备间的当前距离值不满足预设回连条件,那么将不发起回连,避免反复回连。

参考图5,图5示出了临界距离值和基准距离值的示意图。如图5中的(a)所示,蓝牙耳机12位于手机11的临界距离范围内,出现反复断连现象,当在30秒内蓝牙耳机12与手机11之间的断连次数为3次,已经超过预设的最大断连次数2次时,蓝牙耳机12可以测量蓝牙耳机12与手机11之间的临界距离值。基于该临界距离值得到基准距离值。如图5中的(b)所示,该基准距离值小于临界距离值。蓝牙耳机12和/或手机11可以测量当前距离值,并判断当前距离值是否小于基准距离值。

如图5中的(b)所示,当蓝牙耳机12与手机11的当前距离值小于基准距离值时,即蓝牙耳机12靠近手机11,而不再位于手机11的临界距离范围,此时可以发起回连,这样可保证蓝牙连接持续稳定。当蓝牙耳机12仍然位于手机11的临界距离范围内时,则可以不发起回连,以避免反复断连现象。

通过上述方案,可以判断蓝牙设备和终端设备在未连接时测得的距离值是否小于基准距离值,也就是说,判断设备间的距离是否不再处于临界距离范围内。如果不再处于临界距离范围内,那么在此情况下发起回连,能够保证设备间的蓝牙连接持续稳定。

可选地,在本申请实施例中,当蓝牙设备和终端设备在之间断开蓝牙连接的次数超过预设次数时,在一定时长阈值内测得的多个距离值均满足预设回连条件(例如距离值均小于基准距离值)时,发起蓝牙设备与终端设备之间的回连。

其中,上述一定时长阈值可以人为设置也可以是通过设备自定,例如一定时长阈值可以是30秒或者1分钟,也可以是5分钟等。

可以理解,当蓝牙设备和终端设备之间断开蓝牙连接的次数超过预设次数时,在一定时长阈值内测得的多个距离值均小于基准距离值时,说明:设备间的距离不再处于临界距离范围内且当前所处距离趋于稳定状态,因此在此情况下发起回连,能够更有效地保证设备间的蓝牙连接持续稳定。

在本申请实施例中,当蓝牙设备和终端设备之间断开蓝牙连接的次数超过预设次时,通过发送测距广播测得设备间的距离值,若该距离值小于基准距离值,则蓝牙设备可以向终端设备发送回连请求消息,终端设备在接收回连请求消息后,向蓝牙设备发送回连响应消息,进而与蓝牙设备再次建立蓝牙连接,即实现回连。

在一种实施例中,在蓝牙设备和终端设备已建立蓝牙连接的情况下,当第S(S为大于或等于1的预设值)次满足预设断开条件时,蓝牙设备断开与终端设备之间的蓝牙连接,并响应于蓝牙连接断开命令,周期性地向终端设备发送连接请求消息,以请求与终端设备重新建立蓝牙连接。

进一步地,当第S 1次满足预设断开条件时,蓝牙设备向终端设备发送第一测距广播消息,所述第一测距广播消息用于计算蓝牙设备和终端设备之间的第一距离值。其中,S 1满足预设次数。

进一步地,当所述第一距离值满足预设回连条件时,蓝牙设备向终端设备发送连接请求消息,所述连接请求消息中包括所述第一电子设备的蓝牙标识和/或终端设备的蓝牙标识。蓝牙设备接收到终端设备根据所述连接请求消息发送的连接响应消息,与终端设备建立蓝牙连接。

通过本申请方案,当蓝牙设备与终端设备间的蓝牙连接被断开时,蓝牙设备周期地发起回连,当在预设时长内设备间蓝牙连接的断开次数达到预设阈值时,蓝牙设备停止周期地发起回连,此时蓝牙设备发送测距广播,用于测量设备间的距离值,然后蓝牙设备判断该距离值是否满足预设回连条件,根据判断结果决定是否发起回连:在设备间的当前距离值满足预设回连条件时发起回连,若不满足预设回连条件则不发起回连。与现有技术中一旦发现蓝牙连接断开就周期性地发起回连相比,本申请方案采用有条件尝试回连,可有效地保证设备间的蓝牙连接维持稳定,避免频繁反复尝试连接,避免反复断连的现象,提升了用户体验。

可选地,在本申请实施例中,蓝牙设备可以根据终端设备发送的测距广播消息测量蓝牙设备与终端设备之间的距离。或者,终端设备可以根据蓝牙设备发送的测距广播消息测量蓝牙设备与终端设备之间的距离。

示例性地,蓝牙外设侧发送测距广播。手机可以将connection timeout之前的业务状态(比如音频业务中,空闲态中)通知到传感器(sensor hub)。该sensor hub内预置测距算法,可以在接收到外设发送的测距广播后,进行距离测算。

参考图6,图6示出了蓝牙耳机测量距离值并根据是否满足距离条件判断是否发起回连的交互流程示意图。如图6所示,该交互流程300包括下述的步骤S301-S310。

S301,手机和蓝牙耳机建立蓝牙连接。

S302,在建立蓝牙连接后,手机和蓝牙耳机之间可以处理音频业务。

S303,手机和蓝牙耳机之间连接断开。

S304,当预设时长内断开次数超过预设次数时,蓝牙耳机向手机发送测距广播。

这里,在一定时间内断开次数超过预设次数的判断过程具体可以参见上文相关描述,此处不再赘述。

S305,手机根据测距广播,测量手机和耳机之间的第一距离值。

S306,手机向蓝牙耳机发送第一距离值,蓝牙耳机接收第一距离值。

S307,蓝牙耳机判断第一距离值是否满足预设回连条件。

蓝牙耳机判断第一距离值是否小于基准距离值。

S308,在第一距离值满足预设回连条件时,蓝牙耳机向手机发起回连。

S309,蓝牙耳机接收到手机发送的回连响应消息,蓝牙耳机与手机再次建立蓝牙连接,即回连成功。

S310,在第一距离值不满足预设回连条件时,蓝牙耳机不发起回连。

针对设备间反复断连的现象,与图2中连续多次无条件尝试回连的解决方案不同的是,本申请实施例提供的解决方案是有条件尝试回连,即先判断设备间的当前距离值是否满足预设回连条件,然后再根据判断结果来确定是否发起回连。通过本方案,可以保证发起回连后,设备间的蓝牙连接持续稳定,避免设备间反复回连的现象。

可选地,在第一预设时长内蓝牙设备与终端设备之间的断连次数超过预设的最大断连次数之后,终端设备可以向蓝牙设备发送测距广播消息,蓝牙设备可以增大扫描占空比。其中,扫描占空比为单次扫描时间与扫描间隔时间的比值。

首先结合图7介绍一下扫描占空比以及加速扫描的概念。如图7所示,一次扫描进行的时间宽度,称为扫描窗口,记为T1;两个连续的扫描窗口的起始时间之间的时间差,称为扫描间隔,记为T2。扫描占空比为扫描窗口T1与扫描间隔T2之间的比值。可以理解,如果扫描窗口等于扫描间隔,那么扫描占空比为1。

图7中的(a)示出了默认扫描时的示意图。如图7中的(b)所示,蓝牙扫描占空比增大,即加速扫描,以提升扫描频率。如图7中的(c)所示,蓝牙扫描占空比减小,即省电扫描,以节省不必要的耗电。

需要说明的是,图7中是以固定的扫描窗口示意的,可以理解,在实际实现时,扫描窗口可以是固定的,也可以是变化的,例如递增或递减,具体可以根据实际情况进行设置;扫描间隔可以是固定的,也可以是变化的,例如递增或递减,具体可以根据实际情况进行设置。还需要说明的是,扫描窗口越大,则扫描到广播消息的概率越大,相应地耗电越多;扫描窗口越小,则扫描到广播消息的概率越小,相应地耗电越少。或者说,扫描占空比(一个周期内扫描窗口的时间占比)越大,则扫描到广播消息的概率越大,相应地耗电越多;扫描占空比越小,则扫描到广播消息的概率越小,相应地耗电越少。

具体到本申请方案,可选地,接收端增大扫描占空比的实现方式具体可以增大扫描窗口T1,和/或减小扫描间隔T2。

可选地,当在第一预设时长内蓝牙设备与终端设备之间的断连次数超过预设的最大断连次数时,发送端可以增大发送测距广播消息的频率,以使得接收端快速扫描到测距广播消息。

在本申请方案中,通过增大发送端发送测距广播消息的频率,和/或增大接收端扫描占空比,可以加速接收端扫描到测距广播消息。

示例性地,在蓝牙设备向终端设备发送测距广播消息之后,终端设备可以采用增大的扫描占空比,快速扫描到测距广播消息,这样可以加快扫描频率,提升扫描效率,快速扫描到测距广播消息。进一步地,在终端设备扫描到该测距广播消息的前提条件下,终端设备可以进一步根据该测距广播消息,测量设备间的距离值。也就是说,增大广播频率以及扫描频率,可以加速扫描到测距广播消息,进而可以提升测距速度。

参考图8,假定发送端广播窗口为10毫秒(ms),接收端的扫描间隔为600ms。发送端每隔20ms广播一次测距消息,接收端以60ms的扫描窗口进行扫描。通常而言,外设微距广播间隔为20ms,手机侧并不是一直在进行扫描,有一定的扫描占空比,如图8所示,扫描占空比为60ms/600ms,意味着在600ms里最多能收到3个包。考虑到要测量距离和相对运动趋势要在120ms以内完成,120ms内最多能收到6个数据包,假设概率丢掉一个包,计算距离的数据包计算数量为5个数据包为一组,设定方差门限,超过阈值的就直接丢弃掉,每个数据包的RSSI和收到的时间均需要记录,通过如图9所示的流程图,得出平均的RSSI和平均时间,进而根据公式计算距离值。

可选地,在本申请实施例中,在测量蓝牙设备与终端设备之间的距离值之后,可以降低接收端的扫描占空比,和/或降低发送端的广播频率,以降低能耗。

可选的,本申请实施例中,可以采用接收信号强度指示(received signal strength indication,RSSI)来测量距离值。具体计算过程可以参考相关技术中涉及利用RSSI值测距的相关技术,此处不予赘述。

外设发送的微距发现广播会携带AdvPower字段,代表广播的实际发射功率(记为P)。通常将射频(radio frequency,RF)通路损耗(射频前端)和天线效率称之为实际插损(记为Lin)。RF通路损耗约为3.5dB~5dB,天线效率约为-4.5dB,因此Lin约为8dB~9.5dB。手机扫描到的扫描结果(scan result)会携带一个RSSI值,代表手机接收到的广播信号强度。综上可以认为信号的空中损耗为:

LOS=P-Lin-RSSI(等式1)

需要说明的是,对于使用了外置低噪声放大器(low noise amplifier,LNA)的手机,由于外置LNA由芯片自动增益控制(automatic gain control,AGC)控制,芯片在计算RSSI值时已考虑外置LNA的增益,因此,理论上等式1中不需要考虑外置LNA带来的影响。

根据自由空间损耗公式LOS=32.44 20lg d(Km) 20lg f(2450MHz),可以推导出设备间的距离值:

在一些实施例中,上述获取AdvPower的方式可以包括:如果芯片支持读取芯片口发射功率,可以在每隔3个广播包读取一次AdvPower。

在另一些实施例中,如果芯片不支持读取芯片口发射功率,可以先写入目标功率值,然后通过实验室校准的方式调整AdvPower使测量结果符合预期。手机侧的插损Lin相对精确,因此理论上来说,蓝牙外设只需在实验室和一款手机进行校准,就可以确保和其他型号手机匹配时测距结果也能符合预期。

参考图9,图9示出了利用RSSI计算距离值以及确定设备间相对运动趋势的流程示意图。如图9所示,该流程包括下述的步骤S401-S413。

S401,手机侧接收到蓝牙外设发送的RSSI广播(携带了发射功率字段),并放入到队列里,该队列用于保存收到的广播包(包括AdvPower以及时间)。

可选地,广播包可以按照不同的设备地址(addr)进行分离。例如,可以使用链表或栈的方式进行管理,且至少保存5个RSSI对象,如图10所示,设备1保存有RSSI 1,RSSI 2,RSSI 3,RSSI 4和RSSI 5,甚至更多RSSI。同样,设备2,设备3,设备4,…设备n分别保存有RSSI 1,RSSI 2,RSSI 3,RSSI 4和RSSI 5,甚至更多RSSI。

S402,当队列里的广播包的时效超过某一时间阈值(例如3秒)时,删除该广播包。

S403,计算各个设备的信号强度队列的方差。

其中,对于方差大于方差门限值(例如120)的数据点,被认作为奇异点,需要从队列里删除掉。

S404,判断设备信号强度队列是否为空。

如果设备信号强度队列为空,则继续收集信号,存入队列。

S405,判断设备信号强度队列的元素个数是否大于预设个数阈值(例如3个)。

如果设备信号强度队列的元素个数大于预设个数阈值(例如3个),则可以用于计算距离,计算出的距离可以上报。

S406,判断计算的方差是否大于方差门限值。

如果计算的方差大于方差门限值,则继续收集信号,存入队列。如果计算的方差小于或等于方差门限值,则计算RSSI加权平均。

S407,如果设备信号队列的元素个数小于或等于预设个数阈值,则启动定时器。

示例性地,定时器可设置为1秒钟,即1秒钟到期后,如果队列数量还是没有满足3个,则取队列的信号强度,取信号强度的均值,计算出距离,然后上报距离计算结果。

在定时器启用期间,每收到一个数据包,计算一次,并把每次的计算结果均上报。

S408,继续收集信号,存入队列。

S409,计算RSSI加权平均。

针对每一个设备,分别提取出队列里的信号强度做加权值,加权计算公式如下面的等式3:

其中,a表示设备A,R1表示最近一次的RSSI信号强度,R2表示次新的RSSI信号强度,R3表示倒数第三次的信号强度。可以理解为:最近一次的信号RSSI权重是50%,倒数第二个,第三个RSSI的权重均为25%。

S410,根据上述等式(2),根据RSSI计算距离值,并计算出该设备队列的平均时间值。

通常而言,外设微距广播间隔为20ms,平均时间值为计算前后两次距离所用的广播包平均间隔值。

S411,上报距离值和平均时间值。

S412,根据前后两次的距离值(d2,d1),以及前后两次的时间(T2,T1),根据下述的等式4即可计算出来手机与蓝牙外设之间的相对速度V。

V=(d2-d1)/(T2-T1)(等式4)

其中,如果相对速度V大于0,则设备间的相对运动趋势为互相远离,如果相对速度V小于0,则设备间的相对运动趋势为互相接近。

S413,定时器到期后,终止距离上报。

在本申请实施例中,当在预设时长内蓝牙外设与手机之间的断连次数超过预设的最大断连次数时,若检测出手机与蓝牙外设之间的相对速度V小于零,则可以确定设备间的相对运动趋势为互相靠近,此时可以发起回连。若检测出手机与蓝牙外设之间的相对速度V大于零,则可以确定设备间的相对运动趋势为互相远离,此时不发起回连。

与现有技术中外设盲目发起回连的策略相比,本申请实施例采用根据基准距离值以及相对运动趋势判断是否发起回连的策略,避免了长时间发起回连的功耗问题以及多连接场景下的声道异常问题。

当然,本申请实施例还可以采用其他可行的方式计算距离值,具体可以根据实际使用需求确定,本申请实施例不作限定。

在终端设备与蓝牙设备再次建立蓝牙连接之后,当终端设备有音频业务时,蓝牙设备接收终端设备发送的与音频业务对应的第一音频信号。然后,蓝牙设备输出第一音频信号。

可选地,在本申请实施例中,在蓝牙设备输出第一音频信号之后,终端设备扫描到第二蓝牙设备并且终端设备与第二蓝牙设备回连。当第二蓝牙设备与终端设备之间的距离值在第三预设时长内小于蓝牙设备与终端设备之间的距离值时,将输出第一音频信号的声道从蓝牙设备输出切换到第二蓝牙设备。该第三预设时长可以人为设置也可以是通过设备自定,例如第三预设时长可以是30秒或者1分钟,也可以是5分钟等。

与现有技术中在终端设备与第二蓝牙设备后连接的情况下,无条件地将音频声道切换到后连接的第二蓝牙设备相比,本申请实施例中是将在终端设备与第二蓝牙设备后连接的情况下,在第二蓝牙设备在满足距离条件的情况下,才会将音频声道切换到后连接的第二蓝牙设备。在第二蓝牙设备不满足距离条件的情况下,不会将音频声道切换到后连接的第二蓝牙设备。这样,可以解决多连接场景下的声道异常问题。

本申请方案可以基于BLE测距技术,在测距得到的距离满足距离条件时发起回连,解决回连导致的频繁唤醒引起的功耗问题,以及解决由于反复断连导致的出声通道异常问题。

也需要说明的是,在本申请实施例中,“大于”可以替换为“大于或等于”,“小于或等于”可以替换为“小于”,或者,“大于或等于”可以替换为“大于”,“小于”可以替换为“小于或等于”。

本文中描述的各个实施例可以为独立的方案,也可以根据内在逻辑进行组合,这些方案都落入本申请的保护范围中。

可以理解的是,上述各个方法实施例中由终端设备实现的方法和操作,也可以由可用于终端设备的部件(例如芯片或者电路)实现。

上文描述了本申请提供的方法实施例,下文将描述本申请提供的装置实施例。应理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的内容可以参见上文方法实施例,为了简洁,这里不再赘述。

上文主要从方法步骤的角度对本申请实施例提供的方案进行了描述。可以理解的是,为了实现上述功能,实施该方法的终端设备包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的保护范围。

本申请实施例可以根据上述方法示例,对终端设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有其它可行的划分方式。下面以采用对应各个功能划分各个功能模块为例进行说明。

图11为本申请实施例提供的控制蓝牙连接的装置700的示意性框图。该装置700可以用于执行上文方法实施例中蓝牙设备所执行的动作。该装置700包括处理单元710和收发单元720。

处理单元710,用于在第一电子设备和装置700已建立蓝牙连接的情况下,当第S次满足预设断开条件时,断开与第一电子设备之间的蓝牙连接,S为大于或等于1的预设值;

收发单元720,用于响应于蓝牙连接断开命令,周期性地向第一电子设备发送连接请求消息,以请求与第一电子设备重新建立蓝牙连接;

收发单元720,还用于当第S 1次满足所述预设断开条件时,向第一电子设备发送第一测距广播消息,该第一测距广播消息用于计算第一电子设备和装置700之间的第一距离值,其中S 1满足预设次数;

收发单元720,还用于当第一距离值满足预设回连条件时,向第一电子设备发送连接请求消息,该连接请求消息中包括第一电子设备的蓝牙标识和/或装置700的蓝牙标识;

收发单元720,还用于接收到第一电子设备根据连接请求消息发送的连接响应消息;

处理单元710,还用于根据连接响应消息,将装置700与第一电子设备建立蓝牙连接。

在一些实施例中,上述预设断开条件可以为:第一电子设备与装置700之间的信号质量低于预设质量门限,第一电子设备与装置700在第一预设时长内没有通信,或者检测到用户触发蓝牙连接断开的操作;

上述预设回连条件可以为:设备间的距离值小于预设的基准距离值,或者在第二预设时长内设备间的距离值均小于预设的基准距离值,或者设备间的距离值小于预设的基准距离值并且设备间的相对运动趋势为相互靠近,或者在第二预设时长内设备间的距离值均小于预设的基准距离值并且设备间的相对运动趋势为相互靠近。

在一些实施例中,处理单元710,还用于:当第一电子设备和装置700之间的蓝牙连接首次断开时,启动计时器和计数器,令计数器加1;每当满足预设断开条件时,计数器加1;

其中,收发单元720,具体用于:若计时器的累计时长小于预设时长阈值,且第S 1次满足预设断开条件,则向第一电子设备发送第一测距广播消息。

通过本申请方案,当在预设时长内设备间蓝牙连接的断开次数达到预设阈值时,该装置700发送测距广播,用于测量设备间的当前距离值,然后该装置700根据当前距离值是否满足预设回连条件的判断结果来决定是否发起回连,这样可更准确地判断当前场景为蓝牙连接频繁断开的场景,需要在满足一定条件后再发起回连,以有效地保证设备间的蓝牙连接维持稳定,避免盲目发起回连而导致反复断连的现象,提升了用户体验。

在一些实施例中,处理单元710,还用于:在装置700通过发送第一测距广播消息,与第一电子设备建立蓝牙连接之后,关闭计时器,并且令计数器清零。

在一些实施例中,上述第一测距广播消息为基于低功耗蓝牙BLE的测距广播消息;

收发单元720,还用于在向第一电子设备发送第一测距广播消息之后,接收第一电子设备发送的第一距离值。该第一距离值是第一电子设备扫描到第一测距广播消息,并根据第一测距广播消息中的接收信号强度指示RSSI值计算得到的距离值。

在一些实施例中,当第S 1次满足预设断开条件时,第一电子设备增大扫描占空比;其中,该扫描占空比为单次扫描时间与扫描间隔时间的比值。

在一些实施例中,在第一电子设备扫描到第一测距广播消息之后,第一电子设备降低扫描占空比。

在一些实施例中,上述蓝牙标识为设备的蓝牙物理MAC地址。

在一些实施例中,处理单元710,还用于:获取第一电子设备与装置700之间的临界距离值;并将该临界距离值乘以预设系数,得到预设的所述基准距离值,该预设系数为小于1的正数。

在一些实施例中,处理单元710,还用于:根据第一电子设备与装置700之间的蓝牙连接性能,确定预设的基准距离值。其中,上述蓝牙连接性能由第一电子设备的蓝牙性能参数和装置700的蓝牙性能参数共同确定。

在一些实施例中,处理单元710,还用于:

若第一电子设备和装置700在断开连接之前有音频业务,则确定与有音频业务对应的第一基准距离值,为预设的基准距离值;

或者,若第一电子设备和装置700在断开连接之前没有音频业务,则确定与无音频业务对应的第二基准距离值,为预设的基准距离值。

在一些实施例中,第一基准距离值小于第二基准距离值。

在一些实施例中,在第一电子设备与装置700建立蓝牙连接并通过装置700输出音频信号的情况下,第一电子设备扫描到第三电子设备并与第三电子设备建立蓝牙连接。当第三电子设备与第一电子设备之间的距离值在第四预设时长内均小于装置700与第一电子设备之间的距离值时,将由装置700输出该音频信号,切换为由第三电子设备输出该音频信号。

通过本申请方案,当第一电子设备与装置700之间蓝牙连接的断开次数达到预设阈值时,装置700发送测距广播,用于测量设备间的当前距离值,然后根据当前距离值是否满足预设回连条件的判断结果来决定是否发起回连:在设备间的当前距离值满足预设回连条件时发起回连,若不满足预设回连条件则不发起回连。与现有技术中一旦发现蓝牙连接断开就周期性的发起回连相比,本申请方案采用有条件尝试回连,可有效地保证设备间的蓝牙连接维持稳定,避免频繁反复尝试连接以及反复断连的现象,提升了用户体验。

根据本申请实施例的装置700可对应于执行本申请实施例中描述的方法,并且装置700中的单元的上述和其它操作和/或功能分别为了实现方法的相应流程,为了简洁,在此不再赘述。

图12是本申请实施例提供的电子设备800的硬件示意性图。该电子设备800可以为本申请实施例中所描述的蓝牙设备(例如蓝牙耳机)或者终端设备(例如手机)的一种示例。如图12所示,电子设备800可以包括:处理器801、存储器802、无线通信模块803、音频模块804和电源模块805等,这些部件可通过一根或多根通信总线或信号线(图中未示出)进行通信。下面结合图12对电子设备的各个部件进行具体的介绍。

处理器801是电子设备的控制中心,利用各种接口和线路连接电子设备的各个部分,通过运行或执行存储在存储器802内的应用程序,以及调用存储在存储器802内的数据,执行电子设备的各种功能和处理数据。处理器801可以包括一个或多个处理单元,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器801中。处理器801具体可以是集成的控制芯片,也可以由包括各种有源和/或无源部件的电路组成,且该电路被配置为执行本申请实施例描述的属于处理器801的功能。以电子设备为蓝牙耳机12为例,处理器801可以用于执行相关应用程序,调用相关模块以实现本申请实施例中蓝牙耳机12的功能。例如,实现蓝牙耳机12与手机11之间进行物理连接和/或业务规范连接。

应理解,在本申请实施例中,该处理器801可以采用中央处理单元(central processing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器801采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。

存储器802用于存储应用程序以及数据,处理器801通过运行存储在存储器802的应用程序以及数据,执行电子设备的各种功能以及数据处理。存储器802主要包括存储程序区以及存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可以存储根据使用电子设备时所创建的数据。以电子设备为蓝牙耳机12为例,存储器802可以存储用于蓝牙耳机12与手机11之间进行物理连接和/或业务规范连接的程序代码,用于蓝牙耳机12进行充电的程序代码,以及蓝牙耳机12与手机11进行无线配对连接的程序代码等。

此外,存储器802可以包括只读存储器,随机存取存储器,还可以包括非易失存储器,例如磁盘存储器件、闪存器件或其他易失性固态存储器件等,并向处理器801提供指令和数据。存储器802可以存储各种操作系统。上述存储器802可以独立于处理器801,通过上述通信总线与处理器801相连接;或者,存储器802也可以和处理器801集成在一起。

无线通信模块803可以用于支持通过无线通信技术实现电子设备之间的无线连接和无线通信,例如结合图1和图12所示,蓝牙耳机12和手机11可以通过各自的无线通信模块803实现数据交换。在一些实施例中,该无线通信模块803可以为蓝牙芯片。如结合图1和图12所示,蓝牙耳机12可以通过该蓝牙芯片,与手机11的蓝牙芯片之间进行配对并建立无线连接,以通过该无线连接实现蓝牙耳机12和手机11之间的无线通信和业务处理。通常,蓝牙芯片可以支持BR/增强速率(enhanced data rate,EDR)蓝牙和BLE,例如可以收/发寻呼(page)信息,收/发BLE广播消息等。

另外,无线通信模块803还可以包括天线,无线通信模块803经由天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器801。无线通信模块803还可以从处理器801接收待发送的信号,对其进行调频,放大,经天线转为电磁波辐射出去。

音频模块804可以用于管理音频数据,实现电子设备输入和输出音频流。音频模块804可以包括用于输出音频流的扬声器8041(或称听筒、受话器)组件,麦克风8042(或称话筒,传声器),与麦克风相配合的麦克收音电路等。扬声器8041可以用于将音频电信号转换成声音信号并播放。麦克风8042可以用于将声音信号转换为音频电信号。

电源模块805可以向各个部件供电,比如电源模块805包括电池和电源管理芯片,电池可以通过电源管理芯片与处理器801逻辑相连,从而通过电源模块805实现管理充电、放电、以及功耗管理等功能。

在一些实施例中,电子设备还可以包含显示器(或显示屏),也可以不包含显示器。显示器可以用于显示APP的显示界面,比如当前播放的歌曲等。显示器包括显示面板,显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,显示器中可以设置触摸传感器,形成触摸屏,本申请实施例不作限定。触摸传感器用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给处理器801,以确定触摸事件类型。处理器801可以通过显示器提供与触摸操作相关的视觉输出。

在一些实施例中,电子设备还可以包含更多的器件,例如USB接口、传感器等,本申请实施例不多赘述。图12示出的各种部件可以在包括一个或多个信号处理或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。可以理解的是,本申请实施例示意的结构并不构成对电子设备的具体限定。电子设备还可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。

可选的,电子设备800还可以包括总线。其中,存储器802、无线通信模块803可以通过总线与处理器801连接。总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。

在一种可能的实现方式中,图12所示的电子设备800中的处理器801可以对应于图11中的装置700中的处理单元710,无线通信模块803可以对应于图11中的装置700中的收发单元720。并且,装置700中的各个单元的上述和其它操作和/或功能分别为了实现方法的相应流程,为了简洁,在此不再赘述。在电子设备800运行时,该处理器801执行存储器802中的计算机执行指令以通过装置700执行上述方法的操作步骤。

可选的,本申请实施例还提供一种电子设备,包括如图12所示的处理器801,存储器802,存储在存储器802上并可在处理器801上运行的计算机程序,该计算机程序被处理器801执行时实现上述蓝牙连接方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

可选地,在一些实施例中,本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有程序代码,当计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。

可选地,在一些实施例中,本申请实施例还提供了一种芯片,该芯片包括处理器。处理器用于读取并执行存储器中存储的程序代码,以执行上述各方面中的方法。

可选地,在一些实施例中,本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。

在本申请实施例中,电子设备包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。其中,硬件层可以包括中央处理器(central processing unit,CPU)、内存管理单元(memory management unit,MMU)和内存(也称为主存)等硬件。操作系统层的操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。应用层可以包含浏览器、通讯录、文字处理软件、即时通信软件等应用。

本申请实施例并未对本申请实施例提供的方法的执行主体的具体结构进行特别限定,只要能够通过运行记录有本申请实施例提供的方法的代码的程序,以根据本申请实施例提供的方法进行通信即可。例如,本申请实施例提供的方法的执行主体可以是终端设备或网络设备,或者,是终端设备或网络设备中能够调用程序并执行程序的功能模块。

本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本文中使用的术语“制品”可以涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmable read-only memory,EPROM)、卡、棒或钥匙驱动器等)。

本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于:无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。

应理解,本申请实施例中提及的处理器可以是中央处理单元(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器RAM。例如,RAM可以用作外部高速缓存。作为示例而非限定,RAM可以包括如下多种形式:静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。

需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)可以集成在处理器中。

还需要说明的是,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的保护范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元或模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。此外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上,或者说对现有技术做出贡献的部分,或者该技术方案的部分,可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,该计算机软件产品包括若干指令,该指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。前述的存储介质可以包括但不限于:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献