CN116033597B - 蓝牙连接方法、装置、电子设备及存储介质 - Google Patents
蓝牙连接方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116033597B CN116033597B CN202210946408.2A CN202210946408A CN116033597B CN 116033597 B CN116033597 B CN 116033597B CN 202210946408 A CN202210946408 A CN 202210946408A CN 116033597 B CN116033597 B CN 116033597B
- Authority
- CN
- China
- Prior art keywords
- bluetooth
- electronic device
- data packet
- format
- electronic equipment
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000004044 response Effects 0.000 claims abstract description 48
- 230000006854 communication Effects 0.000 claims description 69
- 238000004891 communication Methods 0.000 claims description 68
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 7
- 238000013507 mapping Methods 0.000 description 16
- 238000013461 design Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
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
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供一种蓝牙连接方法、装置、电子设备及存储介质。蓝牙连接方法包括:第一电子设备与第二电子设备建立蓝牙连接;第一电子设备在第一时间点向第二电子设备发送第一数据包,第一数据包为第一格式;第一电子设备从第一时间点开始,在预设时长内未接收到第二电子设备返回的响应信息,第一电子设备与第二电子设备之间的蓝牙连接断开;第一电子设备与第二电子设备重新建立蓝牙连接;第一电子设备在第二时间点向第二电子设备发送第二数据包,第二数据包为第二格式,第一格式与第二格式不同。通过本申请的蓝牙连接方法,可以避免蓝牙连接建立后发生连接断开的问题,提升用户使用体验。
Description
技术领域
本申请涉及蓝牙技术领域,尤其涉及一种蓝牙连接方法、装置、电子设备及存储介质。
背景技术
蓝牙技术是一种无线数据和语音通信开放的全球规范,它是基于低成本的近距离无线连接,可以为通信设备建立通信环境的一种特殊的近距离无线技术连接。由于蓝牙技术适用的设备广泛,安全性和抗干扰能力强的优势,其被应用于众多的近距离通信场景中。例如,应用于耳机接听电话、鼠标操控电脑以及近距离传输文件等场景中。
在蓝牙连接过程中,如果蓝牙通信采用的数据包格式有问题,可能会导致蓝牙连接断开,但用户并不知道蓝牙连接断开的具体原因,影响用户正常使用。
发明内容
本申请的主要目的在于提供一种蓝牙连接方法、装置、电子设备及存储介质,旨在解决蓝牙设备支持的数据包格式存在差异而导致蓝牙建立连接后又主动断开连接的技术问题。
为实现上述目的,本申请实施例采用以下技术方案:
第一方面,提供一种蓝牙连接方法,该方法包括:第一电子设备与第二电子设备建立蓝牙连接;第一电子设备在第一时间点向第二电子设备发送第一数据包,第一数据包为第一格式;第一电子设备从第一时间点开始,在预设时长内未接收到第二电子设备返回的响应信息,所述第一电子设备与所述第二电子设备之间的蓝牙连接断开;第一电子设备与第二电子设备重新建立蓝牙连接;第一电子设备在第二时间点向第二电子设备发送第二数据包,第二数据包为第二格式,第一格式与第二格式不同。
在第一方面的一种可能的设计方式中,该方法还包括:在第一电子设备与第二电子设备建立蓝牙连接之前,第一电子设备的host向第一电子设备的controller发送第一HCI命令,第一HCI命令包含第一格式的标识和第二格式的标识。
在第一方面的一种可能的设计方式中,该方法还包括:在第一电子设备与第二电子设备重新建立蓝牙连接之前,第一电子设备的host向第一电子设备的controller发送第二HCI命令,第二HCI命令包含第二格式的标识,且不包含第一格式的标识。
在第一方面的一种可能的设计方式中,该方法还包括:当第一电子设备从第一时间点开始,若在预设时长内接收到第二电子设备返回的响应信息,则第一电子设备将第一格式与第二电子设备或者第二电子设备的设备厂商标识关联存储。
在第一方面的一种可能的设计方式中,该方法还包括:当第一电子设备从第二时间点开始,若在预设时长内接收到第二电子设备返回的响应信息,则第一电子设备将第二格式与第二电子设备或者第二电子设备的设备厂商标识关联存储。
在第一方面的一种可能的设计方式中,第一电子设备在第一时间点向第二电子设备发送第一数据包,第一数据包为第一格式,包括:第一电子设备在第一时间点向第二电子设备发送第一数据包,第一数据包为与第二电子设备关联的第一格式,或者第一数据包为与设备厂商标识关联的第一格式,第二电子设备具有设备厂商标识。
在第一方面的一种可能的设计方式中,第一电子设备在第二时间点向第二电子设备发送第二数据包,第二数据包为第二格式,包括:第一电子设备在第二时间点向第二电子设备发送第二数据包,第二数据包为与第二电子设备关联的第二格式,或者第一数据包为与设备厂商标识关联的第二格式,第二电子设备具有设备厂商标识。
在第一方面的一种可能的设计方式中,第一电子设备与第二电子设备之间的蓝牙连接断开后,该方法还包括:在第一电子设备生成连接超时消息,且第一电子设备和第二电子设备之间的蓝牙信号强度大于预设信号强度阈值时,第一电子设备与第二电子设备重新建立蓝牙连接。
第二方面,提供一种蓝牙连接装置,该装置包括:连接建立模块,用于在第一电子设备与第二电子设备之间建立蓝牙连接;包发送模块,用于在第一时间点向第二电子设备发送第一数据包,第一数据包为第一格式;超时处理模块,用于从第一时间点开始,在预设时长内未接收到第二电子设备返回的响应信息,断开第一电子设备与第二电子设备之间的蓝牙连接;连接建立模块还用于:当第一电子设备与第二电子设备之间的蓝牙连接断开时,与第二电子设备重新建立蓝牙连接;包发送模块还用于:当重新建立蓝牙连接时,在第二时间点向第二电子设备发送第二数据包,第二数据包为第二格式,第一格式与第二格式不同。
在第二方面的一种可能的设计方式中,该装置还包括:HCI命令模块,用于在第一电子设备与第二电子设备建立蓝牙连接之前,通过第一电子设备的host向第一电子设备的controller发送第一HCI命令,第一HCI命令包含第一格式的标识和第二格式的标识。
在第二方面的一种可能的设计方式中,HCI命令模块还用于:在第一电子设备与第二电子设备重新建立蓝牙连接之前,通过第一电子设备的host向第一电子设备的controller发送第二HCI命令,第二HCI命令包含第二格式的标识,且不包含第一格式的标识。
在第二方面的一种可能的设计方式中,该装置还包括:第一存储模块,用于当第一电子设备从第一时间点开始,若在预设时长内接收到第二电子设备返回的响应信息,则将第一格式与第二电子设备或者第二电子设备的设备厂商标识关联存储。
在第二方面的一种可能的设计方式中,该装置还包括:第二存储模块,用于当第一电子设备从第二时间点开始,若在预设时长内接收到第二电子设备返回的响应信息,则将第二格式与第二电子设备或者第二电子设备的设备厂商标识关联存储。
在第二方面的一种可能的设计方式中,包发送模块具体用于:在第一时间点向第二电子设备发送第一数据包,第一数据包为与第二电子设备关联的第一格式,或者第一数据包为与设备厂商标识关联的第一格式,第二电子设备具有设备厂商标识。
在第二方面的一种可能的设计方式中,包发送模块具体用于:在第二时间点向第二电子设备发送第二数据包,第二数据包为与第二电子设备关联的第二格式,或者第一数据包为与设备厂商标识关联的第二格式,第二电子设备具有设备厂商标识。
在第二方面的一种可能的设计方式中,连接建立模块具体用于:第一电子设备与第二电子设备之间的蓝牙连接断开后,在第一电子设备生成连接超时消息,且第一电子设备和第二电子设备之间的蓝牙信号强度大于预设信号强度阈值时,与第二电子设备重新建立蓝牙连接。
第三方面,本申请实施例提供一种电子设备,包括处理器和存储器,处理器用于调用存储器中的计算机程序以执行第一方面或第一方面任意一种可能的实现方式所提供的蓝牙连接方法中电子设备所执行的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令在计算机上运行时,使得计算机执行第一方面或第一方面的任意一种可能的实现方式中所提供的蓝牙连接方法中电子设备所执行的步骤。
本申请的第一电子设备与第二电子设备建立第一次蓝牙连接后,此次连接第一电子设备会选择一种数据包格式来向第二电子设备发送数据包,如果第二电子设备不支持第一电子设备发送的数据包格式,则第二电子设备主动断开已建立的蓝牙连接,此时第一电子设备需要再次向第二电子设备发起蓝牙连接请求。当第一电子设备又重新与第二电子设备建立第二次蓝牙连接时,第一电子设备会修改本次蓝牙连接采用的数据包发送格式,如果第二电子设备能成功解析本次发送的数据包,则说明当前第一电子设备与第二电子设备可以进行蓝牙通信,否则第一电子设备会再次请求与第二电子设备重新建立蓝牙连接并再次更改数据包格式,从而避免了电子设备之间蓝牙连接建立后发生连接断开的问题,提升了用户使用体验。
附图说明
图1为本申请实施例提供的第一电子设备与第二电子设备通信连接的场景示意图;
图2为本申请实施例提供的手机与蓝牙打印机进行蓝牙连接与通信的流程示意图;
图3为本申请实施例提供的手机与蓝牙打印机在不同距离下的蓝牙连接状态示意图;
图4为本申请实施例提供的蓝牙核心系统的架构示意图;
图5为本申请实施例提供的手机蓝牙核心系统与蓝牙打印机蓝牙核心系统进行蓝牙连接与通信的流程示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地描述。
本申请的说明书、权利要求书及附图中的术语“第一”和“第二”等仅用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备等,没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元等,或可选地还包括对于这些过程、方法、产品或设备等固有的其它步骤或单元。
在本申请中提及的“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员可以显式地和隐式地理解的是,本申请描述的实施例可以与其它实施例相结合。
在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上,“至少两个(项)”是指两个或三个及三个以上,“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”。
图1为本申请实施例提供的第一电子设备与第二电子设备通信连接的场景示意图。如图1所示,第一电子设备10与第二电子设备20都属于蓝牙设备。第一电子设备10和第二电子设备20通过蓝牙(bluetooth,BT)通信协议建立蓝牙连接并通信。其中,上述蓝牙通信协议可以为传统蓝牙协议,还可以为低功耗蓝牙(bluetoothlow energy,BLE)协议;当然,还可以是未来推出的其他新的蓝牙协议类型。第一电子设备10与第二电子设备20建立蓝牙连接后,可以实现第二电子设备20的相应功能。例如,当第一电子设备为手机,第二电子设备为蓝牙打印机时,在蓝牙打印机与手机连上以后,可以实现打印手机传输的文档、图片功能;当蓝牙外设为智能手环时,在智能手环与手机连上以后,可以向手机同步运动数据或睡眠信息等功能。
第一电子设备10可以是智能手机、平板电脑、个人数字助理(personaldigitalassistant,PDA)、电视或智能手表等电子设备。第二电子设备20可以包括蓝牙打印机、蓝牙耳机、蓝牙音箱、智能手环、无线车载、无线智能眼镜、增强现实(augmentedreality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、电视或智能手表等支持蓝牙通信协议的电子设备。
本申请实施例对第一电子设备10和第二电子设备20的设备类型不予具体限定。为了便于说明,下文中以第一电子设备10为手机、第二电子设备20为蓝牙打印机为例进行示例性说明。
图2为本申请实施例提供的手机与蓝牙打印机进行蓝牙连接的流程示意图。下面示例性地说明手机与蓝牙打印机建立蓝牙连接并进行蓝牙通信的步骤,包括:
S201,蓝牙打印机发送广播消息;
蓝牙打印机向外发送广播消息,以便手机发现蓝牙打印机。广播消息中携带有蓝牙打印机的设备名称、MAC地址、蓝牙信号强度、通用唯一识别码UUID等。
S202,手机接收到该广播消息,向蓝牙打印机发送连接请求消息;
该连接请求消息可以包括手机的蓝牙标识(例如设备MAC地址),例如手机的设备型号可作为手机的蓝牙标识。可选的,蓝牙标识可以由系统默认设置,也可以由用户根据需求进行设置。连接请求消息还可以包括蓝牙配对码,蓝牙配对码用于在设备间首次蓝牙连接时通过密码配对进行认证,在设备回连时无需进行配对。从用户角度上看,传统的密码配对方式需要在电子设备上输入配对码,当然还可以采用其他配对方式,例如只需要双方确认电子设备屏幕上显示的随机数相同即可,无需输入配密码。
可选地,本申请一实施例还可以包括:当手机向蓝牙打印机发起蓝牙连接请求时,手机的host向手机的controller发送手机自身支持的多种数据包格式的标识,例如:DM1、DH1、DM3、DH3、DM5、DH5、2DH-1、3DH-1、2DH-3等。
S203,蓝牙打印机接收该连接请求消息,并向手机发送第一响应消息,该第一响应消息用于指示蓝牙打印机确认与手机建立蓝牙连接;
S204,手机接收蓝牙打印机发送的第一响应消息,并根据第一响应消息,与蓝牙打印机建立蓝牙连接;
手机10与蓝牙打印机20建立连接,也即需要建立物理链路,进而通过物理链路实现蓝牙通信。较常见的物理链路包括异步无连接(Asynchronous Connectionless,ACL)链路、同步面向连接(Synochronous Connection Oriented,SCO)链路以及增强型同步面向连接(EnhancedSynochronous Connection Oriented,eSCO)链路。其中,ACL链路主要用于对时间要求不敏感的数据通信。例如,用于听歌时,音频数据从手机向耳机的传输。SCO/eSCO链路是两种常规的通话链路,主要用于对时间要求比较敏感的数据通信,尤其是用于语音通话的音频数据的传输。
蓝牙打印机接收手机发起的连接请求消息后,会向手机返回第一响应消息,以供确认与手机建立蓝牙连接,第一响应消息可以包括蓝牙打印机的蓝牙标识(例如设备MAC地址),也可以是用户自定义的命名标识,还可以包括蓝牙信号强度、数据传输信道等。手机根据接收到的第一响应信息,即可与蓝牙打印机建立起蓝牙连接。
S205A,接步骤S204,蓝牙连接建立后,如果预置的映射关系表中存在蓝牙打印机支持的第一数据包格式,则手机采用第一数据包格式向蓝牙打印机发送数据包进行蓝牙通信;
S205B,接步骤S204,蓝牙连接建立后,如果预置的映射关系表中不存在蓝牙打印机支持的第一数据包格式,则手机采用第二数据包格式向蓝牙打印机发送数据包进行蓝牙通信,该第二数据包格式属于手机支持的数据包格式中的一种,第一数据包格式与第二数据包格式不同;
手机与蓝牙打印机之间的蓝牙连接建立后即可通过发送数据包进行蓝牙通信。在手机发送数据包之前,需要先确定待发送数据包的格式,只有采用手机和蓝牙打印机二者都支持的数据包格式才能实现手机与蓝牙打印机之间的蓝牙通信。由于手机和蓝牙打印机各自支持的数据包格式较多,手机并不能确定当前采用的数据包格式是蓝牙打印机所支持的,如果手机采用的数据包格式不是蓝牙打印机所支持的,则无法实现手机与蓝牙打印机之间的蓝牙通信。
因此,本实施例中采用一种映射关系表,用于存储手机与蓝牙打印机进行蓝牙连接与通信过程中学习到的蓝牙打印机支持的数据包格式,如下表1所示,以便于手机快速获得蓝牙打印机支持的数据包格式,从而提升手机与蓝牙打印机进行蓝牙通信的成功率。
表1
如表1所示一实施例的映射关系表,该表记录了手机与蓝牙打印机进行蓝牙连接过程中学习到的蓝牙打印机支持的数据包格式,需要说明的是,该表1仅用于举例说明而并不用于限定本申请。
在蓝牙连接建立后并开始发送数据包之前,手机可以通过建立蓝牙连接过程中获得的蓝牙打印机的MAC地址,然后查询映射关系表,如果预置的映射关系表中存在蓝牙打印机支持的第一数据包格式,则手机采用第一数据包格式向蓝牙打印机发送数据包进行蓝牙通信,从而使手机快速获得蓝牙打印机支持的数据包格式,从而提升手机与蓝牙打印机进行蓝牙通信的成功率。而如果预置的映射关系表中不存在蓝牙打印机支持的第一数据包格式,则手机采用第二数据包格式向蓝牙打印机发送数据包进行蓝牙通信。虽然手机也采用了一种数据包格式向蓝牙打印机发送数据包,但手机并不能确定该数据包格式同样也是蓝牙打印机所支持的,进而存在蓝牙通信失败的可能性。
例如,手机通过接收蓝牙打印机A发送的广播消息,进而获得蓝牙打印机A的MAC地址,比如MAC地址是68:A0:F6:28:C0:CC,然后通过查询表1,获得蓝牙打印机A支持的数据包格式为DM1,进而手机采用DM1数据包格式向蓝牙打印机A发送数据包即可成功实现蓝牙通信。又例如,手机通过接收蓝牙打印机F发送的广播消息,进而获得蓝牙打印机F的MAC地址,比如MAC地址是31:B2:15:50:BE:C3,然后通过查询表1,发现表1中并未存储该MAC地址对应的数据包格式,因此手机不能通过查询表1获得蓝牙打印机F支持的数据包格式,手机只能采用自身支持的数据包格式中的一种数据包格式来发送数据包,比如手机采用的数据包格式为DM1,而蓝牙打印机F支持的数据包格式为2DH-1,由于蓝牙打印机F不支持DM1,则手机和蓝牙打印机F之间无法进行蓝牙通信。
需要进一步说明的是,映射关系表中存储的第一数据包格式指蓝牙打印机支持的数据包格式,而并不特指某一具体的数据包格式,第二数据包格式指手机自身支持的数据包格式中一种数据包格式,而并不特指某一具体的数据包格式。
本实施例还进一步支持对映射关系表中记录的蓝牙打印机(也可以是其他类型的蓝牙设备,比如手机、电脑等)进行所属厂商归类,蓝牙打印机的MAC地址的前三位可以作为厂商标识来区分不同设备厂商,通常由同一厂商生产的不同蓝牙设备(可能是同类型的蓝牙设备,也可能是不同类型的蓝牙设备)所支持的数据包格式相同。
在一可选实施例中,即使映射关系表中未存储蓝牙打印机的MAC地址与数据包格式的映射关系,也可以通过查询蓝牙打印机的MAC地址厂商标识,确定蓝牙打印机支持的数据包格式。手机通过查询MAC地址厂商标识来获取蓝牙打印机支持的数据包格式的具体实现方式如下:
S205C,接步骤S204,蓝牙连接建立后,如果预置的映射关系表中存在蓝牙打印机对应的MAC地址厂商标识,则手机采用该MAC地址厂商标识对应的任一种数据包格式向该蓝牙打印机发送数据包。
例如,继续以蓝牙打印机F以及表1为例进行说明。手机与蓝牙打印机F建立了蓝牙连接,手机先使用蓝牙打印机F的MAC地址查询映射关系表1,通过查询表1可知,表1中记录了蓝牙打印机F的MAC地址厂商标识31:B2:15,该厂商标识对应的数据包格式包括DH5、3DH-3,则可确定蓝牙打印机F也必然支持DH5、3DH-3数据包格式,因此,手机只需选择DH5、3DH-3中的一种数据包格式向蓝牙打印机F发送数据包,即可保证蓝牙打印机F能够正常解析该数据包,从而实现手机与蓝牙打印机F的蓝牙通信。
本可选实施例引入了MAC地址厂商标识,即使手机首次与新的蓝牙打印机连接而未学习并记录待连接蓝牙打印机的MAC地址和数据包格式,也能快速通过MAC地址厂商标识确定相同厂商生产的其他蓝牙设备支持的数据包格式,进而确定待连接蓝牙打印机支持的数据包格式,从而一定程度上提升了手机连接蓝牙打印机的速度和蓝牙通信成功率。
可选地,本申请实施例还可以包括S206A,接步骤S205A或S205B,蓝牙打印机接收并解析手机发送的数据包,若解析成功,则向手机返回第二响应消息;
可选地,本申请实施例还可以包括S206B,接步骤S205A或S205B,蓝牙打印机接收并解析手机发送的数据包,若解析失败,则不向手机返回第二响应消息;
手机如果采用第一数据包格式或者第二数据包格式向蓝牙打印机发送数据包,并且蓝牙打印机对应支持第一数据包格式或第二数据包格式,则蓝牙打印机可以成功解析数据包,进而向手机返回第二响应消息,以供确认与手机成功进行蓝牙通信。第二响应消息可以包括蓝牙打印机的设备名称、MAC地址、蓝牙信号强度、数据传输信道等。
而如果蓝牙打印机不支持第一数据包格式或第二数据包格式,则蓝牙打印机无法成功解析数据包,进而不会向手机返回第二响应消息。由于手机未接收到第二响应消息,进而无法继续向蓝牙打印机发送数据包,从而无法继续与蓝牙打印机进行蓝牙通信。
本实施例中,手机和蓝牙打印机之间虽然建立了蓝牙通信连接,但并不代表手机和蓝牙打印机之间可以进行数据包的传输。蓝牙数据包格式的类型很多,不同蓝牙设备厂商选用的数据包格式参差不齐,导致不同蓝牙设备支持的数据包格式存在差异,进而使得不同蓝牙设备之间即使建立了蓝牙连接,也可能存在无法传输数据包的问题。如果在发送数据包后的预设时长内仍然没有接收到蓝牙打印机返回的第二响应消息,则手机生成蓝牙连接断开原因:连接超时(LMP Response Timeout)。
当手机和蓝牙打印机之间出现本实施例中所述的无法解析数据包而导致连接超时问题时,此时用户并不知晓发生该问题的根本原因,因此用户可能会想到使用常规解决方案去解决该连接超时问题,比如重启手机,然后重新进行蓝牙连接;或者走到蓝牙打印机附近重新进行蓝牙连接,但这些常规解决方案显然都不会成功,进而导致用户体验感变差而产生客诉。
S207A,接步骤S206A,若发送数据包后的预设时长内接收到第二响应消息,则手机判断映射关系表中是否已保存当前采用的数据包格式,若已保存,则不做处理,若未保存,则将当前手机采用的数据包格式与该蓝牙打印机的MAC地址关联存储在映射关系表中;
在手机向蓝牙打印机发送数据包后的预设时长内(比如30s),如果手机接收到了蓝牙打印机返回的第二响应消息,则说明当前手机与蓝牙打印机已经建立了稳定的蓝牙连接,进而能够保证二者之间可以进行稳定地蓝牙通信。也即说明当前手机采用的数据包格式同样也是蓝牙打印机支持的数据包格式,因此,将当前手机采用的数据包格式与该蓝牙打印机的MAC地址关联存储在映射关系表中,以便后续再与蓝牙打印机进行蓝牙连接时,手机能够快速获得蓝牙打印机支持的数据包格式,从而提升手机与蓝牙打印机的连接速度和蓝牙通信的成功率。而如果手机在发送数据包后的预设时长内没有接收到第二响应消息,则说明当前手机采用的数据包格式会导致手机与蓝牙打印机之间发生蓝牙连接超时或蓝牙连接不稳定的问题,因而不保存当前手机采用的数据包格式。
例如,当手机首次与蓝牙打印机A建立蓝牙连接时,手机采用DM1数据包格式向蓝牙打印机A发送数据包,并且在30s内接收到了蓝牙打印机A的响应消息,则说明手机与蓝牙打印机A可以正常进行蓝牙通信,此时,手机主动记录蓝牙打印机A的MAC地址:68:A0:F6:28:C0:CC,同时还记录本次连接双方都支持的数据包格式DM1。蓝牙打印机B-E的记录方式及内容与蓝牙打印机A相同,因此不做过多赘述。
在一般的蓝牙连接应用场景中,绝大多数用户主要是与之前连接过的蓝牙设备再次进行蓝牙连接,因此,本实施例引入了蓝牙设备学习机制,通过主动记录每次新连接蓝牙打印机的MAC地址和其支持的数据包格式,从而在下次再次连接时,可快速确定对方蓝牙打印机支持的数据包格式,这不仅提升了蓝牙连接的速度和蓝牙通信成功率,同时也避免了蓝牙打印机发生连接断开问题,并且通过MAC地址厂商标识进一步屏蔽了不同蓝牙设备支持的数据包格式差异问题,提升了用户使用体验。
S207B,接步骤S206B,若发送数据包后超过预设时长未接收到第二响应消息,则手机生成连接超时消息,并判断手机与蓝牙打印机之间的蓝牙信号强度是否小于预设信号强度阈值;
手机与蓝牙打印机之间蓝牙连接断开的原因,除了蓝牙打印机不支持手机发送的数据包的格式之外,还与手机接收到的蓝牙打印机的蓝牙信号强度有关。由于手机与蓝牙打印机之间维持蓝牙ACL链路所需要的信号质量通常要高于收到信令消息的信号质量,因此当蓝牙信号强度值高于预设的RSSI(received signal strength indication,RSSI)门限值时,手机才会向蓝牙打印机发起蓝牙连接请求。其中,RSSI门限值为经验值,对于不同蓝牙芯片而言可能是不同的,本实施例优选能够适配绝大多数蓝牙芯片的蓝牙信号强度值作为该RSSI门限值(也即预设信号强度阈值)。RSSI信号强度可以通过蓝牙设备之间的距离进行衡量。该RSSI门限值对应的距离为蓝牙信号连接或断开的临界距离,而大于该RSSI门限值对应的距离为蓝牙信号可保持稳定连接的距离。
由于手机可能存在不定时的位置移动情况,从而使得手机与蓝牙打印机之间的距离发生变化,进而影响手机接收到的蓝牙打印机的蓝牙信号强度,如果蓝牙信号强度不断降低,则有可能导致已经建立的蓝牙连接存在断开的情形。
手机向蓝牙打印机发送数据包后,若手机超过预设时长未接收到蓝牙打印机返回的响应消息,则生成连接超时消息LMP Response Timeout,此时说明当前手机与蓝牙打印机之间的蓝牙连接已断开。
图3示出了手机与蓝牙打印机在不同距离下的蓝牙连接状态示意图。如图3所示,手机与蓝牙打印机之间的距离值由近及远依次为X1,X2和X3。其中,当距离值X1在最大距离范围内时,手机与蓝牙打印机之间可以保持正常的蓝牙连接,不会出现连接断开的情形。当距离值X2在临界距离范围内时,手机与蓝牙打印机之间的蓝牙连接会出现反复断连的现象。当距离值X3在预设距离范围之外且不在临界距离范围内时,手机与蓝牙打印机之间由于距离太远导致无法回连,即蓝牙连接失败,此时手机与蓝牙打印机处于蓝牙连接断开状态。
当手机与蓝牙打印机处于蓝牙连接断开状态时,此时手机与蓝牙打印机蓝牙连接断开的原因既有可能是超出了RSSI门限值对应的临界距离范围,也有可能是由于蓝牙打印机不支持手机发送的数据包的格式,因此,为排除距离因素的影响,手机在蓝牙连接超时之时,通过自身蓝牙芯片检测接收到的蓝牙打印机的蓝牙信号强度,并判断接收到的蓝牙打印机的蓝牙信号强度是否小于预设信号强度阈值。
S208A,接步骤S207B,若手机与蓝牙打印机之间的蓝牙信号强度小于预设信号强度阈值,则手机进行蓝牙信号异常提醒,并循环判断当前手机与蓝牙打印机之间的蓝牙信号强度是否小于预设信号强度阈值,直至当前手机与蓝牙打印机之间的蓝牙信号强度大于或等于预设信号强度阈值;
若手机与蓝牙打印机之间的蓝牙信号强度小于预设信号强度阈值(也即RSSI门限值),则提醒用户蓝牙信号异常,比如提醒用户:“当前蓝牙信号强度弱,请靠近待连接设备”,用户基于该提醒,主动将手机靠近蓝牙打印机并在靠近的过程中,手机循环判断手机与蓝牙打印机之间的蓝牙信号强度是否小于预设信号强度阈值并持续进行蓝牙信号异常提醒,直至手机与蓝牙打印机之间的蓝牙信号强度大于或等于预设信号强度阈值时,停止进行蓝牙信号异常提醒,并重新与蓝牙打印机进行蓝牙连接。
本实施例在蓝牙连接断开时,主动排除了蓝牙连接受距离影响的原因,从而避免了蓝牙连接断开时用户可能存在的误操作,提升用户使用体验。
S208B,接步骤S207B或S208A,若蓝牙打印机的蓝牙信号强度大于或等于预设信号强度阈值,则手机接收蓝牙打印机发送的广播消息,并向蓝牙打印机发送连接请求消息;
若蓝牙打印机的蓝牙信号强度大于或等于预设信号强度阈值,则说明当前手机处于与蓝牙打印机进行蓝牙连接的有效距离范围内,由于在步骤S206B中手机未接收到蓝牙打印机的第二响应消息,则手机再次接收蓝牙打印机发送的广播消息,并再次向蓝牙打印机发送连接请求消息,以供与蓝牙打印机重新建立蓝牙连接。
为避免建立蓝牙连接后由于蓝牙打印机不支持数据包格式而中断蓝牙通信,因此,当手机重新与蓝牙打印机建立蓝牙连接时,手机的host向手机的controller发送的数据包格式中不再包含上一次手机向蓝牙打印机发送数据包时采用的数据包格式。
例如,前一次手机向蓝牙打印机发起蓝牙连接时,手机的host将自身支持的数据包格式DM1、DH1、2DH-1、3DH-3发送给手机的controller,蓝牙连接建立成功后手机采用DM1格式向蓝牙打印机发送数据包,如果蓝牙打印机无法解析DM1格式的数据包而未能向手机返回响应消息,则当手机再次向蓝牙打印机发起蓝牙连接请求时,手机的host将自身支持的数据包格式更改为DH1、2DH-1、3DH-3后再发送给手机的controller。
在一可选实施例中,手机与蓝牙打印机建立蓝牙连接后,手机即可通过建立的ACL链路向蓝牙打印机发送数据包。手机根据当前蓝牙通信环境,比如蓝牙打印机的蓝牙信号强度、蓝牙信号调制格式(如8DPSK、π/4DQPSK)、数据传输速率(BasicRate、Enhanced DataRate)、数据包传输的数据量大小等,从自身支持的数据包格式中选择一种与当前蓝牙通信环境最匹配的数据包格式,并采用该数据包格式向蓝牙外设发送数据包。
S209,循环执行步骤S203-S208B,直至手机接收到蓝牙打印机返回的第二响应消息。
当蓝牙打印机无法解析手机发送的数据包而导致蓝牙通信中断时,手机主动与蓝牙打印机再次建立蓝牙连接,并在重新建立蓝牙连接后主动更改上一次采用的数据包格式,并采用新的数据包格式向蓝牙打印机发送数据包,如果本次蓝牙通信手机接收到了蓝牙打印机返回的响应消息,则手机继续采用该新的数据包格式与蓝牙打印机进行蓝牙通信,否则再次主动与蓝牙打印机建立蓝牙连接并采用新的数据包格式与蓝牙打印机进行通信,以此类推,循环执行步骤S203-S208B,直至手机接收到蓝牙打印机返回的响应消息。
本实施例中,首先手机与蓝牙打印机建立蓝牙连接,之后手机再向蓝牙打印机发送数据包,如果蓝牙打印机不能解析手机发送的数据包,则蓝牙打印机不向手机返回响应消息,进而导致蓝牙通信中断,当手机又再次与蓝牙打印机建立蓝牙连接时,手机采用新的数据包格式发送数据包,如果蓝牙打印机能成功解析本次发送的数据包,则说明当前手机与蓝牙打印机可以进行蓝牙通信,否则手机需要再次重新建立蓝牙连接并更改发送给蓝牙打印机的数据包的格式。本实施例避免了蓝牙打印机建立蓝牙连接后又发生连接断开的问题,并且进一步屏蔽了不同蓝牙设备支持的数据包格式差异,提升了用户使用体验。
下面分别基于手机与蓝牙打印机的蓝牙核心系统,对手机与蓝牙打印机进行蓝牙连接与蓝牙通信的实现过程进行说明。
蓝牙核心系统是实现各类蓝牙应用的基础,在本申请中,为便于理解,将手机与蓝牙打印机的蓝牙核心系统简化表示为图4示出的三层结构。如图4所示,蓝牙核心系统包括主机(HOST)、控制器(Controller)和主机控制接口(Host Controller Interface,HCI)。HOST是逻辑实体概念,位于HCI之上,Controller也是逻辑实体概念,位于HCI之下,而主机控制接口主要是定义了HOST与Controller之间的通信协议。其中,HOST为蓝牙应用层(UserApplication)。例如,假设手机系统为Android系统,则HOST为Android系统中提供的蓝牙应用。HOST可以接收用户操作,并通过命令(command)调用Controller响应用户操作。例如,手机的HOST可以响应于用户触发与蓝牙打印机建立蓝牙连接的操作,调用手机的Controller向蓝牙打印机发送建立ACL链路的请求,以请求与蓝牙打印机建立ACL链路。或者HOST也可以基于业务需求调用Controller进行处理。例如,在手机与蓝牙打印机已建立ACL链路的前提下,若手机开始发送数据(比如文档、图片),则手机的HOST调用手机的Controller并通过ACL链路向蓝牙打印机发送数据包。
Controller可以执行HOST下发的command,并将返回值事件(event)返回给HOST。HOST和Controller之间的通信基于HCI来完成。HOST下发的command通过HCI向Controller下发。Controller返回的event通过HCI通知给HOST。也就是说,HCI起到了一个中间层的作用。HOST和Controller之间传输的command和event由蓝牙协议规范中的HCI协议来定义。在本申请中,为便于描述,将HOST和Controller之间传输的command和event统称为HCI命令。
通常,蓝牙连接由作为主设备的手机向作为从设备的蓝牙打印机发起,下面以手机向蓝牙打印机发送建立ACL链路请求进行举例说明,需要说明的是,基于不同蓝牙设备之间实际蓝牙通信需求的不同,蓝牙设备之间既可以建立ACL链路,也可以建立SCO链路。
如图5所示,手机蓝牙核心系统与蓝牙打印机蓝牙核心系统进行蓝牙连接与通信的流程步骤如下:
1、手机的HOST向手机的Controller向蓝牙打印机发送第一连接请求。该第一连接请求用于指示手机请求与蓝牙打印机建立ACL链路。而后,手机的Controller接收来自手机的HOST的第一连接请求。在一种具体的实现方式中,该第一连接请求可以是HCI命令HCI_Create_Connection。该HCI命令中携带有手机支持的数据包格式(Packet Type)的标识。其中,数据包格式包括但不限于DM1包、DH1包、DM3包、DH3包、DM5包、DH5包、2DH-1包、3DH-1包、2DH-3包、3DH-3包、2DH-5包、3DH-5包中的一种或多种。不同格式的数据包,其对应的数据包调制方式不同,并且调制出的数据包大小也不同。
2、手机的Controller向手机的HOST发送返回值命令,该返回值命令可以是HCI命令HCI_Command_Status。
3、手机的Controller响应于接收到第一连接请求,向蓝牙打印机的Controller发送第二连接请求。在一种具体的实现方式中,该第二连接请求可以是空中口令LMP_ACL_LINK_REQ。
4、蓝牙打印机的Controller向蓝牙打印机的HOST发送建立ACL链路的请求,该请求可以是HCI命令HCI_Connection_Request。
5、蓝牙打印机的HOST向蓝牙打印机的Controller返回接受建立ACL链路请求的命令,该命令可以是HCI命令HCI_Accept_Synchronous_Connection_Request。该HCI命令中携带有蓝牙打印机支持的数据包的标识。其中,数据包包括DM1包、DH1包、DM3包、DH3包、DM5包、DH5包、2DH-1包、3DH-1包、2DH-3包、3DH-3包、2DH-5包、3DH-5包中的一种或多种。
6、蓝牙打印机的Controller向蓝牙打印机的HOST发送返回值命令,该返回值命令可以是HCI_Command_Status。
7、蓝牙打印机的Controller向手机的Controller发送接受建立ACL链路的命令。该接受建立ACL链路的命令可以是空中口令LMP_ACCEPTED_EXT。手机的Controller接收到LMP_ACCEPTED_EXT命令,则表明手机与蓝牙打印机成功建立ACL链路,可以进行蓝牙通信。至此,ACL链路建立完成,蓝牙连接开始(Synchronous connection started)。
8、手机的Controller响应于接收到LMP_ACCEPTED_EXT命令,通过手机的Controller向手机的HOST发送HCI_Connection_Complete命令;该命令用于指示手机与蓝牙打印机成功建立ACL链路。
9、手机的HOST向手机的Controller发送数据包发送请求,并假设手机采用的数据包格式为DM 1格式;
10、手机的Controller向手机的HOST发送返回值命令,该返回值命令可以是HCI命令HCI_Command_Status。
11、手机的Controller响应于接收到数据包发送请求,并向蓝牙打印机的Controller发送DM1包。
12、蓝牙打印机的Controller将接收到的DM1包发送至蓝牙打印机的HOST进行解析处理。
13、如果蓝牙打印机的HOST支持DM1格式,则DM1包解析成功,蓝牙打印机的HOST通知蓝牙打印机的Controller保持ACL链路,而如果蓝牙打印机不支持DM1格式,则DM1包解析失败,蓝牙打印机的HOST通知蓝牙打印机的Controller断开ACL链路,该通知命令可以是HCI命令HCI_Disconnect。
14、蓝牙打印机的Controller向蓝牙打印机的HOST发送返回值命令,该返回值命令可以是HCI_Command_Status。同时,如果DM1包解析成功,则蓝牙打印机的Controller向手机返回响应信息,并保持ACL链路;而如果DM1包解析失败,则蓝牙打印机的Controller断开ACL链路,并且不向手机返回任何信息。至此ACL链路断开,蓝牙连接结束(HCI_Disconnection_Complete)。
蓝牙打印机接收到手机发送的数据包后进行解析,如果蓝牙打印机同样支持手机采用的数据包格式,则可以成功解析数据包,进而向手机返回响应消息,比如该响应消息可以是HCI_Command_Status,进而继续保持与手机的蓝牙连接,手机可以继续发送新的数据包到蓝牙打印机。而如果蓝牙打印机不支持手机采用的数据包格式,则无法解析数据包,进而不会向手机返回响应消息,并主动断开与手机的蓝牙连接。
下面继续以手机与蓝牙打印机进行举例,说明手机具体是如何在蓝牙打印机不支持DM1数据包格式的情况下实现蓝牙通信的。
15、如果手机的Controller超过预设时长(比如30s)没有接收到蓝牙打印机的Controller的响应信息,则说明当前蓝牙连接断开,并向手机的HOST返回蓝牙连接状态为断开的返回值HCI_Command_Status,同时生成蓝牙连接断开的原因:连接超时(LMPResponse Timeout)。而如果手机的Controller在预设时长(比如30s)内接收到了蓝牙打印机的Controller的响应信息,则说明蓝牙打印机支持DM1包,也即手机与蓝牙打印机可以正常进行蓝牙通信。
16、手机的HOST向手机的Controller发送第三连接请求,用于重新与蓝牙打印机建立蓝牙连接,在一种具体的实现方式中,该第三连接请求可以是HCI命令HCI_Change_Connection_Packet_Type命令,该HCI命令中携带的数据包格式不包含前一次与蓝牙打印机连接时采用的数据包格式(DM1)。
17、执行步骤2-8,以使手机与蓝牙打印机重新建立新的ACL链路;
18、手机的HOST向手机的Controller发送新数据包格式的数据包,假设本次手机采用的数据包格式改为2DH-1格式;
19、执行步骤10-14,以使手机将2DH-1包发送至蓝牙打印机进行解析;
20、若解析失败,则循环执行步骤15-19,直至手机接收到蓝牙打印机的Controller向手机返回的响应信息,此时手机可以与蓝牙打印机进行蓝牙通信。
本实施例中,首先手机与蓝牙打印机建立蓝牙连接(如上述步骤1-8),之后手机再向蓝牙打印机发送数据包,如果蓝牙打印机不支持手机发送的数据包的格式,则蓝牙打印机主动断开已建立的蓝牙连接(如上述步骤9-14),当手机又再次与蓝牙打印机建立蓝牙连接时(如上述步骤15-17),本次蓝牙连接手机采用新的数据包发送格式(如上述步骤18),如果蓝牙打印机能成功解析本次手机发送的数据包(如上述步骤19),则说明当前手机与蓝牙打印机可以进行稳定的蓝牙通信,否则手机会再次与蓝牙打印机重新建立蓝牙连接并采用新的数据包格式发送数据包(如上述步骤20)。本实施例避免了手机与蓝牙打印机建立蓝牙连接后发生蓝牙连接断开的问题,提升了用户使用体验。
图6为本申请实施例提供的一种电子设备的结构示意图。参考图6,电子设备10可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserialbus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备10的具体限定。在本申请另一些实施例中,电子设备10可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(applicationprocessor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-networkprocessing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integratedcircuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identitymodule,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
无线通信模块160可以提供应用在电子设备10上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备10上运行时,使得电子设备10执行上述相关方法步骤实现上述实施例中的蓝牙连接方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的蓝牙连接方法。
另外,本申请的实施例还提供一种蓝牙连接装置,这个装置具体可以是芯片、组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机程序,当装置运行时,处理器可执行存储器存储的计算机程序,以使该装置执行上述各方法实施例中的蓝牙连接方法。
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。
Claims (9)
1.一种蓝牙连接方法,其特征在于,所述蓝牙连接方法包括:
在第一电子设备与第二电子设备建立蓝牙连接之前,所述第一电子设备的host向所述第一电子设备的controller发送第一HCI命令,所述第一HCI命令包含第一格式的标识和第二格式的标识;
第一电子设备与第二电子设备建立蓝牙连接;
所述第一电子设备根据当前蓝牙通信环境选择第一格式,并在第一时间点向所述第二电子设备发送第一数据包,所述第一数据包为第一格式;
所述第一电子设备从所述第一时间点开始,在预设时长内未接收到所述第二电子设备返回的响应信息,所述第一电子设备与所述第二电子设备之间的蓝牙连接断开;
在所述第一电子设备与所述第二电子设备重新建立蓝牙连接之前,所述第一电子设备的host向所述第一电子设备的controller发送第二HCI命令,所述第二HCI命令包含所述第二格式的标识,且不包含所述第一格式的标识;
所述第一电子设备与所述第二电子设备重新建立蓝牙连接;
所述第一电子设备根据当前蓝牙通信环境选择第二格式,并在第二时间点向所述第二电子设备发送第二数据包,所述第二数据包为第二格式,所述第一格式与所述第二格式不同。
2.根据权利要求1所述的蓝牙连接方法,其特征在于,所述蓝牙连接方法还包括:
当所述第一电子设备从所述第一时间点开始,若在所述预设时长内接收到所述第二电子设备返回的响应信息,则所述第一电子设备将所述第一格式与所述第二电子设备或者所述第二电子设备的设备厂商标识关联存储。
3.根据权利要求1所述的蓝牙连接方法,其特征在于,所述蓝牙连接方法还包括:
当所述第一电子设备从所述第二时间点开始,若在所述预设时长内接收到所述第二电子设备返回的响应信息,则所述第一电子设备将所述第二格式与所述第二电子设备或者所述第二电子设备的设备厂商标识关联存储。
4.根据权利要求1所述的蓝牙连接方法,其特征在于,所述第一电子设备在第一时间点向所述第二电子设备发送第一数据包,所述第一数据包为第一格式,包括:
所述第一电子设备在第一时间点向所述第二电子设备发送第一数据包,所述第一数据包为与所述第二电子设备关联的第一格式,或者所述第一数据包为与设备厂商标识关联的第一格式,所述第二电子设备具有所述设备厂商标识。
5.根据权利要求1所述的蓝牙连接方法,其特征在于,所述第一电子设备在第二时间点向所述第二电子设备发送第二数据包,所述第二数据包为第二格式,包括:
所述第一电子设备在第二时间点向所述第二电子设备发送第二数据包,所述第二数据包为与所述第二电子设备关联的第二格式,或者所述第二数据包为与设备厂商标识关联的第二格式,所述第二电子设备具有所述设备厂商标识。
6.根据权利要求1所述的蓝牙连接方法,其特征在于,所述第一电子设备与所述第二电子设备之间的蓝牙连接断开后,所述蓝牙连接方法还包括:
在所述第一电子设备生成连接超时消息,且所述第一电子设备和所述第二电子设备之间的蓝牙信号强度大于预设信号强度阈值时,所述第一电子设备与所述第二电子设备重新建立蓝牙连接。
7.一种蓝牙连接装置,其特征在于,所述蓝牙连接装置包括:
HCI命令模块,用于在第一电子设备与第二电子设备建立蓝牙连接之前,通过第一电子设备的host向第一电子设备的controller发送第一HCI命令,第一HCI命令包含第一格式的标识和第二格式的标识;
连接建立模块,用于在第一电子设备与第二电子设备之间建立蓝牙连接;
包发送模块,用于根据当前蓝牙通信环境选择第一格式,并在第一时间点向所述第二电子设备发送第一数据包,所述第一数据包为第一格式;
超时处理模块,用于从所述第一时间点开始,在预设时长内未接收到所述第二电子设备返回的响应信息,断开所述第一电子设备与所述第二电子设备之间的蓝牙连接;
所述HCI命令模块,还用于在所述第一电子设备与所述第二电子设备重新建立蓝牙连接之前,通过所述第一电子设备的host向所述第一电子设备的controller发送第二HCI命令,所述第二HCI命令包含所述第二格式的标识,且不包含所述第一格式的标识;
所述连接建立模块还用于:当所述第一电子设备与所述第二电子设备之间的蓝牙连接断开时,与所述第二电子设备重新建立蓝牙连接;
所述包发送模块还用于:当重新建立蓝牙连接时,根据当前蓝牙通信环境选择第二格式,并在第二时间点向所述第二电子设备发送第二数据包,所述第二数据包为第二格式,所述第一格式与所述第二格式不同。
8.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述处理器用于调用所述存储器中的计算机程序,以执行如权利要求1-6任一项的蓝牙连接方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-6任一项的蓝牙连接方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210946408.2A CN116033597B (zh) | 2022-08-08 | 2022-08-08 | 蓝牙连接方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210946408.2A CN116033597B (zh) | 2022-08-08 | 2022-08-08 | 蓝牙连接方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116033597A CN116033597A (zh) | 2023-04-28 |
CN116033597B true CN116033597B (zh) | 2023-12-12 |
Family
ID=86076492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210946408.2A Active CN116033597B (zh) | 2022-08-08 | 2022-08-08 | 蓝牙连接方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116033597B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104796847A (zh) * | 2015-03-11 | 2015-07-22 | 南通同洲电子有限责任公司 | 一种蓝牙通信方法及系统 |
WO2020133183A1 (zh) * | 2018-12-28 | 2020-07-02 | 华为技术有限公司 | 音频数据的同步方法及设备 |
WO2021013156A1 (zh) * | 2019-07-25 | 2021-01-28 | 华为技术有限公司 | 蓝牙切换方法及蓝牙设备 |
CN112399390A (zh) * | 2019-08-14 | 2021-02-23 | 华为技术有限公司 | 一种蓝牙回连的方法及相关装置 |
WO2021043286A1 (zh) * | 2019-09-06 | 2021-03-11 | 华为技术有限公司 | 蓝牙连接的方法和电子设备 |
CN113329381A (zh) * | 2021-04-28 | 2021-08-31 | 荣耀终端有限公司 | 一种建立蓝牙连接的方法及电子设备 |
WO2022042314A1 (zh) * | 2020-08-31 | 2022-03-03 | 华为技术有限公司 | 用于蓝牙通信的方法和电子设备 |
WO2022135303A1 (zh) * | 2020-12-25 | 2022-06-30 | 华为技术有限公司 | 一种tws耳机连接方法及设备 |
WO2022135341A1 (zh) * | 2020-12-25 | 2022-06-30 | 华为技术有限公司 | 通信方法、系统及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050148298A1 (en) * | 2004-01-07 | 2005-07-07 | Kuang-Ping Ma | Channel quality evaluation method applicable to bluetooth wireless network |
EP1653663B1 (en) * | 2004-11-02 | 2009-04-29 | Harman Becker Automotive Systems GmbH | Providing audio data stored in a mobile audio device to a vehicle audio system |
-
2022
- 2022-08-08 CN CN202210946408.2A patent/CN116033597B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104796847A (zh) * | 2015-03-11 | 2015-07-22 | 南通同洲电子有限责任公司 | 一种蓝牙通信方法及系统 |
WO2020133183A1 (zh) * | 2018-12-28 | 2020-07-02 | 华为技术有限公司 | 音频数据的同步方法及设备 |
WO2021013156A1 (zh) * | 2019-07-25 | 2021-01-28 | 华为技术有限公司 | 蓝牙切换方法及蓝牙设备 |
CN112399390A (zh) * | 2019-08-14 | 2021-02-23 | 华为技术有限公司 | 一种蓝牙回连的方法及相关装置 |
WO2021043286A1 (zh) * | 2019-09-06 | 2021-03-11 | 华为技术有限公司 | 蓝牙连接的方法和电子设备 |
WO2022042314A1 (zh) * | 2020-08-31 | 2022-03-03 | 华为技术有限公司 | 用于蓝牙通信的方法和电子设备 |
WO2022135303A1 (zh) * | 2020-12-25 | 2022-06-30 | 华为技术有限公司 | 一种tws耳机连接方法及设备 |
WO2022135341A1 (zh) * | 2020-12-25 | 2022-06-30 | 华为技术有限公司 | 通信方法、系统及电子设备 |
CN113329381A (zh) * | 2021-04-28 | 2021-08-31 | 荣耀终端有限公司 | 一种建立蓝牙连接的方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116033597A (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021036835A1 (zh) | 一种蓝牙搜索方法、系统及相关装置 | |
US11825539B2 (en) | Bluetooth connection method and electronic device | |
WO2021082829A1 (zh) | 蓝牙连接方法及相关装置 | |
US11419182B2 (en) | Electronic device supporting link sharing and method therefor | |
US11683850B2 (en) | Bluetooth reconnection method and related apparatus | |
WO2018000134A1 (zh) | 一种蓝牙连接的方法及终端 | |
EP4110004A1 (en) | Wi-fi aware link establishment method and system, electronic device, and storage medium | |
EP4132098A1 (en) | Implementation method for wi-fi peer-to-peer service and related device | |
EP3986008A1 (en) | Method for using remote sim module, and electronic apparatus | |
CN113329381B (zh) | 一种建立蓝牙连接的方法及电子设备 | |
WO2023061146A9 (zh) | 用于监听链路的方法和终端设备 | |
KR20200110086A (ko) | 무선 통신 링크의 설정 방법 및 이를 지원하는 전자 장치 | |
CN113572890B (zh) | 音量管理的方法及电子设备 | |
WO2020132878A1 (zh) | 一种蓝牙服务的查询方法及电子设备 | |
CN113853754A (zh) | 在蓝牙tm网络环境中显示外部电子设备查询列表的电子设备和方法 | |
JP2024516668A (ja) | デバイスネットワーキング方法、電子デバイス、及び記憶媒体 | |
WO2021043277A1 (zh) | 配置蓝牙连接参数的方法和电子设备 | |
CN116033597B (zh) | 蓝牙连接方法、装置、电子设备及存储介质 | |
CN114258691A (zh) | 用于在蓝牙网络环境中采取预动作的电子装置及其方法 | |
WO2022068646A1 (zh) | 一种数据传输方法及电子设备 | |
KR20210050398A (ko) | 전자 장치와 연결되지 않은 외부 전자 장치로 데이터를 전송하는 전자 장치 및 전자 장치의 동작 방법 | |
WO2021239032A1 (zh) | 蓝牙协议连接方法、装置、存储介质及相关设备 | |
CN116056050A (zh) | 播放音频的方法、电子设备及系统 | |
US20240196454A1 (en) | File sharing method and terminal device | |
WO2023051204A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |