一种蓝牙回连的方法及相关装置与流程

文档序号:24049010发布日期:2021-02-23 20:10阅读:696来源:国知局
一种蓝牙回连的方法及相关装置与流程

[0001]
本申请涉及电子技术领域,尤其涉及一种蓝牙回连的方法及相关装置。


背景技术:

[0002]
蓝牙(bluetooth)是人们生活中常用的数据传输方式,它可以实现在电子设备(例如,移动终端、笔记本电脑、无线耳机、掌上电脑,等等)之间短距离无线传输数据,具有方便快捷、灵活安全的优点。通常,随着已蓝牙连接的电子设备之间距离的增大,蓝牙可能会出现断连的情况。
[0003]
现有技术中,在非人为操作导致的蓝牙连接断开的情况下,为了恢复蓝牙连接,外围设备(例如,无线耳机、智能音箱、智能手表,等等)会对已连接过的中心设备(例如,移动终端、笔记本电脑、掌上电脑,等等)发起回连。但是这种发起回连的方式容易连接失败,比如,在外围设备寻呼(page)中心设备的同时,中心设备也有可能发起对外围设备的page,两个page请求将发生碰撞,造成蓝牙连接失败。


技术实现要素:

[0004]
本申请提供了一种蓝牙回连的方法及相关装置,可以提升蓝牙回连的成功率。
[0005]
第一方面,本申请提供了一种蓝牙回连的方法,该方法应用于蓝牙连接系统,该蓝牙连接系统包括第一设备和第二设备,该方法包括:当蓝牙连接断开时,该第一设备向该第二设备发送第一低功耗蓝牙ble广播信号,该第一ble广播信号用于指示该第一设备将向该第二设备发起寻呼page;该第一设备向该第二设备发送第一page数据包,该第一page数据包中包含该第二设备的设备标识;当该第一设备在预设时长或者预设次数内接收到该第二设备发送的第一id包,该第一设备向该第二设备发送第一fhs数据包,其中,该第一id包中包含该第二设备的设备标识,该第一id包是该第二设备根据该第一page数据包向该第一设备发送的,该第一fhs数据包中包含该第一设备的蓝牙地址和时钟信息;该第二设备根据接收到的该第一fhs数据包切换至连接connection状态,并向该第一设备发送第二id包,该第二id包中包含该第二设备的设备标识;该第一设备根据接收到的该第二id包切换至connection状态。通过这种方式,可以避免第一设备以及第二设备两方同时发送page数据包而造成的page请求碰撞的问题,提升蓝牙回连的成功率。
[0006]
结合第一方面,在一种可能的实现方式中,该方法还包括:当该第一设备在该预设时长内未接收到第二设备发送的第一id包,该第一设备向该第二设备发送第二ble广播信号,该第二ble广播信号用于指示该第二设备向该第一设备发起page;该第二设备根据接收到的该第二ble广播信号向该第一设备发送第二page数据包,该第二page数据包中包含该第一设备的设备标识;该第一设备根据接收到的该第二page数据包向该第二设备发送第三id包,该第三id包中包含该第一设备的设备标识;该第二设备根据接收到的该第三id包向该第一设备发送第二fhs数据包,该第二fhs数据包中包含该第二设备的蓝牙地址和时钟信息;该第一设备根据接收到的该第二fhs数据包,切换至connection状态,并向该第二设备
发送第四id包,该第四id包中包含该第一设备的设备标识;该第二设备根据接收到的该第四id包切换至connection状态。
[0007]
结合第一方面,在一种可能的实现方式中,该方法还包括:当该第一设备在预设时长内接收到该第二设备发送的该第一id包时,该第一设备从page状态切换至主单元寻呼响应master page response状态。
[0008]
结合第一方面,在一种可能的实现方式中,该方法还包括:当该第一设备接收到该第二设备发送的该第二page数据包时,该第一设备从寻呼扫描page scan状态切换至slave page response状态;当该第二设备接收到该第一设备发送的该第三id包时,该第二设备从page状态切换至主单元寻呼响应master page response状态。
[0009]
结合第一方面,在一种可能的实现方式中,该当蓝牙连接断开时,该第一设备向该第二设备发送第一低功耗蓝牙ble广播信号,包括:当蓝牙连接的接收信号强度rrsi低于预设阈值时,或者接收到连接超时connection timeout的错误码时,该第一设备向该第二设备发送第一ble广播信号。
[0010]
结合第一方面,在一种可能的实现方式中,当蓝牙连接断开时,该第二设备处于低功耗蓝牙扫描ble scan状态。
[0011]
结合第一方面,在一种可能的实现方式中,该第一设备的设备标识可以包括该第一设备的设备访问码(device access code,dac)或者查询访问码(inquiry access code,iac);该第二设备的设备标识可以包括该第二设备的dac或者iac。
[0012]
结合第一方面,在一种可能的实现方式中,在蓝牙连接断开之后,第二设备还可以显示回连指示信息,该回连指示信息用于指示第二设备正在恢复蓝牙连接。
[0013]
结合第一方面,在一种可能的实现方式中,该第一ble广播信号中包含第一ad structure,该第一ad structure中包含第一数据,第一数据用于指示第一设备将向第二设备发送page请求。该第二ble广播信号中包含第二ad structure,该第二ad structure中包含第二数据,第二数据用于指示第二设备向第一设备发送page请求。
[0014]
结合第一方面,在一种可能的实现方式中,在第二设备接收到第一设备发送的page数据包之后,第二设备可以停止ble scan。通过这种方式,可以节省第二设备的功耗。
[0015]
结合第一方面,在一种可能的实现方式中,在第二设备接收到第二ble广播信号之后,第二设备可以停止ble scan。通过这种方式,可以节省第二设备的功耗。
[0016]
第二方面,本申请实施例提供了一种蓝牙回连的方法,该方法应用于蓝牙连接系统,该蓝牙连接系统包括第一设备和第二设备,该方法包括:当蓝牙连接断开时,该第一设备向该第二设备发送第二ble广播信号,该第二ble广播信号用于指示该第二设备向该第一设备发起page;该第二设备根据接收到的该第二ble广播信号向该第一设备发送第二page数据包,该第二page数据包中包含该第一设备的设备标识;该第一设备根据接收到的该第二page数据包向该第二设备发送第三id包,该第三id包中包含该第一设备的设备标识;该第二设备根据接收到的该第二id包向该第一设备发送第二fhs数据包,该第二fhs数据包中包含该第二设备的蓝牙地址和时钟信息;该第一设备根据接收到的该第二fhs数据包切换至connection状态,并向该第二设备发送第四id包;该第二设备根据接收到的该第四id包切换至connection状态。通过这种方式,可以避免第一设备以及第二设备两方同时发送page数据包而造成的page请求碰撞的问题,提升蓝牙回连的成功率。
[0017]
结合第二方面,在一种可能的实现方式中,该方法还包括:当该第一设备接收到该第二设备发送的该第二page数据包时,该第一设备从page scan状态切换至slave page response状态;当该第二设备接收到该第一设备发送的该第三id包时,该第二设备从page状态切换至master page response状态。
[0018]
结合第二方面,在一种可能的实现方式中,该当蓝牙连接断开时,该第一设备向该第二设备发送第二ble广播信号,包括:当蓝牙连接的接收信号强度rrsi低于预设阈值时,或者接收到连接超时connection timeout的错误码时,该第一设备向该第二设备发送第二ble广播信号。
[0019]
结合第二方面,在一种可能的实现方式中,该第一设备的设备标识可以包括该第一设备的dac或者iac;该第二设备的设备标识可以包括该第二设备的dac或者iac。
[0020]
结合第二方面,在一种可能的实现方式中,在蓝牙连接断开之后,第二设备还可以显示回连指示信息,该回连指示信息用于指示第二设备正在恢复蓝牙连接。
[0021]
结合第二方面,在一种可能的实现方式中,该第二ble广播信号中包含第二ad structure,该第二ad structure中包含第二数据,第二数据用于指示第二设备向第一设备发送page请求。
[0022]
结合第二方面,在一种可能的实现方式中,在第二设备接收到第二ble广播信号之后,第二设备可以停止ble scan。通过这种方式,可以节省第二设备的功耗。
[0023]
第三方面,本申请实施例提供了一种第一设备,该第一设备包括蓝牙芯片、存储器和一个或多个处理器;该存储器与该一个或多个处理器耦合;其中:该蓝牙芯片支持经典蓝牙br/edr功能和ble功能;该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令;当该计算机指令被该一个或多个处理器执行时,使得该第一设备执行以下操作:当蓝牙连接断开时,向第二设备发送第一低功耗蓝牙ble广播信号,该第一ble广播信号用于指示该第一设备将向该第二设备发起寻呼page;向该第二设备发送第一page数据包,该第一page数据包中包含该第二设备的设备标识;当在预设时长内接收到该第二设备发送的第一id包时,向该第二设备发送第一fhs数据包,其中,该第一id包中包含该第二设备的设备标识,该第一id包是该第二设备根据该第一page数据包向该第一设备发送的,该第一fhs数据包中包含该第一设备的蓝牙地址和时钟信息;根据接收到的该第二设备发送的第二id包切换至connection状态,该第二id包是该第二设备根据该第一fhs数据包向该第一设备发送的。
[0024]
结合第三方面,在一种可能的实现方式中,当该计算机指令被该一个或多个处理器执行时,使得该第一设备还执行以下操作:当在该预设时长内未接收到该第二设备发送的第一id包时,向该第二设备发送第二ble广播信号,该第二ble广播信号用于指示该第二设备向该第一设备发起page;接收该第二设备发送的第二page数据包,该第二page数据包中包含该第一设备的设备标识,该第二page数据包是该第二设备根据该第二ble广播信号向该第一设备发送的;根据该第二page数据包向该第二设备发送第三id包,该第三id包中包含该第一设备的设备标识;接收该第二设备发送的第二fhs数据包切换至connection状态,其中,该第二fhs数据包中包含该第二设备的蓝牙地址和时钟信息,该第二fhs数据包是该第二设备根据该第三id包向该第一设备发送的;根据该第二fhs数据包向该第二设备发送第四id包,该第四id包中包含该第一设备的设备标识。
structure,该第二ad structure中包含第二数据,第二数据用于指示第二设备向第一设备发送page请求。
[0035]
第五方面,本申请实施例提供了一种蓝牙芯片,其特征在于,该蓝牙芯片用于执行以下操作:当蓝牙连接断开时,向第二设备发送第一低功耗蓝牙ble广播信号,该第一ble广播信号用于指示第一设备将向该第二设备发起寻呼page;向该第二设备发送第一page数据包,该第一page数据包中包含该第二设备的设备标识;当在预设时长内接收到该第二设备发送的第一id包时,向该第二设备发送第一fhs数据包,其中,该第一id包中包含该第二设备的设备标识,该第一id包是该第二设备根据该第一page数据包向该第一设备发送的,该第一fhs数据包中包含该第一设备的蓝牙地址和时钟信息;根据接收到的该第二设备发送的第二id包切换至connection状态,该第二id包是该第二设备根据该第一fhs数据包向该第一设备发送的。
[0036]
结合第五方面,在一种可能的实现方式中,该蓝牙芯片还用于执行以下操作:当在该预设时长内未接收到该第二设备发送的第一id包时,向该第二设备发送第二ble广播信号,该第二ble广播信号用于指示该第二设备向该第一设备发起page;接收该第二设备发送的第二page数据包,该第二page数据包中包含该第一设备的设备标识,该第二page数据包是该第二设备根据该第二ble广播信号向该第一设备发送的;根据该第二page数据包向该第二设备发送第三id包,该第三id包中包含该第一设备的设备标识;接收该第二设备发送的第二fhs数据包切换至connection状态,其中,该第二fhs数据包中包含该第二设备的蓝牙地址和时钟信息,该第二fhs数据包是该第二设备根据该第三id包向该第一设备发送的;根据该第二fhs数据包向该第二设备发送第四id包,该第四id包中包含该第一设备的设备标识。
[0037]
结合第五方面,在一种可能的实现方式中,该蓝牙芯片还用于执行以下操作:当在预设时长内接收到该第二设备发送的该第一id包时,从page状态切换至主单元寻呼响应master page response状态。
[0038]
结合第五方面,在一种可能的实现方式中,该蓝牙芯片还用于执行以下操作:当接收到该第二设备发送的该第二page数据包时,从page scan状态切换至slave page response状态。
[0039]
结合第五方面,在一种可能的实现方式中,该蓝牙芯片具体用于执行以下操作:当蓝牙连接的接收信号强度rrsi低于预设阈值时,或者接收到连接超时connection timeout的错误码时,向该第二设备发送该第一ble广播信号。
[0040]
结合第五方面,在一种可能的实现方式中,该第一设备的设备标识可以包括该第一设备的dac或者iac;该第二设备的设备标识可以包括该第二设备的dac或者iac。
[0041]
结合第五方面,在一种可能的实现方式中,该第一ble广播信号中包含第一ad structure,该第一ad structure中包含第一数据,第一数据用于指示第一设备将向第二设备发送page请求。该第二ble广播信号中包含第二ad structure,该第二ad structure中包含第二数据,第二数据用于指示第二设备向第一设备发送page请求。
[0042]
第六方面,本申请实施例提供了一种蓝牙芯片,该蓝牙芯片用于执行以下操作:当蓝牙连接断开时,向第二设备发送第二ble广播信号,该第二ble广播信号用于指示该第二设备向该第一设备发起page;接收该第二设备发送的第二page数据包,该第二page数据包
中包含该第一设备的设备标识,该第二page数据包是该第二设备根据该第二ble广播信号向该第一设备发送的;根据该第二page数据包向该第二设备发送第三id包,该第三id包中包含该第一设备的设备标识;接收该第二设备发送的第二fhs数据包切换至connection状态,该第二fhs数据包中包含该第二设备的蓝牙地址和时钟信息,该第二fhs数据包是第二设备根据该第三id包向该第一设备发送的;根据该第二fhs数据包向该第二设备发送第四id包,该第四id包中包含该第一设备的设备标识,该第四id包用于指示该第二设备切换至connection状态。
[0043]
结合第六方面,在一种可能的实现方式中,该蓝牙芯片还用于执行以下操作:当接收到该第二设备发送的该第二page数据包时,从page scan状态切换至slave page response状态。
[0044]
结合第六方面,在一种可能的实现方式中,该蓝牙芯片还用于执行以下操作:当蓝牙连接的接收信号强度rrsi低于预设阈值时,或者接收到连接超时connection timeout的错误码时,向该第二设备发送第二ble广播信号。
[0045]
结合第六方面,在一种可能的实现方式中,该第一设备的设备标识可以包括该第一设备的dac或者iac;该第二设备的设备标识可以包括该第二设备的dac或者iac。
[0046]
结合第六方面,在一种可能的实现方式中,该第二ble广播信号中包含第二ad structure,该第二ad structure中包含第二数据,第二数据用于指示第二设备向第一设备发送page请求。
[0047]
第七方面,本申请实施例提供了一种蓝牙连接系统,该蓝牙系统包括第一设备和第二设备,其中:该第一设备,用于:当蓝牙连接断开时,向该第二设备发送第一低功耗蓝牙ble广播信号,该第一ble广播信号用于指示该第一设备将向该第二设备发起寻呼page;向该第二设备发送第一page数据包,该第一page数据包中包含该第二设备的设备标识;当在预设时长内接收到该第二设备发送的第一id包时,向该第二设备发送第一fhs数据包,其中,该第一id包中包含该第二设备的设备标识,该第一id包是该第二设备根据该第一page数据包向该第一设备发送的,该第一fhs数据包中包含该第一设备的蓝牙地址和时钟信息;根据接收到第二设备发送的第二id包切换至connection状态。该第二设备,用于根据接收到的该第一fhs数据包切换至连接connection状态,并向该第一设备发送第二id包,该第二id包中包含该第二设备的设备标识。
[0048]
结合第七方面,在一种可能的实现方式中,该第一设备,还用于:当在该预设时长内未接收到该第二设备发送的第一id包时,向该第二设备发送第二ble广播信号,该第二ble广播信号用于指示该第二设备向该第一设备发起page;根据接收到的该第二设备发送的第二page数据包向该第二设备发送第三id包,该第三id包中包含该第一设备的设备标识;根据接收到的该第二设备发送的第二fhs数据包,切换至connection状态,并向该第二设备发送第四id包,该第四id包中包含该第一设备的设备标识。该第二设备,还用于:根据接收到的该第二ble广播信号向该第一设备发送第二page数据包,该第二page数据包中包含该第一设备的设备标识;根据接收到的该第三id包向该第一设备发送第二fhs数据包,该第二fhs数据包中包含该第二设备的蓝牙地址和时钟信息;根据接收到的该第四id包切换至connection状态。
[0049]
结合第七方面,在一种可能的实现方式中,该第一设备,还用于:当在预设时长内
接收到该第二设备发送的该第一id包时,从page状态切换至主单元寻呼响应master page response状态。
[0050]
结合第七方面,在一种可能的实现方式中,该第一设备,还用于:当接收到该第二设备发送的该第二page数据包时,从寻呼扫描page scan状态切换至slave page response状态。
[0051]
结合第七方面,在一种可能的实现方式中,该第一设备,还用于:当接收到该第一设备发送的该第三id包时,从page状态切换至主单元寻呼响应master page response状态。
[0052]
结合第七方面,在一种可能的实现方式中,该第一设备,具体用于:当蓝牙连接的接收信号强度rrsi低于预设阈值时,或者接收到连接超时connection timeout的错误码时,向该第二设备发送第一ble广播信号。
[0053]
结合第七方面,在一种可能的实现方式中,当蓝牙连接断开时,该第二设备处于低功耗蓝牙扫描ble scan状态。
[0054]
结合第七方面,在一种可能的实现方式中,该第一设备的设备标识可以包括该第一设备的dac或者iac;该第二设备的设备标识可以包括该第二设备的dac或者iac。
[0055]
结合第七方面,在一种可能的实现方式中,该第一ble广播信号中包含第一ad structure,该第一ad structure中包含第一数据,第一数据用于指示第一设备将向第二设备发送page请求。该第二ble广播信号中包含第二ad structure,该第二ad structure中包含第二数据,第二数据用于指示第二设备向第一设备发送page请求。
[0056]
结合第七方面,在一种可能的实现方式中,第二设备还用于:在接收到第一设备发送的page数据包之后,停止ble scan。通过这种方式,可以节省第二设备的功耗。
[0057]
结合第七方面,在一种可能的实现方式中,第二设备还用于:在接收到第二ble广播信号之后,停止ble scan。通过这种方式,可以节省第二设备的功耗。
[0058]
第八方面,本申请实施例提供了一种蓝牙连接系统,该蓝牙连接系统包括第一设备和第二设备,其中:该第一设备,用于:当蓝牙连接断开时,向该第二设备发送第二ble广播信号,该第二ble广播信号用于指示该第二设备向该第一设备发起page;根据接收到的该第二设备发送的第二page数据包向该第二设备发送第三id包,该第三id包中包含该第一设备的设备标识;根据接收到的该第二设备发送的第二fhs数据包切换至connection状态,并向该第二设备发送第四id包。该第二设备,用于:根据接收到的该第一设备发送的第二ble广播信号向该第一设备发送第二page数据包,该第二page数据包中包含该第一设备的设备标识;根据接收到的该第一设备发送的第二id包向该第一设备发送第二fhs数据包,该第二fhs数据包中包含该第二设备的蓝牙地址和时钟信息;根据接收到的该第一设备发送的第四id包切换至connection状态。
[0059]
结合第八方面,在一种可能的实现方式中,该第一设备还用于:当接收到该第二设备发送的该第二page数据包时,从page scan状态切换至slave page response状态。
[0060]
结合第八方面,在一种可能的实现方式中,该第二设备还用于:当接收到该第一设备发送的该第三id包时,该第二设备从page状态切换至master page response状态。
[0061]
结合第八方面,在一种可能的实现方式中,该第一设备具体用于:当蓝牙连接的接收信号强度rrsi低于预设阈值时,或者接收到连接超时connection timeout的错误码时,
向该第二设备发送第二ble广播信号。
[0062]
结合第八方面,在一种可能的实现方式中,当蓝牙连接断开时,该第二设备处于ble scan状态。
[0063]
结合第八方面,在一种可能的实现方式中,该第一设备的设备标识可以包括该第一设备的dac或者iac;该第二设备的设备标识可以包括该第二设备的dac或者iac。
[0064]
结合第八方面,在一种可能的实现方式中,该第二ble广播信号中包含第二ad structure,该第二ad structure中包含第二数据,第二数据用于指示第二设备向第一设备发送page请求。
[0065]
结合第八方面,在一种可能的实现方式中,第二设备还用于:在接收到第一设备发送的page数据包之后,停止ble scan。通过这种方式,可以节省第二设备的功耗。
[0066]
结合第八方面,在一种可能的实现方式中,第二设备还用于:在接收到第二ble广播信号之后,停止ble scan。通过这种方式,可以节省第二设备的功耗。
[0067]
第九方面,本申请实施例提供了一种计算机存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述第一方面任一项可能的实现方式,或者上述第二方面任一可能的实现方式中的蓝牙回连方法。
[0068]
第十方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行执行上述第一方面任一项可能的实现方式,或者上述第二方面任一可能的实现方式中的蓝牙回连方法。
[0069]
在本申请实施例中,第一设备可以为蓝牙耳机,第二设备可以为移动终端,在移动终端和蓝牙耳机的蓝牙连接断开之后,蓝牙耳机向移动终端发送ble广播信号。若移动终端确定接收到的是第一ble广播信号,则移动终端无需page蓝牙耳机,并等待接收蓝牙耳机发送的page数据包;若移动终端确定接收到的是第二ble广播信号,则移动终端主动page蓝牙耳机,蓝牙耳机等待接收移动终端发送的page数据包。通过这种方式,可以避免移动终端以及蓝牙耳机两方同时发送page数据包而造成的page请求碰撞的问题,提升蓝牙回连的成功率。
附图说明
[0070]
图1a是本申请实施例提供的一种蓝牙连接系统的示意图;
[0071]
图1b是本申请实施例提供的一种中心设备上显示的蓝牙设置界面的示意图;
[0072]
图1c是本申请实施例提供的一种中心设备上显示的快捷操作菜单的示意图;
[0073]
图1d是本申请实施例提供的一种蓝牙回连方法的流程示意图;
[0074]
图2a是本申请实施例提供的一种电子设备的结构示意图;
[0075]
图2b是本申请实施例提供的一种电子设备的软件结构框图;
[0076]
图2c是本申请实施例提供的又一种电子设备的结构示意图;
[0077]
图3是本申请实施例提供的又一种蓝牙回连的方法的流程示意图;
[0078]
图4a是本申请实施例提供的一种在中心设备上显示回连指示信息的用户界面的示意图;
[0079]
图4b是本申请实施例提供的一种第一ble广播信号的数据格式的示意图;
[0080]
图4c是本申请实施例提供的一种第二ble广播信号的数据格式的示意图;
[0081]
图5是本申请实施例提供的又一种蓝牙回连的方法的流程示意图;
[0082]
图6是本申请实施例提供的又一种蓝牙回连的方法的流程示意图。
具体实施方式
[0083]
下面将结合附图对本申请实施例中的技术方案进行清除、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
[0084]
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0085]
本申请实施例中的用户界面(user interface,ui),是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。应用程序的用户界面是通过java、可扩展标记语言(extensible markup language,xml)等特定计算机语言编写的源代码,界面源代码在电子设备300设备上经过解析,渲染,最终呈现为用户可以识别的内容,比如图片、文字、按钮等控件。控件(control),是用户界面的基本元素,典型的控件有按钮(button)、小工具(widget)、工具栏(toolbar)、菜单栏(menu bar)、文本框(text box)、滚动条(scrollbar)、图片和文本。界面中的控件的属性和内容是通过标签或者节点来定义的,比如xml通过<textview>、<imgview>、<videoview>等节点来规定界面所包含的控件。一个节点对应界面中一个控件或属性,节点经过解析和渲染之后呈现为用户可视的内容。此外,很多应用程序,比如混合应用(hybrid application)的界面中通常还包含有网页。网页,也称为页面,可以理解为内嵌在应用程序界面中的一个特殊的控件,网页是通过特定计算机语言编写的源代码,例如超文本标记语言(hyper text markup language,html),层叠样式表(cascading style sheets,css),java脚本(javascript,js)等,网页源代码可以由浏览器或与浏览器功能类似的网页显示组件加载和显示为用户可识别的内容。网页所包含的具体内容也是通过网页源代码中的标签或者节点来定义的,比如html通过<p>、<img>、<video>、<canvas>来定义网页的元素和属性。
[0086]
用户界面常用的表现形式是图形用户界面(graphic user interface,gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素。
[0087]
接下来,对本申请实施例提供的蓝牙连接系统进行介绍。请参见图1a,图1a是本申请实施例提供的一种蓝牙连接系统的示意图。蓝牙连接系统10可以包括中心设备100以及外围设备200。其中:
[0088]
中心设备100,可以为移动终端、平板电脑、笔记本电脑、个人电脑等具备蓝牙连接功能的电子设备,图1a中以移动终端为例。外围设备200可以是无线(蓝牙)耳机、智能音箱、智能手表、便携式媒体播放设备、车载媒体播放设备等具备蓝牙连接功能的电子设备,图1a
中以无线耳机为例。中心设备100和外围设备200可以通过蓝牙进行连接。
[0089]
目前,蓝牙连接的断开可以分为两种,一种是中心设备接收到用户在中心设备的界面中输入的关闭中心设备的蓝牙功能的操作,响应于该操作,中心设备与外围设备的蓝牙连接断开;或者,外围设备接收到用户在外围设备的界面、按钮输入的关闭外围设备的蓝牙功能(或者电源)的操作,响应于该操作,中心设备与外围设备的蓝牙连接断开。这种断开蓝牙连接的方式可以称为“主动断开”。举例来说,中心设备接收到的主动断开蓝牙连接的用户操作可以为:用户点击中心设备的蓝牙设置界面中的开关控件的操作(可参见图1b所对应的实施例中,用户作用于开关控件201的用户操作),用户点击中心设备的快捷操作菜单中的蓝牙控件的操作(可参见图1c所对应的实施例中,用户作用于蓝牙控件210的用户操作)。另外,在中心设备主动断开蓝牙连接的情况下,中心设备将接收到“connection terminated by local host”等错误码(error code),外围设备将接收到“remote user terminated connection”等错误码。
[0090]
另一种是由于蓝牙连接的距离拉远或者信号质量较差导致等原因的蓝牙连接断开。这种断开蓝牙连接的方式可以称为“被动断开”。举例来说,中心设备的蓝牙接收信号强度(received signal strength indicator,rrsi)低于阈值。这个阈值可以进行设定,例如,可以为-80dbm、-90dbm等。这种情况可以视为蓝牙连接被动断开。另外,在中心设备或者外围设备蓝牙连接被动断开的情况下,将接收到“connection timeout”等错误码。还可以丢包率、误包率等参数低于阈值。通常来讲,外围设备200在蓝牙连接被动断开之后,会主动向已配对的中心设备100(最近一次连接的中心设备)发送page数据包,以恢复蓝牙连接。这种蓝牙回连的方法可以参照图1d所示的方法流程图。图1d所示的方法至少包括以下步骤:
[0091]
s101、当蓝牙连接被动断开时,外围设备向中心设备发送page数据包。
[0092]
具体的,当蓝牙连接被动断开时,外围设备进入page状态。在外围设备进入page状态之后,外围设备向中心设备发送page数据包。可选的,外围设备每隔预设时间选择一个新的频率来发送page数据包。其中,外围设备发送的page数据包中包括中心设备的设备访问码(device access code,dac)。
[0093]
蓝牙系统中存在三种不同的访问码(access code),这三种访问码为:设备访问码、通道访问码(channel access code,cac)和查询访问码(inquiry access code,iac)。设备访问码用于page、page scan以及page response的流程中,设备访问码根据被page的电子设备的蓝牙地址(bd_addr)生成。通道访问码在连接(connection)状态时使用,作为蓝牙网络中物理信道上交换的数据帧的包头(packet header)。cac包括preamble、sync word和trailer位,其总长为72位。cac根据发起page的电子设备的bd_addr的lap生成。查询访问码在查询(inquiry)状态时使用,一旦作为不带包头的自包含信息传输时,dac和iac就不包括trailer位,其长度达到68位。
[0094]
需要说明的是,当蓝牙连接被动断开时,中心设备处于page scan状态。在中心设备处于page scan状态的情况下,会根据寻呼跳变序列(paging hopping sequence)每隔1.28s选择一个新的监听频率监听自己的设备访问码。中心设备使用的寻呼跳变序列是一个定义明确的周期序列,它的各个频点均匀分布在2.4g的79个频率信道上。其中,中心设备在一个寻呼频率信道上扫描的持续时间可以被称为寻呼扫描窗口(page scan windows),且寻呼扫描窗口大小固定。连续两个寻呼扫描窗口的开始时间之间的间隔可以被称为寻呼
扫描间隔(page scan interval),且寻呼扫描间隔固定。寻呼扫描间隔的取值范围可以为11.25me-2560ms。中心设备在一个扫描窗口存在的时间段中,监听中心设备的设备访问码(device access code,dac)。
[0095]
s102、在接收到外围设备发送的page数据包之后,中心设备根据该page数据包向外围设备发送id包。
[0096]
具体的,中心设备根据该page数据包向外围设备发送id包的方式可以为:中心设备确定page数据包中包含自己的dac,中心设备向外围设备发送id包。其中,该id包中携带中心设备的设备访问码或者查询访问码(inquiry access code,iac)。id包的总长度为68位。此时,中心设备从寻呼扫描(page scan)状态切换为从单元寻呼响应(slave page response)状态。
[0097]
s103、在接收到中心设备发送的id包之后,外围设备根据该id包向中心设备发送fhs数据包。
[0098]
其中,fhs数据包是表明电子设备的蓝牙地址和发送方时钟(clk)的特殊控制数据包。fhs数据包可以用于寻呼主单元响应、查询响应和跳频同步。具体的,外围设备向中心设备发送的fhs数据包中包括外围设备的蓝牙地址、实时时钟等信息。需要说明的是,在接收到中心设备发送的id包之后,外围设备从page状态切换为主单元寻呼响应(master page response)状态。
[0099]
s104、在接收到外围设备发送的fhs数据包之后,中心设备根据该fhs数据包向外围设备发送id包。
[0100]
其中,id包中携带中心设备的设备访问码或者查询访问码。在接收到外围设备发送的fhs数据包之后,中心设备从slave page response状态切换为连接(connection)状态。另外,在接收到中心设备发送的id包之后,外围设备从主单元寻呼响应(slave page response)状态切换为连接(connection)状态。此时,中心设备以及外围设备均处于连接状态,蓝牙连接恢复。
[0101]
可选的,在接收到中心设备发送的id包之后,外围设备可以根据该id数据包向中心设备发送poll数据包。其中,poll数据包用于检查从设备(中心设备)是否启动。在中心设备接收到poll数据包之后,可以根据该poll数据包向外围设备发送任何类型的数据包。
[0102]
需要说明的是,在一些场景中,在蓝牙连接被动断开之后,中心设备也会向外围设备发起page。例如,中心设备为智能终端,外围设备为蓝牙耳机。在用户使用蓝牙耳机播放智能终端上的音乐播放器中的歌曲的过程中,若蓝牙耳机离开了智能终端的附近区域,超出了支持蓝牙连接的最大距离,蓝牙连接被动断开。音乐播放器可能向智能终端发送蓝牙连接的请求,响应于该请求,智能终端向外围设备发起page。相似的,视频播放类、游戏类等第三方应用程序,也可能在蓝牙连接被动断开时,向智能终端发送蓝牙连接的请求。在又一种可能的场景中,在蓝牙连接被动断开之后,智能终端可能会接收到用户作用于蓝牙设备界面中的未连接的蓝牙设备选项的点击操作,响应于用户的点击操作,智能终端向蓝牙耳机发起page。这种点击操作可以参照图1b所对应的实施例中,用户作用于控件204的点击操作。
[0103]
在上述场景中,外围设备向中心设备发起page的同时,中心设备也发起对外围设备的page,即,中心设备以及外围设备均处于page状态。那么,中心设备无法接收到外围设
备发送的page数据包,外围设备也无法接收到中心设备发送的page数据包。中心设备和外围设备两方的page请求发生碰撞,导致蓝牙连接失败。
[0104]
在本申请实施例中,在蓝牙连接被动断开之后,外围设备首先向中心设备发送ble广播信号,该ble广播信号用于指示中心设备是否需要向外围设备发起page。若ble广播信号为指示中心设备无需向外围设备发起page的第一ble广播信号,则中心设备不向外围设备发起page,并等待接收外围设备的page数据包。若ble广播信号为指示中心设备向外围设备发起page的第二ble广播信号,则中心设备向外围设备发起page,外围设备等待接收中心设备发送的page数据包。通过这种方式,可以避免中心设备和外围设备两方的page请求发生碰撞的问题,提升蓝牙回连的成功率。
[0105]
在本申请实施例中,图1a所示的蓝牙连接系统10是基于蓝牙协议的蓝牙系统。即,中心设备100、外围设备200可以均支持蓝牙低功耗(bluetooth low energy,ble)的广播通信功能。具体的,外围设备200可以在ble广播信道上广播ble广播信号,中心设备100可以扫描ble广播信道并接收ble广播信号。
[0106]
可以理解的,本申请实施例以蓝牙连接系统10是基于蓝牙协议实现为例进行介绍,但是本申请实施例不限于ble广播通信,也可以是wi-fi广播通信或者其他短距离的无线广播通信(例如,近场通信(near field communication,nfc)),本申请实施例对广播通信的方式不做限制。
[0107]
参见图1b,是本申请实施例提供的一种中心设备100上显示的蓝牙设置界面的示意图。具体的,图1b所示的蓝牙设备界面中包括:开关控件201、详情控件201、控件203、控件204、控件205以及控件206。其中:
[0108]
开关控件201,可以用于设置蓝牙的开启/关闭状态。具体的,开关控件201有两个显示状态,“on(开启)”状态和“off(关闭)”状态。在开关控件201显示为“on”状态时,若接收到用户对开关控件201的用户操作,则响应于该用户操作,电子设备关闭蓝牙连接,并将开关控件201从显示“on”状态切换为显示“off”状态。需要说明的,这种断开蓝牙连接的方式为“主动断开”蓝牙连接的方式。还可以存在其他的人为操作使得蓝牙连接断开,例如,用户对快捷操作菜单中的蓝牙控件的用户操作,可以使得蓝牙从开启状态切换为关闭状态(可参见图1c所示的实施例),以及用户输入的语音指令(例如,“关闭/断开蓝牙连接”)使得蓝牙从开启状态切换为关闭状态。在开关控件201显示为“off”状态时,若接收到用户对开关控件201的用户操作,则响应于该用户操作,电子设备开启蓝牙连接,并将开关控件201从显示“off”状态切换为显示“on”状态。
[0109]
详情控件201,可以用于查看中心设备100的蓝牙的详情信息,例如,蓝牙的名称。
[0110]
控件203,可以用于接收用户的操作(例如,点击操作),响应于该用户的操作,中心设备100显示通过蓝牙接收到的文件的信息。
[0111]
控件204,可以用于接收用户的操作(例如,点击操作),响应于该用户的操作,中心设备100向控件204指示的外围设备huawei free buds发送page数据包,以进行蓝牙连接。具体的,控件204指示的外围设备huawei free buds为已与本中心设备100配对成功的电子设备。其中,控件204中的指示信息“未连接状态”表明当前中心设备100未与外围设备huawei free buds建立蓝牙连接。若控件204显示指示信息为“已连接状态”,则表明当前中心设备100已经与外围设备huawei free buds建立了蓝牙连接。需要说明的是,若在非人为
unit,gpu),图像信号处理器(image signal processor,isp),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,dsp),基带处理器,和/或神经网络处理器(neural-network processing unit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
[0119]
其中,控制器可以是电子设备10的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
[0120]
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
[0121]
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,i2c)接口,集成电路内置音频(inter-integrated circuit sound,i2s)接口,脉冲编码调制(pulse code modulation,pcm)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,uart)接口,移动产业处理器接口(mobile industry processor interface,mipi),通用输入输出(general-purpose input/output,gpio)接口,用户标识模块(subscriber identity module,sim)接口,和/或通用串行总线(universal serial bus,usb)接口等。
[0122]
i2c接口是一种双向同步串行总线,包括一根串行数据线(serial data line,sda)和一根串行时钟线(derail clock line,scl)。在一些实施例中,处理器110可以包含多组i2c总线。处理器110可以通过不同的i2c总线接口分别耦合触摸传感器180k,充电器,闪光灯,摄像头193等。例如:处理器110可以通过i2c接口耦合触摸传感器180k,使处理器110与触摸传感器180k通过i2c总线接口通信,实现电子设备10的触摸功能。
[0123]
i2s接口可以用于音频通信。在一些实施例中,处理器110可以包含多组i2s总线。处理器110可以通过i2s总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过i2s接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
[0124]
pcm接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过pcm总线接口耦合。在一些实施例中,音频模块170也可以通过pcm接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述i2s接口和所述pcm接口都可以用于音频通信。
[0125]
uart接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,uart接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过uart接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过uart接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
[0126]
mipi接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。mipi接口包括摄像头串行接口(camera serial interface,csi),显示屏串行接口(display serial interface,dsi)等。在一些实施例中,处理器110和摄像头193通过csi接口通信,实现电子设备10的拍摄功能。处理器110和显示屏194通过dsi接口通信,实现电子设备10的显
示功能。
[0127]
gpio接口可以通过软件配置。gpio接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,gpio接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。gpio接口还可以被配置为i2c接口,i2s接口,uart接口,mipi接口等。
[0128]
usb接口130是符合usb标准规范的接口,具体可以是mini usb接口,micro usb接口,usb type c接口等。usb接口130可以用于连接充电器为电子设备10充电,也可以用于电子设备10与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他电子设备,例如ar设备等。
[0129]
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备10的结构限定。在本申请另一些实施例中,电子设备10也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
[0130]
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过usb接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备10的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
[0131]
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
[0132]
电子设备10的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
[0133]
天线1和天线2用于发射和接收电磁波信号。电子设备10中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
[0134]
移动通信模块150可以提供应用在电子设备10上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,lna)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
[0135]
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170a,受话器170b等)输
出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
[0136]
无线通信模块160可以提供应用在电子设备10上的包括无线局域网(wireless local area networks,wlan)(如无线保真(wireless fidelity,wi-fi)网络),蓝牙(bluetooth,bt),全球导航卫星系统(global navigation satellite system,gnss),调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
[0137]
其中,无线通信模块160中的bt和ble广播功能可以是由蓝牙芯片实现。电子设备10扫描ble广播信道并接收回连广播信号,需要将蓝牙芯片上电,且启用蓝牙芯片上的扫描ble广播信号功能相关的软件模块。本申请实施例中,若中心设备100判定与外围设备200的蓝牙连接断开是非人为操作导致的,则可以通过打开扫描ble广播信号功能使得蓝牙芯片上电。
[0138]
在一些实施例中,电子设备10的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备10可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,gsm),通用分组无线服务(general packet radio service,gprs),码分多址接入(code division multiple access,cdma),宽带码分多址(wideband code division multiple access,wcdma),时分码分多址(time-division code division multiple access,td-scdma),长期演进(long term evolution,lte),bt,gnss,wlan,nfc,fm,和/或ir技术等。所述gnss可以包括全球卫星定位系统(global positioning system,gps),全球导航卫星系统(global navigation satellite system,glonass),北斗卫星导航系统(beidou navigation satellite system,bds),准天顶卫星系统(quasi-zenith satellite system,qzss)和/或星基增强系统(satellite based augmentation systems,sbas)。
[0139]
电子设备10通过gpu,显示屏194,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。
[0140]
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,lcd),有机发光二极管(organic light-emitting diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,amoled),柔性发光二极管(flex light-emitting diode,fled),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emitting diodes,qled)等。在一些实施例中,电子设备10可以包括1个或n个显示屏194,n为大于1的正整数。
[0141]
电子设备10可以通过isp,摄像头193,视频编解码器,gpu,显示屏194以及应用处理器等实现拍摄功能。
[0142]
isp用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给isp处理,转化为肉眼可见的图像。isp还可以对图像的噪点,亮度,肤色进行算法优化。isp还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,isp可以设置在摄像头193中。
[0143]
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp转换成数字图像信号。isp将数字图像信号输出到dsp加工处理。dsp将数字图像信号转换成标准的rgb,yuv等格式的图像信号。在一些实施例中,电子设备10可以包括1个或n个摄像头193,n为大于1的正整数。
[0144]
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备10在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
[0145]
视频编解码器用于对数字视频压缩或解压缩。电子设备10可以支持一种或多种视频编解码器。这样,电子设备10可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,mpeg)1,mpeg2,mpeg3,mpeg4等。
[0146]
npu为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现电子设备10的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
[0147]
外部存储器接口120可以用于连接外部存储卡,例如micro sd卡,实现扩展电子设备10的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
[0148]
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备10的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备10使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,ufs)等。
[0149]
电子设备10可以通过音频模块170,扬声器170a,受话器170b,麦克风170c,耳机接口170d,以及应用处理器等实现音频功能。例如音乐播放,录音等。
[0150]
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
[0151]
扬声器170a,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备10可以通过扬声器170a收听音乐,或收听免提通话。
[0152]
受话器170b,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备10接听
电话或语音信息时,可以通过将受话器170b靠近人耳接听语音。
[0153]
麦克风170c,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170c发声,将声音信号输入到麦克风170c。电子设备10可以设置至少一个麦克风170c。在另一些实施例中,电子设备10可以设置两个麦克风170c,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备10还可以设置三个,四个或更多麦克风170c,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
[0154]
耳机接口170d用于连接有线耳机。耳机接口170d可以是usb接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,omtp)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the usa,ctia)标准接口。
[0155]
压力传感器180a用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180a可以设置于显示屏194。压力传感器180a的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180a,电极之间的电容改变。电子设备10根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备10根据压力传感器180a检测所述触摸操作强度。电子设备10也可以根据压力传感器180a的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
[0156]
陀螺仪传感器180b可以用于确定电子设备10的运动姿态。在一些实施例中,可以通过陀螺仪传感器180b确定电子设备10围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180b可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180b检测电子设备10抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备10的抖动,实现防抖。陀螺仪传感器180b还可以用于导航,体感游戏场景。
[0157]
气压传感器180c用于测量气压。在一些实施例中,电子设备10通过气压传感器180c测得的气压值计算海拔高度,辅助定位和导航。
[0158]
磁传感器180d包括霍尔传感器。电子设备10可以利用磁传感器180d检测翻盖皮套的开合。在一些实施例中,当电子设备10是翻盖机时,电子设备10可以根据磁传感器180d检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
[0159]
加速度传感器180e可检测电子设备10在各个方向上(一般为三轴)加速度的大小。当电子设备10静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
[0160]
距离传感器180f,用于测量距离。电子设备10可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备10可以利用距离传感器180f测距以实现快速对焦。
[0161]
接近光传感器180g可以包括例如发光二极管(led)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备10通过发光二极管向外发射红外光。电子设
备10使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备10附近有物体。当检测到不充分的反射光时,电子设备10可以确定电子设备10附近没有物体。电子设备10可以利用接近光传感器180g检测用户手持电子设备10贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180g也可用于皮套模式,口袋模式自动解锁与锁屏。
[0162]
环境光传感器180l用于感知环境光亮度。电子设备10可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180l也可用于拍照时自动调节白平衡。环境光传感器180l还可以与接近光传感器180g配合,检测电子设备10是否在口袋里,以防误触。
[0163]
指纹传感器180h用于采集指纹。电子设备10可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
[0164]
温度传感器180j用于检测温度。在一些实施例中,电子设备10利用温度传感器180j检测的温度,执行温度处理策略。例如,当温度传感器180j上报的温度超过阈值,电子设备10执行降低位于温度传感器180j附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备10对电池142加热,以避免低温导致电子设备10异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备10对电池142的输出电压执行升压,以避免低温导致的异常关机。
[0165]
触摸传感器180k,也称“触控面板”。触摸传感器180k可以设置于显示屏194,由触摸传感器180k与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180k用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180k也可以设置于电子设备10的表面,与显示屏194所处的位置不同。
[0166]
骨传导传感器180m可以获取振动信号。在一些实施例中,骨传导传感器180m可以获取人体声部振动骨块的振动信号。骨传导传感器180m也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180m也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180m获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180m获取的血压跳动信号解析心率信息,实现心率检测功能。
[0167]
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备10可以接收按键输入,产生与电子设备10的用户设置以及功能控制有关的键信号输入。
[0168]
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
[0169]
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
[0170]
sim卡接口195用于连接sim卡。sim卡可以通过插入sim卡接口195,或从sim卡接口195拔出,实现和电子设备10的接触和分离。电子设备10可以支持1个或n个sim卡接口,n为
大于1的正整数。sim卡接口195可以支持nano sim卡,micro sim卡,sim卡等。同一个sim卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。sim卡接口195也可以兼容不同类型的sim卡。sim卡接口195也可以兼容外部存储卡。电子设备10通过sim卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备10采用esim,即:嵌入式sim卡。esim卡可以嵌在电子设备10中,不能和电子设备10分离。
[0171]
电子设备10的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的android系统为例,示例性说明电子设备10的软件结构。
[0172]
图2b是本申请实施例提供的一种电子设备10的软件结构框图。
[0173]
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为四层,从上至下分别为应用层,应用框架层,安卓运行时(android runtime)和系统库,以及内核层。
[0174]
应用层可以包括一系列应用包。
[0175]
如图2b所示,应用包可以包括相机,图库,日历,通话,地图,导航,wlan,蓝牙,音乐,视频,短信息等应用。
[0176]
应用框架层为应用层的应用提供应用编程接口(application programming interface,api)和编程框架。应用框架层包括一些预先定义的函数。
[0177]
如图2b所示,应用框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
[0178]
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
[0179]
内容提供器用来存放和获取数据,并使这些数据可以被应用访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
[0180]
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
[0181]
电话管理器用于提供电子设备10的通信功能。例如通话状态的管理(包括接通,挂断等)。
[0182]
资源管理器为应用提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
[0183]
通知管理器使应用可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,智能终端振动,指示灯闪烁等。
[0184]
android runtime包括核心库和虚拟机。android runtime负责安卓系统的调度和管理。
[0185]
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
[0186]
应用层和应用框架层运行在虚拟机中。虚拟机将应用层和应用框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
[0187]
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:opengl es),2d图形引擎(例如:sgl)等。
[0188]
表面管理器用于对显示子系统进行管理,并且为多个应用提供了2d和3d图层的融合。
[0189]
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:mpeg4,g.264,mp3,aac,amr,jpg,png等。
[0190]
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
[0191]
2d图形引擎是2d绘图的绘图引擎。
[0192]
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
[0193]
本申请实施例中,外围设备200可以为一种电子设备,下面对本申请实施例涉及的电子设备20进行介绍。请参阅图2c,图2c是本申请实施例提供的电子设备20的结构示意图。
[0194]
如图2c所示,电子设备20可以包括:处理器301、存储器302、无线通信模块303、以及电源304。这些部件可以通过总线连接。
[0195]
其中,处理器301可用于读取和执行计算机可读指令,处理器301执行这些应用程序代码以使得电子设备20执行本申请实施例中的方法。具体实现中,处理器301可主要包括控制器、运算器和寄存器。其中,控制器主要负责指令译码,并为指令对应的操作发出控制信号。运算器主要负责执行定点或浮点算数运算操作、移位操作以及逻辑操作等,也可以执行地址运算和转换。寄存器主要负责保存指令执行过程中临时存放的寄存器操作数和中间操作结果等。具体实现中,处理器301的硬件架构可以是专用集成电路(application specific integrated circuits,asic)架构、mips架构、arm架构或者np架构等等。
[0196]
在一些实施例中,处理器301可以用于解析无线通信处理模块303接收到的信号,例如,该接收到的信号可以是电子设备10发送的指示信息,该指示信息用于指示电子设备10接收到人为操作使得蓝牙连接断开。处理器301可以用于根据解析结果进行相应的处理操作,例如,在接收到这样的信号之后,电子设备20不会进行蓝牙回连,即电子设备20不会向电子设备10发送page数据包。
[0197]
在一些实施例中,处理器301还可以用于生成无线通信处理模块303向外发送的信号,例如电子设备20向电子设备10发送的ble广播信号。
[0198]
存储器302与处理器301耦合,用于存储各种软件程序和/或多组指令。具体实现中,存储器302可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器302还可以存储通信程序,该通信程序可用于与电子设备10进行通信。存储器302中还可以存储用于唯一标识该电子设备20的蓝牙地址。
[0199]
无线通信处理模块303可以包括蓝牙(bt)通信处理模块104a、wlan通信处理模块104b中的一项或多项。无线通信模块303,用于支持电子设备20与电子设备10之间的短距离数据交互。在一些实施例中,该无线通信模块303可以包含蓝牙收发器,该蓝牙收发器支持
ble的广播通信功能。具体的,该蓝牙收发器可以用于发送ble回连广播信号。该无线通信模块304还可以包含wi-fi模块,该wi-fi模块可发送回连广播信号。
[0200]
电源304,可以用于向电子设备20包含的各个部件供电。在一些实施例中,该电源304可以是电池,如可充电电池。
[0201]
可以理解的是,本申请实施例示意的结构并不构成对电子设备20的具体限定。电子设备20可以具有比图2c中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图2c中所示出的各种部件可以以硬件、软件、或软件和硬件的组合实现。
[0202]
下面基于上述内容中介绍的蓝牙连接系统10、电子设备10、电子设备20,结合其他附图对本申请实施例提供的蓝牙回连的方法进行详细说明。需要说明的是,在本申请实施例中,蓝牙连接是被动断开的,其中,被动断开的含义可参照上述内容中的描述,此处不再赘述。在本申请提供的以下实施例中,外围设备可以被称为第一设备,中心设备可以被称为第二设备。参见图3,是本申请实施例提供的一种蓝牙回连的方法的流程示意图。该方法至少包括以下步骤:
[0203]
s301、中心设备与外围设备建立蓝牙连接。
[0204]
其中,中心设备与外围设备建立的蓝牙连接为br/edr(basic rate/enhanced data rate)连接,也称为经典蓝牙连接或者传统蓝牙连接。
[0205]
在一种可能的实现方式中,在中心设备和外围设备建立了蓝牙连接之后,中心设备进入ble scan状态。在又一种可能的实现方式中,在蓝牙连接被动断开之后,中心设备进入ble scan状态。举例而言,中心设备可以在接收到“connection timeout”等错误码之后,进入ble scan状态。通过这种方式,可以节省中心设备的功耗。
[0206]
在中心设备进入ble scan状态之后,将开启ble扫描,以监听该移动终端周围环境中的ble广播信号。中心设备扫描ble广播信号的过程可以是中心设备依次在多个广播通道(例如ble广播通道37(2402mhz)、ble广播通道38(2426mhz)、ble广播通道39(2480mhz))上扫描ble广播信号。其中,中心设备在一个ble广播通道上扫描的持续时间可以被称为扫描窗口,且扫描窗口大小固定(例如,扫描窗口可以取10ms至10.24s),连续两个扫描窗口的开始时间之间的间隔可以被称为扫描间隔,且扫描间隔固定(例如,扫描间隔可以取10ms至10.24s)。
[0207]
在一种可能的实现方式中,在蓝牙连接被动断开之后,中心设备还可以在显示屏上显示回连指示信息,该回连指示信息用于指示中心设备正在恢复蓝牙连接。显示该回连指示信息的用户界面的示意图可参照图4a所示,后续内容将对图4a做详细的描述,此处不具体展开。
[0208]
s302、在蓝牙连接被动断开之后,外围设备向中心设备发送第一ble广播信号,该第一ble广播信号用于指示中心设备无需page外围设备。
[0209]
可选的,在外围设备的蓝牙连接满足预定条件时,确定蓝牙连接被动断开。其中,该预定条件可以是蓝牙连接的rssi值低于阈值。这个阈值可以进行设定,例如,可以为-80dbm、-90dbm等。可选的,若外围设备接收到“connection timeout”等错误码,则确定蓝牙连接被动断开。
[0210]
在一种可能的实现方式中,该第一ble广播信号中包含第一ad structure,该第一
ad structure中包含第一数据。具体的,该第一ble广播信号的数据格式可参照图4b所示的示意图。其中,该第一ble广播信号可以包括外围设备的蓝牙地址和广播数据(advdata,ad)部分,广播数据部分包括,有效数据部分(significant)以及无效数据部分(non-significant)。具体的,有效数据部分由一个或多个广播数据单元(ad structure)组成。在有效数据部分中,包含一个第一ad structure,第一ad structure中包含第一数据,第一数据表示外围设备将向中心设备发送page请求,中心设备无需page外围设备。后续内容中将对图4b所示的第一ble广播信号的数据格式进行详细的介绍,此处不具体展开。
[0211]
在又一种可能的实现方式中,外围设备向中心设备发送第一ble广播信号的方式具体为:外围设备向中心设备发送第一预设次数的第一ble广播信号,其中,该第一预设次数可以为1次、2次、3次、4次等次数。两次相邻的第一ble回连广播信号之间的第一时间间隔为100ms、150ms、200ms、300ms等预设的时间间隔。该第一预设次数以及该第一时间间隔均可以根据需要进行设定,本申请实施例不做限制。
[0212]
在又一种可能的实现方式中,在中心设备接收该第一ble广播信号之后,该中心设备根据该第一ble广播信号保持ble scan状态。可选的,中心设备根据该第一ble广播信号保持ble scan状态的方法具体为:首先,中心设备根据该第一ble广播信号确定该外围设备的蓝牙地址与预存的历史连接记录中的一个蓝牙地址一致。之后,中心设备解析该第一ble回连广播信号,确定该第一广播信号中包含第一数据。接下来,中心设备根据该第一数据确定保持ble scan状态。其中,中心设备的历史连接记录用于保存和该中心设备蓝牙配对成功的一个或多个外围设备的蓝牙地址。
[0213]
在又一种可能的实现方式中,在中心设备接收该第一ble广播信号之后,若接收到了第三方应用发送的蓝牙连接的请求,或者接收到了用户作用于蓝牙设备界面中的未连接的蓝牙设备选项的点击操作,中心设备也不会向外围设备发起page。通过这种方式,可以避免在外围设备向中心设备发起page的同时,中心设备也向外围设备发起page的问题,不会造成page请求的碰撞,能够提升蓝牙回连的成功率。
[0214]
s303、在向中心设备发送了第一ble广播信号之后,外围设备向中心设备发送page数据包。
[0215]
在一种可能的实现方式中,在向中心设备发送了第一ble广播信号的预定时间内,外围设备向中心设备发送page数据包。其中,该page数据包中包含该中心设备的设备访问码。外围设备向中心设备发送page数据包时,处于page状态。
[0216]
另外,外围设备向中心设备发送的两次相邻的page数据包之间的第二时间间隔为100ms、150ms、200ms、300ms等预设的时间间隔。需要说明的是,若在预设时长内未接收到中心设备根据page数据包反馈的id包,外围设备确定寻呼超时(page timeout),不再向中心设备发送page数据包,并从page状态切换为page scan状态。其中,预设时长的取值范围可以为0.625ms-40.9s。若在预设时长内接收到了中心设备根据page数据包反馈的id包,外围设备不再向中心设备发送page数据包,并从page状态切换为master page response状态。
[0217]
在又一种可能的实现方式中,在中心设备接收到外围设备发送的page数据包之后,中心设备可以停止ble scan。通过这种方式,可以节省中心设备的功耗。
[0218]
s304、在接收到外围设备发送的page数据包之后,中心设备根据该page数据包向外围设备发送id包。
[0219]
可选的,中心设备根据该page数据包向外围设备发送id包的方式可以为:中心设备根据该page数据包确定该page数据包中包含中心设备的设备访问码,中心设备向外围设备发送id包。
[0220]
s305、在接收到中心设备发送的id包之后,外围设备根据该id包向中心设备发送fhs数据包。
[0221]
s306、在接收到外围设备发送的fhs数据包之后,中心设备根据该fhs数据包向外围设备发送id包。
[0222]
在接收到外围设备发送的fhs数据包之后,中心设备从slave page response状态切换为连接(connection)状态。另外,在接收到中心设备发送的id包之后,外围设备从主单元寻呼响应(slave page response)状态切换为连接(connection)状态。此时,中心设备以及外围设备均处于连接状态,蓝牙连接恢复。需要说明的是,s304-s306的具体实施方式可以参照s102-s104的实施方式,此处不再赘述。
[0223]
参见图4a,是本申请实施例提供的一种在中心设备上显示回连指示信息的用户界面的示意图。
[0224]
图4a示例性示出了用于显示音乐播放的用户界面41的示意图。其中,用户界面41中包括下载控件415、分享控件416、更多控件417、播放进度指示信息414、播放/暂停控件411、上一首控件413、下一首控件412和通知窗口418。其中:
[0225]
下载控件415,可用于接收用户操作,响应于该用户操作,中心设备100将当前播放的歌曲存储到中心设备本地。
[0226]
分享控件416,可用于接收用户操作,响应于该用户操作,中心设备100显示一个或多个分享选项,例如,微信好友、朋友圈、微博、qq好友、复制链接等。用户可以通过选择某个分享选项,将当前播放的歌曲分享到该分享选项对应的地址中。
[0227]
更多控件417,可用于接收用户操作,响应于该用户的操作,中心设备100显示菜单窗口,该菜单窗口可以包括一个或多个操作选项,例如,添加到歌单、删除、查看歌手、查看专辑、播放视频等。
[0228]
播放进度指示信息414,可用于指示当前歌曲的播放进度,可以包括进度条、当前播放时刻以及歌曲总时长等信息。
[0229]
播放/暂停控件411,可用于切换歌曲的播放/暂停状态。具体的,在当前歌曲正在通过蓝牙耳机进行播放的情况下,若蓝牙断开连接,则播放/暂停控件411从显示第一状态切换为显示第二状态,其中,第一状态用于指示当前歌曲处于播放状态,第二状态用于指示当前歌曲处于暂停状态。
[0230]
上一首控件413,可用于接收用户操作,响应于该用户操作,中心设备100从播放当前歌曲切换为播放当前歌曲的上一首歌曲。
[0231]
下一首控件412,可用于接收用户操作,响应于该用户操作,中心设备100从播放当前歌曲切换为播放当前歌曲的下一首歌曲。
[0232]
通知窗口418,可用于显示回连指示信息410。回连指示信息410用于指示中心设备正在恢复蓝牙连接。在一种可能的实现方式中,通知窗口418在显示预设时间后消失,该预设时间可以为4秒,5秒等时间值。或者,当通知窗口418接收到用户的向上滑动的操作时,响应于该操作,中心设备100不再在用户界面41中显示通知窗口418。
structure中的任意一个,第二数据在ad data中的位置也可以根据需要进行设定。举例而言,该第二数据可以为0。
[0246]
在一种可能的实现方式中,外围设备向中心设备发送的两次相邻的第二ble回连广播信号之间的第二时间间隔为100ms、150ms、200ms、300ms等预设的时间间隔。可选的,当外围设备接收到中心设备根据第二ble广播信号反馈的page数据包时,不再向中心设备发送第二ble广播信号。
[0247]
s505、在该中心设备接收该第二ble广播信号之后,该中心设备根据该第二ble广播信号向该外围设备发送page数据包。
[0248]
在一种可能的实现方式中,中心设备根据该第二ble广播信号向该外围设备发送page数据包的方法具体为:首先,中心设备根据该第二ble广播信号确定该外围设备的蓝牙地址与预存的历史连接记录中的一个蓝牙地址一致。之后,中心设备解析该第二ble回连广播信号,确定该第二广播信号中包含第二数据。接下来,中心设备根据该第二数据向外围设备发送id包。其中,该id包中携带中心设备的设备访问码或者查询访问码。
[0249]
具体的,中心设备向外围设备发送的page数据包中包括外围设备的dac。可选的,中心设备向外围设备发送多次page数据包,中心设备向外围设备发送的两次相邻的page数据包之间的时间间隔为100ms、150ms、200ms、300ms等预设的时间间隔。需要说明的是,若在预设时长内接收到了外围设备根据page数据包反馈的id包,中心设备不再向外围设备发送page数据包,并从page状态切换为master page response状态。
[0250]
在又一种可能的实现方式中,在中心设备接收到第二ble广播信号之后,中心设备可以停止ble scan。通过这种方式,可以节省中心设备的功耗。
[0251]
s506、在接收到中心设备发送的page数据包之后,外围设备根据该page数据包向中心设备发送id包。
[0252]
可选的,外围设备根据该page数据包向中心设备发送id包的方式可以为:外围设备根据该page数据包确定该page数据包中包含外围设备的设备访问码,外围设备向中心设备发送id包。其中,该id包中携带外围设备的设备访问码或者查询访问码。此时,外围设备从寻呼扫描(page scan)状态切换为从单元寻呼响应(slave page response)状态。
[0253]
s507、在接收到外围设备发送的id包之后,中心设备根据该id包向外围设备发送fhs数据包。
[0254]
其中,中心设备向外围设备发送的fhs数据包中包括中心设备的蓝牙地址、实时时钟等信息。需要说明的是,在接收到外围设备发送的id包之后,中心设备从page状态切换为主单元寻呼响应(master page response)状态。
[0255]
s508、在接收到中心设备发送的fhs数据包之后,外围设备根据该fhs数据包向中心设备发送id包。
[0256]
其中,id包中携带外围设备的设备访问码或者查询访问码。在接收到中心设备发送的fhs数据包之后,外围设备从slave page response状态切换为连接(connection)状态。另外,在接收到外围设备发送的id包之后,中心设备从主单元寻呼响应(slave page response)状态切换为连接(connection)状态。此时,中心设备以及外围设备均处于连接状态,蓝牙连接恢复。
[0257]
可选的,在接收到中心设备发送的id包之后,中心设备可以根据该id数据包向外
围设备发送poll数据包。其中,poll数据包用于检查从设备(外围设备)是否启动。在外围设备接收到poll数据包之后,可以根据该poll数据包向中心设备发送任何类型的数据包。
[0258]
在本申请又一种可能的实施例中,在中心设备和外围设备断开连接之后,外围设备首先向中心设备发送第二ble广播信号,该第二ble广播信号用于指示中心设备page外围设备。在中心设备接收到第二ble广播信号之后,中心设备向外围设备发送page数据包,以恢复蓝牙连接。这种实施例可参照图6所示的又一种蓝牙回连的方法的流程示意图。该方法至少包括以下步骤:
[0259]
s601、中心设备与外围设备建立蓝牙连接。
[0260]
其中,步骤s601的具体实施方式均可以参照图3中s301的实施方式,此处不再赘述。
[0261]
s602、在蓝牙连接被动断开之后,外围设备向中心设备发送第二ble广播信号,该第二ble广播信号用于指示中心设备page外围设备。
[0262]
其中,第二ble广播信号可以参照上述内容中的描述,此处不再赘述。
[0263]
s603、在该中心设备接收该第二ble广播信号之后,该中心设备根据该第二ble广播信号向该外围设备发送page数据包。
[0264]
在一种可能的实现方式中,在中心设备接收到该第二广播信号之后,中心设备停止ble scan。通过这种方式,可以节省中心设备的功耗。
[0265]
s604、在接收到中心设备发送的page数据包之后,外围设备根据该page数据包向中心设备发送id包。
[0266]
s605、在接收到外围设备发送的id包之后,中心设备根据该id包向外围设备发送fhs数据包。
[0267]
s606、在接收到中心设备发送的fhs数据包之后,外围设备根据该fhs数据包向中心设备发送id包。在接收到中心设备发送的fhs数据包之后,外围设备从slave page response状态切换为连接(connection)状态。另外,在接收到外围设备发送的id包之后,中心设备从主单元寻呼响应(slave page response)状态切换为连接(connection)状态。此时,中心设备以及外围设备均处于连接状态,蓝牙连接恢复。其中,步骤s602-s606的具体实施方式均可以参照图5中步骤s504-s508的实施方式,此处不再赘述。
[0268]
在以上任一实施例中,在中心设备和外围设备蓝牙被动断开的预设时间段之内,若中心设备并未接收到外围设备发送的ble广播信号(包括第一ble广播信号和第二ble广播信号),则中心设备可以向外围设备发送page数据包,以恢复蓝牙连接。需要说明的是,中心设备向外围设备发送page数据包之后的流程可以参照步骤s604-s606的实施方式,此处不再赘述。
[0269]
在具体场景中,该中心设备可以为移动终端,该外围设备可以为蓝牙耳机。在用户通过蓝牙耳机播放移动终端中的歌曲的过程中,若用户佩戴蓝牙耳机离开了移动终端的附近区域,蓝牙耳机和移动终端的距离超过了可支持蓝牙连接的最大距离,移动终端与蓝牙耳机的蓝牙连接将被动断开。在移动终端和蓝牙耳机的蓝牙连接被动断开之后,蓝牙耳机向移动终端发送ble广播信号。若移动终端确定接收到的是第一ble广播信号,则移动终端无需page蓝牙耳机,并等待接收蓝牙耳机发送的page数据包;若移动终端确定接收到的是第二ble广播信号,则移动终端主动page蓝牙耳机,蓝牙耳机等待接收移动终端发送的page
数据包。通过这种方式,可以避免移动终端以及蓝牙耳机两方同时发送page数据包而造成的page请求碰撞的问题,提升蓝牙回连的成功率。
[0270]
上述本申请实施例提供的一种蓝牙回连方法中第一设备所执行的步骤,也可以由第一设备中包括的一种蓝牙芯片来执行。该蓝牙芯片运行时调用存储器中存储的计算机程序,实现上述第一设备执行的步骤。类似的,上述实施例中,第二设备执行的步骤也可以由第二设备包括的一种蓝牙芯片来执行。该蓝牙芯片运行时调用存储器中存储的计算机程序,实现上述第二设备执行的步骤。
[0271]
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1