CN115119194A - 一种蓝牙连接方法及相关装置 - Google Patents

一种蓝牙连接方法及相关装置 Download PDF

Info

Publication number
CN115119194A
CN115119194A CN202210633231.0A CN202210633231A CN115119194A CN 115119194 A CN115119194 A CN 115119194A CN 202210633231 A CN202210633231 A CN 202210633231A CN 115119194 A CN115119194 A CN 115119194A
Authority
CN
China
Prior art keywords
terminal
bluetooth
response
bluetooth device
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210633231.0A
Other languages
English (en)
Inventor
朱宇洪
郑飞
路俊峰
倪观军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210633231.0A priority Critical patent/CN115119194A/zh
Publication of CN115119194A publication Critical patent/CN115119194A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/22Processing or transfer of terminal data, e.g. status or physical capabilities
    • H04W8/24Transfer of terminal data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W68/00User notification, e.g. alerting and paging, for incoming communication, change of service or the like
    • H04W68/02Arrangements for increasing efficiency of notification or paging channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

本申请公开了一种蓝牙连接方法,涉及短距离无线通信技术领域,该方法包括:当该终端与该蓝牙设备建立异步无连接ACL链路后,该终端向该蓝牙设备发送服务查询请求。其中,该服务查询请求中包括有该终端所支持的服务信息。响应于该服务查询请求,该蓝牙设备向该终端发送服务查询响应,其中,该服务查询响应中包括有该蓝牙设备所支持的服务信息。在该终端接收到该蓝牙设备发送的该服务查询响应后,该终端与该蓝牙设备进行配对。当该终端与该蓝牙设备都支持第一服务时,该终端与该蓝牙设备建立基于该第一服务的连接。这样,省去了建立用于SDP服务查询的L2CAP动态信道等过程,即可完成服务查询,节省了建立蓝牙服务连接的时间。

Description

一种蓝牙连接方法及相关装置
技术领域
本申请涉及短距离无线通信技术领域,尤其涉及一种蓝牙连接方法及相关装置。
背景技术
随着无线通信技术的发展,人们已经习惯通过无线方式将不同的智能终端设备进行连接,其中,蓝牙技术作为当前较为成熟的短距离无线通信技术,被广泛应用于智能终端设备中,例如,智能手机与蓝牙耳机或蓝牙音箱等蓝牙设备之间通过蓝牙进行的连接。
目前,智能手机与蓝牙设备在完成蓝牙鉴权认证后,需要通过服务发现协议(servicediscoveryprotocol,SDP)进行服务查询。通过SDP,智能手机可以通过SDP查询蓝牙设备上支持哪些服务功能。蓝牙设备也可以通过SDP获知智能手机上支持哪些服务功能。在确认对端设备支持某一服务功能后,智能手机才能与蓝牙设备建立基于该服务功能的服务连接。例如,当智能手机通过SDP查询到蓝牙设备支持通话功能时,智能手机才能与蓝牙设备建立基于通话功能的服务连接。
但是,通过SDP进行服务查询时,智能手机与蓝牙设备需要建立基于逻辑链路控制和适配协议(logical link control and adaptation protocol,L2CAP)的动态信道,并在完成SDP查询完后,删除该基于L2CAP的动态信道。这样,耗费了大量的时间。
发明内容
本申请提供了一种蓝牙连接方法及相关装置,可以可以在异步无连接(asynchronous connectionless,ACL)链路连接建立时,通过L2CAP信令信道上的回应请求(echo request)和回应响应(echo response)两种信令类型,完成SDP服务查询和能力协商等信息交互,省去了建立用于SDP服务查询的L2CAP动态信道等过程,节省了建立蓝牙服务连接的时间。
第一方面,本申请提供了一种蓝牙连接方法,应用于蓝牙系统,该蓝牙系统包括终端和蓝牙设备,该方法包括:当该终端与该蓝牙设备建立异步无连接ACL链路后,该终端向该蓝牙设备发送服务查询请求。其中,该服务查询请求中包括有该终端所支持的服务信息。响应于该服务查询请求,该蓝牙设备向该终端发送服务查询响应,其中,该服务查询响应中包括有该蓝牙设备所支持的服务信息。在该终端接收到该蓝牙设备发送的该服务查询响应后,该终端与该蓝牙设备进行配对。当该终端与该蓝牙设备都支持第一服务时,该终端与该蓝牙设备建立基于该第一服务的连接。
通过本申请,可以在ACL连接建立时配对之前,完成SDP服务查询和能力协商等信息交互,省去了建立用于SDP服务查询的L2CAP动态信道等过程,节省了建立蓝牙服务连接的时间。
在一种可能的实现方式中,该终端发送服务查询请求给该蓝牙设备,具体包括:该终端通过逻辑链路控制和适配协议L2CAP的回应请求echo request信令发送该服务查询请求给该蓝牙设备。
在一种可能的实现方式中,该蓝牙设备向该中发送服务查询响应,具体包括:该蓝牙设备通过L2CAP的回应响应echo response信令向该终端发送该服务查询响应。
这样,通过回应请求命令和回应响应命令完成SDP服务查询,可以省去建立用于SDP服务查询的L2CAP动态信道的过程。节省了建立服务连接的时间。
在一种可能的实现方式中,该方法还包括:当该终端与该蓝牙设备建立的ACL链路被加密时,该蓝牙设备通过L2CAP的echo request信令向该终端发送该蓝牙设备的第一电量信息。该终端在接收到该第一电量信息,显示该第一电量信息。
在一种可能的实现方式中,该方法还包括:当该蓝牙设备的电量符合预设变化时,该蓝牙设备通过L2CAP的echo request信令向该终端发送该蓝牙设备的第二电量信息。该终端在接收到该第二电量信息后,显示该第二电量信息。
这样,蓝牙设备可以通过回应请求命令上报电量信息,可以省去建立L2CAP动态信道的过程以及建立用于上报电量的RFCOMM数据通道的过程,节省了终端获取到蓝牙设备上报电量的时间。
在一种可能的实现方式中,该方法还包括:该终端在接收到该蓝牙设备发送的该第一电量信息或第二电量信息后,通过该L2CAP的echo response信令向该蓝牙设备发送电量接收响应。其中,该电量接收响应用于该蓝牙设备确认该终端已接收到该蓝牙设备的第一电量信息或第二电量信息。这样,蓝牙设备可以确认终端是否接收到电量信息。
在一种可能的实现方式中,该方法还包括:该终端通过L2CAP的echo request信令或echo response信令向该蓝牙设备发送该终端的私有参数。其中,该终端的私有参数包括该终端的音频场景信息和/或用户场景信息和/或该终端的设备类型。
在一种可能的实现方式中,该方法还包括:该蓝牙设备通过L2CAP的echoresponse信令或echo response信令向该终端发送该蓝牙设备的私有参数。其中,该蓝牙设备的私有参数包括该蓝牙设备的佩戴检测信息和/或该蓝牙设备的设备类型。
这样,终端和蓝牙设备可以通过回应请求(echo request)命令和回应响应(echoresponse)命令进行私有参数信息的交互。这样,可以省去建立L2CAP动态信道的过程以及建立用于SPP的RFCOMM数据通道的过程,节省了终端与蓝牙设备交互私有参数信息的时间。
第二方面,本申请提供了一蓝牙系统,包括:终端和蓝牙设备。其中,该终端,用于当与该蓝牙设备建立异步无连接ACL链路后,向该蓝牙设备发送服务查询请求;其中,该服务查询请求中包括有该终端所支持的服务信息。该蓝牙设备,用于响应于接收到的该服务查询请求,向该终端发服务查询响应;其中,该服务查询响应中包括有该蓝牙设备所支持的服务信息。该终端,还用于在接收到该服务查询响应后,与该蓝牙设备进行配对。该终端,还用于在与该蓝牙设备都支持第一服务时,与该终端与该蓝牙设备建立基于该第一服务的连接。
通过本申请,可以在ACL连接建立时配对之前,完成SDP服务查询和能力协商等信息交互,省去了建立用于SDP服务查询的L2CAP动态信道等过程,节省了建立蓝牙服务连接的时间。
在一种可能的实现方式中,该终端,具体用于:通过逻辑链路控制和适配协议L2CAP的回应请求echo request信令发送该服务查询请求给该蓝牙设备。
在一种可能的实现方式中,该蓝牙设备,具体用于:通过逻辑链路控制和适配协议L2CAP的回应响应echo response信令向该终端发送该服务查询响应。
这样,通过回应请求命令和回应响应命令完成SDP服务查询,可以省去建立用于SDP服务查询的L2CAP动态信道的过程。节省了建立服务连接的时间。
在一种可能的实现方式中,该蓝牙设备,还用于当该蓝牙设备与该终端建立的ACL链路被加密时,通过该L2CAP的echo request信令向该终端发送该蓝牙设备的第一电量信息。该终端,还用于在接收到该第一电量信息后,显示该第一电量信息。
在一种可能的实现方式中,该蓝牙设备,还用于当该蓝牙设备的电量符合预设变化时,通过该L2CAP的echo request信令向该终端发送该蓝牙设备的第二电量信息。该终端,还用于在接收到该第二电量信息后,显示该第二电量信息。
这样,蓝牙设备可以通过回应请求命令上报电量信息,可以省去建立L2CAP动态信道的过程以及建立用于上报电量的RFCOMM数据通道的过程,节省了终端获取到蓝牙设备上报电量的时间。
在一种可能的实现方式中,该终端,还用于:在接收到该蓝牙设备发送的该第一电量信息或第二电量信息后,通过该L2CAP的echo response信令向该蓝牙设备发送电量接收响应;其中,该电量接收响应用于该蓝牙设备确认该终端已接收到该蓝牙设备的第一电量信息或第二电量信息。这样,蓝牙设备可以确认终端是否接收到电量信息。
在一种可能的实现方式中,该终端,还用于:通过该L2CAP的echo request信令或echo response信令向该终端发送该终端的私有参数;其中,该终端的私有参数包括该终端的音频场景信息和/或用户场景信息和/或该终端的设备类型。
在一种可能的实现方式中,该蓝牙设备,还用于:通过L2CAP的echo response信令或echo response信令向该终端发送该蓝牙设备的私有参数;其中,该蓝牙设备的私有参数包括该蓝牙设备的佩戴检测信息和/或该蓝牙设备的设备类型。
这样,终端和蓝牙设备可以通过回应请求(echo request)命令和回应响应(echoresponse)命令进行私有参数信息的交互。这样,可以省去建立L2CAP动态信道的过程以及建立用于SPP的RFCOMM数据通道的过程,节省了终端与蓝牙设备交互私有参数信息的时间。
第三方面,本申请提供了一种终端,包括:蓝牙芯片、存储器、触控屏和处理器;该存储器与该处理器耦合;其中,该蓝牙芯片支持经典蓝牙BR/EDR功能。该蓝牙芯片,用于在与蓝牙设备建立异步无连接ACL链路后,向该蓝牙设备发送服务查询请求;其中,该服务查询请求中包括有该终端所支持的服务信息。该蓝牙芯片,还用于接收该蓝牙设备发送的服务查询响应,其中,该服务查询响应中包括有该蓝牙设备所支持的服务信息。该蓝牙芯片,还用于在接收到该服务查询响应后,与该蓝牙设备进行配对。该蓝牙芯片,还用于当与该蓝牙设备都支持第一服务时,与该蓝牙设备建立基于该第一服务的连接。
通过本申请,可以在ACL连接建立时配对之前,完成SDP服务查询和能力协商等信息交互,省去了建立用于SDP服务查询的L2CAP动态信道等过程,节省了建立蓝牙服务连接的时间。
在一种可能的实现方式中,该蓝牙芯片,具体用于:通过逻辑链路控制和适配协议L2CAP的回应请求echo request信令发送该服务查询请求给该蓝牙设备。
在一种可能的实现方式中,该蓝牙芯片,具体用于:接收该蓝牙设备通过L2CAP的回应响应echo response信令发送的该服务查询响应。
这样,通过回应请求命令和回应响应命令完成SDP服务查询,可以省去建立用于SDP服务查询的L2CAP动态信道的过程。节省了建立服务连接的时间。
在一种可能的实现方式中,该蓝牙芯片,还用于当与该蓝牙设备建立的ACL链路被加密时,接收该蓝牙设备通过L2CAP的echo request信令发送的第一电量信息。该处理器,用于在该蓝牙芯片接收到该第一电量信息后,指示该触控屏显示该第一电量信息。
在一种可能的实现方式中,该蓝牙芯片,还用于在蓝牙设备的电量符合预设变化时,接收该蓝牙设备通过L2CAP的echo request信令发送的第二电量信息。该处理器,用于在该蓝牙芯片接收到该第二电量信息后,指示该触控屏显示该第二电量信息。
这样,蓝牙设备可以通过回应请求命令上报电量信息,可以省去建立L2CAP动态信道的过程以及建立用于上报电量的RFCOMM数据通道的过程,节省了终端获取到蓝牙设备上报电量的时间。
在一种可能的实现方式中,该蓝牙芯片,还用于:在接收到该蓝牙设备发送的该第一电量信息或第二电量信息后,通过该L2CAP的echo response信令向该蓝牙设备发送电量接收响应。其中,该电量接收响应用于该蓝牙设备确认该终端已接收到该蓝牙设备的第一电量信息或第二电量信息。这样,蓝牙设备可以确认终端是否接收到电量信息。
在一种可能的实现方式中,该蓝牙芯片,还用于:通过L2CAP的echo request信令或echo response信令向该蓝牙设备发送该终端的私有参数,其中,该终端的私有参数包括该终端的音频场景信息和/或用户场景信息和/或该终端的设备类型。
在一种可能的实现方式中,该蓝牙芯片,还用于:接收该蓝牙设备通过L2CAP的echo response信令或echo response信令发送的该蓝牙设备的私有参数;其中,该蓝牙设备的私有参数包括该蓝牙设备的佩戴检测信息和/或该蓝牙设备的设备类型。
这样,终端和蓝牙设备可以通过回应请求(echo request)命令和回应响应(echoresponse)命令进行私有参数信息的交互。这样,可以省去建立L2CAP动态信道的过程以及建立用于SPP的RFCOMM数据通道的过程,节省了终端与蓝牙设备交互私有参数信息的时间。
第四方面,本申请提供了一种蓝牙设备,包括:蓝牙芯片、存储器、和处理器;该存储器与该处理器耦合;其中,该蓝牙芯片支持经典蓝牙BR/EDR功能和低功耗蓝牙BLE功能。
该蓝牙芯片,用于在与终端建立异步无连接ACL链路后,接收该终端发送的服务查询请求。其中,该服务服务查询请求中包括有该终端所支持的服务信息。该蓝牙芯片,还用于向该终端发送服务查询响应,其中,该服务查询响应中包括有蓝牙设备所支持的服务信息。该蓝牙芯片,还用于在向该终端发送该服务查询响应后,与该终端进行配对。该蓝牙芯片,还用于当与该终端都支持第一服务时,与该终端建立基于该第一服务的连接。
通过本申请,可以在ACL连接建立时配对之前,完成SDP服务查询和能力协商等信息交互,省去了建立用于SDP服务查询的L2CAP动态信道等过程,节省了建立蓝牙服务连接的时间。
在一种可能的实现方式中,该蓝牙芯片,具体用于:接收该终端通过逻辑链路控制和适配协议L2CAP的回应请求echo request信令发送的该服务查询请求。
在一种可能的实现方式中,该蓝牙芯片,具体用于:通过L2CAP的回应响应echoresponse信令向该终端发送该服务查询响应。
这样,通过回应请求命令和回应响应命令完成SDP服务查询,可以省去建立用于SDP服务查询的L2CAP动态信道的过程。节省了建立服务连接的时间。
在一种可能的实现方式中,该蓝牙芯片,还用于当与该终端建立的ACL链路被加密时,通过L2CAP的echo request信令向该终端发送的第一电量信息。
在一种可能的实现方式中,该蓝牙芯片,还用于:当该蓝牙设备的电量符合预设变化时,通过该L2CAP的echo request信令向该终端发送该蓝牙设备的第二电量信息。
这样,蓝牙设备可以通过回应请求命令上报电量信息,可以省去建立L2CAP动态信道的过程以及建立用于上报电量的RFCOMM数据通道的过程,节省了终端获取到蓝牙设备上报电量的时间。
在一种可能的实现方式中,该蓝牙芯片,还用于发送该第一电量信息或第二电量信息后,接收该终端通过该L2CAP的echo response信令发送的电量接收响应;其中,该电量接收响应用于确认该终端已接收到该第一电量信息或该第二电量信息。这样,蓝牙设备可以确认终端是否接收到电量信息。
在一种可能的实现方式中,该蓝牙芯片,还用于:接收该终端通过L2CAP的echorequest信令或echo response信令发送的该终端的私有参数。其中,该终端的私有参数包括该终端的音频场景信息和/或用户场景信息和/或该终端的设备类型。
在一种可能的实现方式中,该蓝牙芯片,还用于:通过L2CAP的echo response信令或echo response信令向该终终端发送该蓝牙设备的私有参数;其中,该蓝牙设备的私有参数包括该蓝牙设备的佩戴检测信息和/或该蓝牙设备的设备类型。
这样,终端和蓝牙设备可以通过回应请求(echo request)命令和回应响应(echoresponse)命令进行私有参数信息的交互。这样,可以省去建立L2CAP动态信道的过程以及建立用于SPP的RFCOMM数据通道的过程,节省了终端与蓝牙设备交互私有参数信息的时间。
第五方面,本申请提供了一种芯片系统,设置于终端,该芯片系统包括处理器和蓝牙芯片。该蓝牙芯片,用于在与蓝牙设备建立异步无连接ACL链路后,向该蓝牙设备发送服务查询请求;其中,该服务查询请求中包括有该终端所支持的服务信息。该蓝牙芯片,还用于接收该蓝牙设备发送的服务查询响应,其中,该服务查询响应中包括有该蓝牙设备所支持的服务信息。该蓝牙芯片,还用于在接收到该服务查询响应后,与该蓝牙设备进行配对。该蓝牙芯片,还用于当与该蓝牙设备都支持第一服务时,与该蓝牙设备建立基于该第一服务的连接。
通过本申请,可以在ACL连接建立时配对之前,完成SDP服务查询和能力协商等信息交互,省去了建立用于SDP服务查询的L2CAP动态信道等过程,节省了建立蓝牙服务连接的时间。
在一种可能的实现方式中,该蓝牙芯片,具体用于:通过逻辑链路控制和适配协议L2CAP的回应请求echo request信令发送该服务查询请求给该蓝牙设备。
在一种可能的实现方式中,该蓝牙芯片,具体用于:接收该蓝牙设备通过L2CAP的回应响应echo response信令发送的该服务查询响应。
在一种可能的实现方式中,该蓝牙芯片,还用于当与该蓝牙设备建立的ACL链路被加密时,接收该蓝牙设备通过L2CAP的echo request信令发送的第一电量信息。该处理器,用于在该蓝牙芯片接收到该第一电量信息后,指示该触控屏显示该第一电量信息。
在一种可能的实现方式中,该蓝牙芯片,还用于在蓝牙设备的电量符合预设变化时,接收该蓝牙设备通过L2CAP的echo request信令发送的第二电量信息。该处理器,用于在该蓝牙芯片接收到该第二电量信息后,指示该触控屏显示该第二电量信息。
在一种可能的实现方式中,该蓝牙芯片,还用于:在接收到该蓝牙设备发送的该第一电量信息或第二电量信息后,通过该L2CAP的echo response信令向该蓝牙设备发送电量接收响应。其中,该电量接收响应用于该蓝牙设备确认该终端已接收到该蓝牙设备的第一电量信息或第二电量信息。
在一种可能的实现方式中,该蓝牙芯片,还用于:通过L2CAP的echo request信令或echo response信令向该蓝牙设备发送该终端的私有参数,其中,该终端的私有参数包括该终端的音频场景信息和/或用户场景信息和/或该终端的设备类型。
在一种可能的实现方式中,该蓝牙芯片,还用于:接收该蓝牙设备通过L2CAP的echo response信令或echo response信令发送的该蓝牙设备的私有参数;其中,该蓝牙设备的私有参数包括该蓝牙设备的佩戴检测信息和/或该蓝牙设备的设备类型。
第六方面,本申请提供了一种芯片系统,设置于蓝牙设备,该芯片系统包括处理器和蓝牙芯片。其中,该蓝牙芯片,用于在与终端建立异步无连接ACL链路后,接收该终端发送的服务查询请求;其中,该服务服务查询请求中包括有该终端所支持的服务信息。该蓝牙芯片,还用于向该终端发送服务查询响应,其中,该服务查询响应中包括有蓝牙设备所支持的服务信息。该蓝牙芯片,还用于在向该终端发送该服务查询响应后,与该终端进行配对。该蓝牙芯片,还用于当与该终端都支持第一服务时,与该终端建立基于该第一服务的连接。
通过本申请,可以在ACL连接建立时配对之前,完成SDP服务查询和能力协商等信息交互,省去了建立用于SDP服务查询的L2CAP动态信道等过程,节省了建立蓝牙服务连接的时间。
在一种可能的实现方式中,该蓝牙芯片,具体用于:接收该终端通过逻辑链路控制和适配协议L2CAP的回应请求echo request信令发送的该服务查询请求。
在一种可能的实现方式中,该蓝牙芯片,具体用于:通过L2CAP的回应响应echoresponse信令向该终端发送该服务查询响应。
在一种可能的实现方式中,该蓝牙芯片,还用于当与该终端建立的ACL链路被加密时,通过L2CAP的echo request信令向该终端发送的第一电量信息。
在一种可能的实现方式中,该蓝牙芯片,还用于:当该蓝牙设备的电量符合预设变化时,通过该L2CAP的echo request信令向该终端发送该蓝牙设备的第二电量信息。
在一种可能的实现方式中,该蓝牙芯片,还用于发送该第一电量信息或第二电量信息后,接收该终端通过该L2CAP的echo response信令发送的电量接收响应;其中,该电量接收响应用于确认该终端已接收到该第一电量信息或该第二电量信息。
在一种可能的实现方式中,该蓝牙芯片,还用于:接收该终端通过L2CAP的echorequest信令或echo response信令发送的该终端的私有参数。其中,该终端的私有参数包括该终端的音频场景信息和/或用户场景信息和/或该终端的设备类型。
在一种可能的实现方式中,该蓝牙芯片,还用于:通过L2CAP的echo response信令或echo response信令向该终终端发送该蓝牙设备的私有参数;其中,该蓝牙设备的私有参数包括该蓝牙设备的佩戴检测信息和/或该蓝牙设备的设备类型。
附图说明
图1为本申请实施例提供的一种系统的架构示意图;
图2A为本申请实施例提供的一种终端的结构示意图;
图2B为本申请实施例提供的一种蓝牙协议的架构示意图;
图3为本申请实施例提供的一种蓝牙设备的结构示意图;
图4A为本申请相关技术中的一种服务查询的流程示意图;
图4B为本申请相关技术中的一种服务查询的流程示意图;
图5为本申请实施例提供的一种蓝牙连接方法的流程示意图;
图6A-图6G为本申请实施例提供的一组界面示意图;
图7A为本申请实施例提供的一种回应请求的信令格式示意图;
图7B为本申请实施例提供的一种回应响应的信令格式示意图;
图8本申请相关技术中提供一种蓝牙设备电量上报的流程示意图;
图9本申请另一实施例中提供的一种蓝牙连接方法的流程示意图;
图10A为本申请另一实施例提供的一种回应请求的信令格式示意图;
图10B为本申请另一实施例提供的一种回应响应的信令格式示意图;
图10C-图10D为本申请实施例提供的一组界面示意图;
图11为本申请相关技术中提供一种私有参数交互的流程示意图;
图12本申请另一实施例中提供的一种蓝牙连接方法的流程示意图;
图13A为本申请另一实施例提供的一种回应请求的信令格式示意图;
图13B为本申请另一实施例提供的一种回应响应的信令格式示意图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清除、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
下面介绍本申请实施例提供的一种系统架构。
请参见图1、图1为本申请实施例提供的一种系统10的架构示意图。如图1所示,该系统10可包括:终端100和蓝牙设备200。
其中,终端100与蓝牙设备200可以通过蓝牙技术(包括经典蓝牙和低功耗蓝牙(bluetooth low energy,BLE))进行通信。终端100可以是智能手机、平板电脑、个人电脑等终端设备。蓝牙设备200可以是蓝牙耳机、蓝牙音箱、智能手表等支持蓝牙功能的设备。
图2A示出了终端100的结构示意图。
下面以终端100为例对实施例进行具体说明。应该理解的是,图2A所示终端100仅是一个范例,并且终端100可以具有比图2A中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
终端100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,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等。
可以理解的是,本发明实施例示意的结构并不构成对终端100的具体限定。在本申请另一些实施例中,终端100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是终端100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现终端100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等外围器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现终端100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现终端100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为终端100充电,也可以用于终端100与外围设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他终端,例如AR设备等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端100的结构限定。在本申请另一些实施例中,终端100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过终端100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为终端供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
终端100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。终端100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在终端100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在终端100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,终端100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple 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),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
终端100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,终端100可以包括1个或N个显示屏194,N为大于1的正整数。
终端100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,终端100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。终端100可以支持一种或多种视频编解码器。这样,终端100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行终端100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
终端100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。终端100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当终端100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。终端100可以设置至少一个麦克风170C。在另一些实施例中,终端100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,终端100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动终端平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。终端100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,终端100根据压力传感器180A检测所述触摸操作强度。终端100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定终端100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定终端100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测终端100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消终端100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,终端100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。终端100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当终端100是翻盖机时,终端100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测终端100在各个方向上(一般为三轴)加速度的大小。当终端100静止时可检测出重力的大小及方向。还可以用于识别终端姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。终端100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,终端100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。终端100通过发光二极管向外发射红外光。终端100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定终端100附近有物体。当检测到不充分的反射光时,终端100可以确定终端100附近没有物体。终端100可以利用接近光传感器180G检测用户手持终端100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。终端100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测终端100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。终端100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,终端100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,终端100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,终端100对电池142加热,以避免低温导致终端100异常关机。在其他一些实施例中,当温度低于又一阈值时,终端100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于终端100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端100可以接收按键输入,产生与终端100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和终端100的接触和分离。终端100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。终端100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,终端100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在终端100中,不能和终端100分离。
如图2B所示,本申请实施例提供一种蓝牙协议框架,包括但不限于Host(主机)协议栈、HCI(Host Controller Interface)、控制器(controller)。
其中,Host协议栈定义了蓝牙框架中的多个应用(profile)和核心协议(protocol),每个profile定义了各自相应的消息格式与应用规则,profile是蓝牙服务(Application)。为了实现不同平台下的不同设备的互联互通,蓝牙协议为各种可能的、有通用意义的应用场景,都制定的了规范,如A2DP(advanced audio distributionprofile)、HFP(hands-free profile)等等。核心协议包括但不限于蓝牙基本的服务协议SDP(Service Discover Protocol)、逻辑链路控制和适配协议L2CAP(Logical LinkControl and Adaptation Protocol)等。核心协议是蓝牙协议栈中必不可少的。
其中,HCI为上层协议提供了进入链路管理器的统一接口和进入基带的统一方式,在主机核心协议栈和控制器之间会存在若干传输层,这些传输层是透明的,完成传输数据的任务,蓝牙技术联盟(Bluetooth Special Interest Group,SIG)规定了四种与硬件连接的物理总线方式,即四种HCI传输层:USB、RS232、UART和PC卡。
其中,controller定义了底层硬件部分,包括无线射频(RF)、基带(BB)和链路管理(LM),RF层通过2.4GHz无需授权的ISM频段的微波,实现数据位流的过滤和传输,主要定义了蓝牙收发器在此频带正常工作所需要满足的条件。基带负责跳频以及蓝牙数据和信息帧的传输。链路管理负责连接、建立和拆除链路并进行安全控制。LM(Link Manager)层是蓝牙协议栈的链路管理层协议,负责将上层HCI命令翻译成基带能接受的操作,建立异步链路(asynchronous connection-oriented link,ACL)和同步链路(synchronous connection-oriented/extended,SCO)以及使蓝牙设备进入节能状态的工作模式等。LC(Link Control)层负责在一批数据包传送期间,响应上层LM命令(如执行建立数据包的传输链路,维持链路等功能的LM命令)。
本申请实施例所述的方法由图2A所示的终端100的无线通信模块160来实现的部分内容,具体可以是蓝牙模块或者是蓝牙芯片来执行。
图3示例性的示出了本申请实施例提供的蓝牙设备200的结构示意图。
下面以蓝牙设备200为例对实施例进行具体说明。应该理解的是,图3所示蓝牙设备200仅是一个范例,并且蓝牙设备200可以具有比图3中所示的更多或更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现,
如图3所示,蓝牙设备200可以包括:处理器201,存储器202,蓝牙通信模块203,天线204,电源开关205,USB通信处理模块206,音频模块207。其中:
处理器201可用于读取和执行计算机可读指令。具体实现中,处理器201可主要包括控制器、运算器和寄存器。其中,控制器主要负责指令译码,并为指令对应的操作发出控制信号。运算器主要负责保存指令执行过程中临时存放的寄存器操作数和中间操作结果等。具体实现中,处理器201的硬件架构可以是专用集成电路(ASIC)架构、MIPS架构、ARM架构或者NP架构等等。
在一些实施例中,处理器201可以用于解析蓝牙通信处理模块203接收到的信号,如终端100发送的配对模式修改请求,等等。处理201可以用于根据解析结果进行相应的处理操作,如生成配对模式修改响应,等等。
存储器202与处理器201耦合,用于存储各种软件程序和/或多组指令。具体实现中,存储器202可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器202可以存储操作系统,例如uCOS,VxWorks、RTLinux等嵌入式操作系统。存储器202还可以存储通信程序,该通信程序可用于与终端100,一个或多个服务器,或其他设备进行通信。
蓝牙通信模块203可以包括经典蓝牙(BT)模块和低功耗蓝牙(BLE)模块,
在一些实施例中,蓝牙通信模块203、可以监听到其他设备(如终端100)发射的信号,如探测请求、扫描信号等等,并可以发送响应信号、扫描响应等,使得其他设备(如终端100)可以发现蓝牙设备200,并去其他设备(如终端100)建立无线通信连接,通过蓝牙与其他设备(如终端100)进行通信。
在另一些实施例中,蓝牙通信模块203也可以发射信号,如广播BLE信号,使得其他设备(如终端100)可以发现蓝牙设备200,并与其他设备(如终端100)建立无线通信连接,通过蓝牙与其他设备(如终端100)进行通信。
蓝牙设备200的无线通信功能可以通过天线204,蓝牙通信模块203,调制解调处理器等实现。
天线204可用于发射和接收电磁波信号。蓝牙设备200中的每个天线可用于覆盖单个或多个通信频带。
在一些实施例中蓝牙通信模块203的天线可以有一个或多个。
电源开关205可用于控制电源向蓝牙设备200的供电。
USB通信处理模块206可用于通过USB接口(未示出)与其他设备进行通信。
音频模块26可用于通过音频输出接口输出音频信号,这样可使得蓝牙设备200支持音频播放。音频模块还可用于通过音频输入接口接收音频数据。蓝牙设备200可以为蓝牙耳机等媒体播放设备。
在一些实施例中,蓝牙设备200还可以包括显示屏(未示出),其中,该显示屏可用于显示图像,提示信息等。显示屏可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED)显示屏,有源矩阵有机发光二极体(active-matrix organic light emitting diode,AMOLED)显示屏,柔性发光二极管(flexible light-emitting diode,FLED)显示屏,量子点发光二极管(quantum dot lightemitting diodes,QLED)显示屏等等。
在一些实施例中,蓝牙设备200还可以包括RS-232接口等串行接口。该串行接口可连接至其他设备,如音箱等音频外放设备,使得蓝牙设备200和音频外放设备协作播放音视频。
可以理解的是图3示意的结构并不构成对蓝牙设备200的具体限定。在本申请另一些实施例中,蓝牙设备200可以包括比图示更多或更少的部件,或组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
本申请实施例所述的方法中,蓝牙设备使用的蓝牙协议框架可以参考上述图2B所示,在此不再赘述。
相关技术中,不同的蓝牙设备200支持的服务功能有差别,例如,蓝牙耳机可以支持通话,部分蓝牙手环可能不支持通话功能。因此,蓝牙标准协议中规定了,终端100与蓝牙设备200在完成鉴权认证后,在建立服务连接之前,终端100需要启动发现协议(servicediscovery protocol,SDP)对蓝牙设备200进行服务查询。终端100通过SDP对蓝牙设备200进行服务查询,可以获知到蓝牙设备200上支持有哪些服务功能。同样的,蓝牙设备200也可以通过SDP服务查询对终端100进行服务查询,以获取到终端100上支持有哪些服务功能。在此基础上,终端100若获取到蓝牙设备200支持某一服务功能,终端100和蓝牙设备200才能建立基于该服务功能的服务连接。例如,当终端100通过SDP对蓝牙设备200进行服务查询后,获知到蓝牙设备200支持音频数据传输功能后,终端100可以与蓝牙设备200建立音频数据传输连接。
如图4A所示,在现有蓝牙标准协议中,建立服务连接流程可以有如下步骤:
1、终端100与蓝牙设备200进行查询(inquiry)和寻呼(paging)。
终端100在打开蓝牙功能后,可以进入查询(inquiry)状态。终端100在进入查询状态后,可以每隔一定的时间(例如,312.5us)选择一个新的频率发送查询请求(inquiryrequest)。其中,该查询请求中包括有终端100的蓝牙地址(BD_ADDR)。终端100附近的设备若处于可被发现状态下,可以每隔一定的时间(例如,1.28s)选择一次新的监听频率。其中,终端100(查询设备)和附近的设备(被查询设备)可以使用通用查询接入码(generalinquiry access code,GIAC)低位地址部分(low address part,LAP),作为查询地址。在接收到终端100发送的查询请求后,可以根据查询请求中终端100的蓝牙地址,发送查询响应(inquiry response)给终端100。
蓝牙设备200在进入查询扫描(inquiry scan)状态后,可以扫描周围的设备发送的查询请求。当蓝牙设备200在接收到终端100发送的查询请求后,可以根据查询请求中终端100的蓝牙地址,返回查询响应给终端100。其中,该查询响应中包括有蓝牙设备200的蓝牙地址。
终端100在接收到蓝牙设备200返回的查询响应后,即可认为终端100发现了蓝牙设备200。终端100可以进一步获取蓝牙设备200的设备名称,以显示在终端100的蓝牙设置界面中的可用设备列表中。
终端100可以接收用户针对可用设备列表中蓝牙设备200对应选项的选择操作,响应于该选择操作,终端100可以以寻呼跳变序列进行载波频率的跳变,并在发送时间槽内发送寻呼请求(page request)给蓝牙设备200,用于请求蓝牙设备200加入终端100所在的微微网(piconet)。其中,该寻呼跳变序列(paging hopping sequence)由被寻呼设备的蓝牙地址的低28个比特产生。蓝牙设备200可以以固定的周期在一个固定的时间窗口内以某个跳频频率监听终端100的寻呼请求。蓝牙设备200在监听到终端100发送的寻呼请求后,可以在下一个时间槽发送从设备寻呼响应(slave page response)给终端100。终端100在接收到蓝牙设备200的从设备寻呼响应后,可以在下一个时间槽发送主设备寻呼响应(masterpage response)。
蓝牙设备200在接收到终端100发送的主设备寻呼响应后,便可以进入连接状态并自动成为微微网的从设备,并再次返回从设备寻呼响应给终端100。终端100在接收到蓝牙设备200再次发送的从设备寻呼响应后,即可进入连接状态并自动成为微微网的主设备。在连接状态下,终端100和蓝牙设备200通信双方每隔一定时间(例如625微秒)跳变一个频率信道。其中,在连接状态下,终端100和蓝牙设备200通信双方使用的信道跳变序列(channelhopping sequence)由终端100的蓝牙地址最低28位有效位产生。
2、终端100与蓝牙设备200建立ACL连接。
终端100在与蓝牙设备200完成寻呼之后,即可以建立ACL连接。其中,在ACL连接建立之后,终端100与蓝牙设备200之间的逻辑链路控制和适配协议(logical link controland adaptation protocol,L2CAP)的信令信道(信道号CID=0x0001)已经存在。其中,通过该L2CAP信令信道,终端100与蓝牙设备200可以进行控制信令以及部分数据的传输。通过L2CAP信令信道,终端100与蓝牙设备200可以建立起L2CAP连接。
3、终端100与蓝牙设备200进行配对和认证。
其中,终端100与蓝牙设备200之间的配对可以是链路管理协议(link mangerprotocol,LMP)配对,也可以是安全简单(secure simple pairing,SSP)配对,还可以是其他非标准配对方法。终端100与蓝牙设备200之间配对完成后,可以创建出共享秘钥:链路秘钥(link key)。该链路秘钥(link key)可用于彼此认证设备并加密交换的数据。
终端100在与蓝牙设备200进行配对之后,终端100与蓝牙设备200共享相同的链路秘钥。然后,终端100和蓝牙设备200可以使用链路秘钥进行身份验证。在完成身份验证后,终端100和蓝牙设备200可以通过链路秘钥以及在加密通信交流之前不久交换的随机数导出加密秘钥(encryption key)。然后,终端100和蓝牙设备200可以通过该加密秘钥加密通信双方上传输的数据。
4、终端100通过SDP对蓝牙设备200进行服务查询。
终端100可以通过SDP获知到蓝牙设备200支持哪些服务(例如,是否支持发送电子邮件、打印传真、音频传输、语音通话,等等)。
其中,终端100在通过SDP对蓝牙设备200进行服务查询之前,需要建立L2CAP动态信道。建立完L2CAP动态信道后,终端100才能通过SDP对蓝牙设备200进行服务查询,以获知蓝牙设备200上支持的服务功能。每次通过SDP进行服务查询都需要先建立L2CAP动态信道。
如图4B所示,在终端100与蓝牙设备200建立ACL连接,完成配对认证后,终端100可以在L2CAP信令信道上向蓝牙设备200发送L2CAP连接请求(connection request)。蓝牙设备200在接收到L2CAP连接请求后可以在L2CAP信令信道上返回L2CAP连接响应(connectionresponse)给终端100。然后,终端100在接收到蓝牙设备200返回的连接响应后,可以发送配置请求(configure request)给蓝牙设备200。蓝牙设备200在接收到终端100发送的配置请求后,可以返回配置响应(configure response)给终端100。其中,蓝牙设备200也可以主动发送配置请求给终端100。终端100在接收到蓝牙设备200发送的配置请求后,可以返回配置响应给蓝牙设备200。
其中,请求者(即发送配置请求的设备)通过配置请求可以配置下面参数:请求者接收时的最大传输单元(maximum transmission unit,MTU)、请求者的发送最大刷新时间、请求者的发送服务质量(quality of service,QoS)、请求者的输入流控制和差错控制信息。
应答者(即返回配置响应的设备)通过配置响应可以配置下面参数:应答者输出最大传输单元、请求者的刷新超时时间、应答者接收服务质量流要求、应答者的流控制和差错控制信息。
通过终端100与蓝牙设备200之间的配置交互(配置请求与响应),终端100与蓝牙设备200之间建立完成用于SDP服务查询的L2CAP动态信道。
在终端100与蓝牙设备200建立完成用于SDP服务查询的L2CAP动态信道后,终端100可以基于建立好的L2CAP动态信道发送SDP服务查询请求给蓝牙设备200,以请求获取蓝牙设备200上所支持的服务功能。蓝牙设备200在接收到终端100发送的SDP服务查询请求后,可以基于建立好的L2CAP动态信道返回SDP服务查询响应给终端100,其中,该SDP服务查询响应中包括有蓝牙设备200上所支持的服务功能信息。
在终端100与蓝牙设备200完成SDP服务查询后,用于SDP服务查询而建立的L2CAP动态信道需要被释放。例如,终端100可以主动释放与蓝牙设备200的L2CAP动态信道。
5、终端100与蓝牙设备200建立服务连接。
例如,当终端100通过SDP服务查询到蓝牙设备200能够支持音频传输功能时。然后,终端100可以发起RFCOMM连接请求给蓝牙设备,与蓝牙设备建立RFCOMM连接,之后,终端100与蓝牙设备即可建立音频传输功能的连接,进行音频传输。
通过上述相关技术可以看出,终端100在SDP服务查询之前,都需要先建立起L2CAP动态信道,并在完成SDP服务查询后,再释放建立起的L2CAP动态信道,导致整个蓝牙服务连接的过程耗费时间过长。
因此,本申请中提供一种蓝牙连接的方法,可以在ACL连接建立时,通过L2CAP信令信道上的回应请求(echo request)和回应响应(echo response)两种信令类型,完成SDP服务查询和能力协商等信息交互,省去了建立用于SDP服务查询的L2CAP动态信道等过程,节省了建立蓝牙服务连接的时间。
下面介绍本申请中提供的一种蓝牙连接的方法。
在一些应用场景中,由于在终端100与蓝牙设备200的ACL连接成功后,L2CAP信令信道就已经存在了,而在L2CAP信令信道上的信令命令包括有回应请求(echo request)命令和回应响应命令(echo response)。通过回应请求命令和回应响应命令完成SDP服务查询,可以省去建立用于SDP服务查询的L2CAP动态信道的过程。节省了建立服务连接的时间。
请参照图5,图5示出了本申请实施例提供的一种蓝牙连接的方法。如图5所示,该方法包括:
S501、终端100与蓝牙设备200进行查询(inquiry)。
首先,终端100可以接收用户的输入操作,打开蓝牙功能。
示例性的,如图6A所示,终端100显示有主屏幕的界面610,该界面610显示了一个放置有应用图标的页面,该页面包括多个应用图标(例如,天气应用图标、股票应用图标、计算器应用图标、设置应用图标616、邮件应用图标、支付宝应用图标、脸书应用图标、浏览器应用图标、图库应用图标、音乐应用图标、视频应用图标、应用商店图标)。多个应用图标下方还显示包括有页面指示符,以表明当前显示的页面与其他页面的位置关系。页面指示符的下方有多个托盘图标(例如拨号应用图标、信息应用图标、联系人应用图标、相机应用图标),托盘图标在页面切换时保持显示,上述页面也可以包括多个应用图标和页面指示符;页面指示符也可以不是页面的一部分,单独存在,上述托盘图标也是可选的,本申请实施例对此不做限制。在该界面610的上方显示有状态栏611,该状态栏611可包括:移动通信信号(又可称为蜂窝信号)的一个或多个信号强度指示符、无线高保真(wireless fidelity,Wi-Fi)信号的一个或多个信号强度指示符,电池状态指示符,时间指示符,等等。在托盘图标下方显示有导航栏612,该导航栏612可包括:返回按键613、主界面(Home screen)按键614、呼出任务历史按键615等等系统导航键。当检测到用户点击返回按键613时,终端100可显示当前页面的上一个页面。当检测到用户点击主界面按键614时,终端100可显示主界面。当检测到用户点击呼出任务历史按键615时,终端100可显示用户最近打开的任务。各导航键的命名还可以为其他,本申请对此不做限制。不限于虚拟按键,导航栏612中的各导航键也可以实现为物理按键。
终端100可以接收用户针对设置图标616的输入操作(例如单击),响应于该针对设置图标616的输入操作,终端100可以显示出如图6B所示的设置界面620。
如图6B所示,该设置界面620显示包括无线和网络设置条目、设备连接设置条目621、应用和通知设置条目、电池设置条目、显示设置条目、声音设置条目、存储设置条目、安全和隐私设置条目、用户和账户设置条目,等等。
终端100可以接收用户针对设备连接条目621的输入操作(例如单击),响应于该针对设备连接条目621的输入操作,终端100可以显示出如图6C所示的设备连接界面630。
如图6C所示,该设备连接界面630显示包括有蓝牙设置条目631、NFC设置条目、Huawei Beam设置条目、Huawei Share设置条目、手机投屏设置条目、USB设置条目、打印设置条目,等等。
终端100可以接收用户针对该设备连接界面630中蓝牙设置条目631的输入操作,响应于该针对蓝牙设置条目631的输入操作,终端100可以显示如图6D所示的蓝牙设置界面640。
如图6D所示,该蓝牙设置界面640中显示包括有蓝牙开关条目641、设备名称设置条目642、接收文件设置条目643、扫描控件644、帮助控件645。其中,该蓝牙开关条目641中显示有蓝牙开关651。该蓝牙开关651可用于接收用户的操作,触发终端100打开/关闭蓝牙功能。
示例性的,当前蓝牙开关651处于关闭状态,终端100可接收用户针对该蓝牙开关651的输入操作(例如点击),响应于针对该蓝牙开关651的输入操作,终端100可以打开蓝牙功能。
在终端100在打开蓝牙功能后,终端100可以每隔一定的时间(例如,312.5us)选择一个新的频率发送查询请求(inquiry request)。其中,该查询请求中包括有终端100的蓝牙地址(BD_ADDR)。终端100附近的设备若处于可被发现状态下,可以每隔一定的时间(例如,1.28s)选择一次新的监听频率。其中,终端100(查询设备)和附近的设备(被查询设备)可以使用通用查询接入码(general inquiry access code,GIAC)低位地址部分(lowaddress part,LAP),作为查询地址。在接收到终端100发送的查询请求后,可以根据查询请求中终端100的蓝牙地址,发送查询响应(inquiry response)给终端100。
当蓝牙设备200在接收到终端100发送的查询请求后,可以根据查询请求中终端100的蓝牙地址,返回查询响应给终端100。其中,该查询响应中包括有蓝牙设备200的蓝牙地址。
终端100在接收到蓝牙设备200返回的查询响应后,即可认为终端100发现了蓝牙设备200。终端100可以进一步获取蓝牙设备200的设备名称,以显示在终端100的蓝牙设置界面中的可用设备列表中。
示例性的,如图6E所示,终端100在开启蓝牙功能后,可以显示出已配对设备列表646和可用设备列表648。其中,该已配对的列表中可以显示有一个或多个已配对的设备选项(例如,“HUAWEI AM08”设备选项、“HUAWEI Mate 20”设备选项,等等)。终端100在发现了蓝牙设备200并获取到蓝牙设备200的设备名称后,可以在可用设备列表648中显示有蓝牙设备200对应的设备选项649。该设备选项649上显示有蓝牙设备200的设备名称(例如,蓝牙设备200的设备名称可以是“HUAWEI Free Buds”)。
S502、终端100与蓝牙设备200进行寻呼(paging)。
如图6E所示,终端100可以接收用户针对可用设备列表648中蓝牙设备200对应设备选项649的选择操作(例如点击),响应于该选择操作,终端100可以以寻呼跳变序列进行载波频率的跳变,并在发送时间槽内发送寻呼请求(page request)给蓝牙设备200,用于请求蓝牙设备200加入终端100所在的微微网(piconet)。其中,该寻呼跳变序列(paginghopping sequence)由被寻呼设备的蓝牙地址的低28个比特产生。蓝牙设备200可以以固定的周期在一个固定的时间窗口内以某个跳频频率监听终端100的寻呼请求。蓝牙设备200在监听到终端100发送的寻呼请求后,可以在下一个时间槽发送从设备寻呼响应(slave pageresponse)给终端100。终端100在接收到蓝牙设备200的从设备寻呼响应后,可以在下一个时间槽发送主设备寻呼响应(master page response)。
蓝牙设备200在接收到终端100发送的主设备寻呼响应后,便可以进入连接状态并自动成为微微网的从设备,并再次返回从设备寻呼响应给终端100。终端100在接收到蓝牙设备200再次发送的从设备寻呼响应后,即可进入连接状态并自动成为微微网的主设备。在连接状态下,终端100和蓝牙设备200通信双方每隔一定时间(例如625微秒)跳变一个频率信道。其中,在连接状态下,终端100和蓝牙设备200通信双方使用的信道跳变序列(channelhopping sequence)由终端100的蓝牙地址最低28位有效位产生。
S503、终端100与蓝牙设备200建立ACL连接。
终端100在与蓝牙设备200完成寻呼之后,即可以建立ACL连接。其中,在ACL连接建立之后,终端100与蓝牙设备200之间的逻辑链路控制和适配协议(logical link controland adaptation protocol,L2CAP)的信令信道(信道号CID=0x0001)已经存在。其中,通过该L2CAP信令信道,终端100与蓝牙设备200可以进行控制信令以及部分数据的传输。通过L2CAP信令信道,终端100与蓝牙设备200可以建立起L2CAP连接。
S504、终端100通过L2CAP信令信道发送第一回应请求(echo request)给蓝牙设备200。该第一回应请求(echo request)中携带有终端100的服务信息。该第一回应请求用于将终端100的服务信息通知给蓝牙设备200,并请求蓝牙设备200返回蓝牙设备200的服务信息给终端100。
其中,第一回应请求的信令格式可以参考图7A。如图7A所示,该第一回应请求可以包括代码(Code)字段、标识符(Identity)字段、信令长度字段、数据(Data)字段。
1、该代码域用于标识该L2CAP信令的命令类型。其中L2CAP信令的命令类型包括有保留、命令拒绝、连接请求、连接响应、配置请求、配置响应、连接断开请求、连接断开响应、回应请求、回应响应、信息请求、信息响应等等。其中,代码(Code)与L2CAP信令命令类型的对应关系可以如下表1所示:
表1
Figure BDA0003679529810000201
Figure BDA0003679529810000211
由上述表1可以看出,当Code=0x00时,该L2CAP信令被保留(reserved)。当Code=0x01时,对应的命令类型为命令拒绝(command reject)。当Code=0x02时,对应的命令类型为连接请求(connection request)。当Code=0x03时,对应的命令类型为连接响应(connection response)。当Code=0x04时,对应的命令类型为配置请求(configurerequest)。当Code=0x05时,对应的命令类型为配置响应(configure response)。当Code=0x06时,对应的命令类型为连接断开请求(disconnection request)。当Code=0x07时,对应的命令类型为连接断开响应(disconnection response)。当Code=0x08时,对应的命令类型为回应请求(echo request)。当Code=0x09时,对应的命令类型为回应响应(echoresponse)。当Code=0x0A时,对应的命令类型为信息请求(information request)。当Code=0x0B时,对应的命令类型为信息响应(information response),等等。
因此,在本申请实施例中,回应请求的代码(Code)字段的值为“0x08”。回应响应的代码(Code)字段的值为“0x09”。
2、该标识符字段占1个字节,用于请求(request)与响应(response)间的匹配。请求方设备(例如终端100)设置该字段,而响应方设备(例如蓝牙设备200)在响应中使用相同值。每个最初的命令必须用不同的标识符。在任意两设备间,每个成功的命令都要使用不同的值。在第一个命令传输之后,如果所有其他的值都已经被使用了,那么就可以循环使用相同的值。
3、信令长度字段占2个字节,并只用于以字节为单位表示命令数据字段的大小。也即是说,该数据字段大小不包含代码、标识符和信令长度字段在内。
4、数据字段占任意个字节。数据字段长度可变,可以根据信令长度字段得到数据字段的长度,代码字段决定了数据字段的格式。其中,第一回应请求的数据字段中包括有回应请求的服务指令类型和终端100的服务信息。该服务指令类型标识出了该第一回应请求的作用是用于服务查询。该终端100的服务信息包括有终端100所支持的服务功能。
示例性的,如图7A所示,第一回应请求的数据字段包括头信息(Header)字段、服务标识(Service ID)字段、命令标识(Command ID)字段、有效载荷(Payload)字段、消息完整码(message integrity code,MIC)字段。该消息完整码字段用于蓝牙设备200在接收到第一回应请求后,验证第一回应请求的数据字段中数据完整性。
其中,该头信息字段中可包括有作为L2CAP回应(echo)消息数据的识别符以及L2CAP回应(echo)消息的版本信息等,该头信息字段可以占用1个字节。该服务标识字段可以占用1个字节。该命令标识字段可以占用1个字节。其中,该服务标识字段和命令标识字段决定了该第一回应请求的服务指令类型。例如,当服务标识字段的值为“0x05”,命令标识字段的值为“0x01”时,即可表示该第一回应请求的服务指令类型为“SDP服务查询请求”。该有效载荷字段中包括有服务信息字段,该服务信息字段包括有终端100的所支持的服务功能。
例如,该服务信息字段中包括有多个服务功能对应的比特位。其中,当服务功能对应的比特位为0时,即表示终端100不支持该服务功能。当服务功能对应的比特位为1时,即表示终端100支持该服务功能。该服务功能可以包括蓝牙立体声音音频传输规范(advanceaudio distribution profile,A2DP)、音频/视频远程控制规范(audio video remotecontrol profile,AVRCP)、免提规范(hands-free profile,HFP)、头戴式通话器规范(headset profile,HSP)、串行端口规范(serial port profile,SPP)、数据传输服务(datatransmission service,DTS),等等。
S505、蓝牙设备200返回第一回应响应给终端100。其中,该第一回应响应(echoresponse)中携带有服务信息。该服务信息包括有蓝牙设备200所支持的服务功能。
如图7B所示,该第一回应响应的信令格式与上述图7A中所示第一回应请求的信令格式相同。其中,第一回应响应包括有包括代码(Code)字段、标识符(Identity)字段、信令长度字段、数据(Data)字段。
第一回应响应中代码字段的值为“0x09”,即表示该第一回应响应是L2CAP信令中的回应响应(echo response)信令。该第一回应响应的数据字段中包括有回应响应的服务指令类型和蓝牙设备200的服务信息。该服务指令类型标识出了该第一回应响应的作用是用于服务查询。该蓝牙设备200的服务信息包括有蓝牙设备200所支持的服务功能。
示例性的,如图7B所示,第一回应响应的数据字段包括头信息(Header)字段、服务标识(Service ID)字段、命令标识(Command ID)字段、有效载荷(Payload)字段、消息完整码(message integrity code,MIC)字段。该消息完整码字段用于终端100在接收到第一回应响应后,验证第一回应响应中数据字段的数据完整性。
其中,该头信息字段中可包括有作为L2CAP回应(echo)消息数据的识别符以及L2CAP回应(echo)消息的版本信息等,该头信息字段可以占用1个字节。该服务标识字段可以占用1个字节。该命令标识字段可以占用1个字节。其中,该服务标识字段和命令标识字段决定了该第一回应响应的服务指令类型。例如,当服务标识字段的值为“0x05”,命令标识字段的值为“0x01”时,即可表示该第一回应响应的服务指令类型为“SDP服务查询请求”。该有效载荷字段中包括有服务信息字段,该服务信息字段包括有蓝牙设备200的所支持的服务功能。
例如,该服务信息字段中包括有多个服务功能对应的比特位。其中,当服务功能对应的比特位为0时,即表示终端100不支持该服务功能。当服务功能对应的比特位为1时,即表示终端100支持该服务功能。该服务功能可以包括蓝牙立体声音音频传输规范(advanceaudio distribution profile,A2DP)、音频/视频远程控制规范(audio video remotecontrol profile,AVRCP)、免提规范(hands-free profile,HFP)、头戴式通话器规范(headset profile,HSP)、串行端口规范(serial port profile,SPP)、数据传输服务(datatransmission service,DTS),等等。
在终端100从蓝牙设备200返回的第一回应响应中,获取到蓝牙设备200的支持的服务功能后,终端100可以输出功能提示信息用于提示用户该蓝牙设备200所支持的部分服务功能。
示例性的,如图6F所示,终端100从蓝牙设备200返回的第一回应响应中,获取到蓝牙设备200的支持的服务功能后,可以在蓝牙设备200对应的设备选项上显示出功能提示信息,例如,该功能提示可以是“用于通话和媒体的音频”等文字信息。上述示例仅仅用于解释本申请不应构成限定。该功能提示也可以在配对完成之后才显示。
S506、终端100与蓝牙设备200进行配对。
其中,终端100与蓝牙设备200之间的配对可以是链路管理协议(link mangerprotocol,LMP)配对,也可以是安全简单(secure simple pairing,SSP)配对,还可以是其他非标准配对方法。终端100与蓝牙设备200之间配对完成后,可以创建出共享秘钥:链路秘钥(link key)。该链路秘钥(link key)可用于彼此认证设备并加密交换的数据。
终端100在与蓝牙设备200进行配对之后,终端100与蓝牙设备200共享相同的链路秘钥。然后,终端100和蓝牙设备200可以使用链路秘钥进行身份验证。在完成身份验证后,终端100和蓝牙设备200可以通过链路秘钥以及在加密通信交流之前不久交换的随机数导出加密秘钥(encryption key)。然后,终端100和蓝牙设备200可以通过该加密秘钥加密通信双方上传输的数据。
下面介绍本申请实施例中LMP配对的流程。
1、生成初始秘钥kinit。
其中,初始秘钥长度为128位(bit),由E22算法产生。
其中,E22算法的输入(明文)由以下三部分组成:对方设备的物理地址BD_ADDR、PIN码及其长度、一个128位的随机数IN_RAND。
该从设备的物理地址在生成初始秘钥前,主设备通过询问方式获得从设备的地址(BD_ADDRB)。其中,主设备的地址为BD_ADDRA。
该PIN码是由双方设备(主设备和从设备)预先设定的,例如,“0000”或“1234”等等。
该随机数IN_RAND由主设备产生,并以明文方式传送给从设备。
由于主、从设备使用了相同的E22算法,如果双方设备以上三部分的值都相等,则双方设备各自算出来的初始秘钥也应该相同。
2、生成链路秘钥Kab。
在生成初始秘钥后,主设备可以产生一个128位的随机数Link_RandA,从设备也产生一个128位的随机数Link_RandB。主设备中,主设备将初始秘钥和Link_RandA进行位比特逻辑异或运算,异或结果发送给从设备。同样的,从设备中,从设备将初始秘钥和Link_RandB进行位比特逻辑异或运算,并将异或结果发送给主设备。
主设备可以根据从设备发送的异或结果和本地存储的初始秘钥,运算得到Link_RandB。从设备可以根据主设备发送的异或结果和本地存储的初始秘钥,运算得到Link_RandA。这样,主设备和从设备都具有相同的初始秘钥、Link_RandA、Link_RandA。
主设备可以利用算法(例如E21算法)对Link_RandA和BD_ADDRA进行加密运算得到Link_KA,并且对Link_RandB和BD_ADDRB进行加密运算得到Link_KB。然后,主设备可以根据Link_KA和Link_KB进行异或得到Kab。
同样的,从设备可以利用算法(例如E21算法)对Link_RandA和BD_ADDRA进行加密运算得到Link_KA,并且对Link_RandB和BD_ADDRB进行加密运算得到Link_KB。然后,从设备可以根据Link_KA和Link_KB进行异或得到Kab。
3、主从设备双向认证。
其中,双向认证挑战-应答(challenge-response)方式。主设备可以为应答方,从设备可以为请求方。应答方可以产生一个128位的随机数AU_RANDA,并以明文方式发生给请求方。应答方和请求方都用E1算法将各自得到的AU_RANDA、Kab和BD_RANDB加密运算分别生成32位的SRESA和SRESB。其中,SRESA为作为应答方的主设备生成的,SRESB为作为请求方的从设备生成的。请求方将SRESB发送给应答方,应答方比较SRESA和SRESB,如果相等,此次认证通过,否则认证不通过。执行完此次认证后主设备和从设备角色对换,主设备作为请求方,从设备应答方,采用同样的方式进行认证。
终端100和蓝牙设备200可以通过链路秘钥Kab以及在加密通信交流之前不久交换的随机数导出加密秘钥(encryption key)。然后,终端100和蓝牙设备200可以通过该加密秘钥加密通信双方上传输的数据。
如图6G所示,在终端100与蓝牙设备200配对认证完成后,终端100可以在已配对设备列表646中显示蓝牙设备200的设备选项652。其中该蓝牙设备200的设备选项652上可以显示出“已配对,用于通话和媒体的音频”。
S507、终端100与蓝牙设备200建立服务连接。
示例性的,例如,当终端100通过SDP服务查询到蓝牙设备200能够支持HFP时,若终端100需要进行基于HFP的控制指令传输,终端100可以与蓝牙设备200建立RFCOMM连接,进而得到HFP对应的RFCOMM通道号。然后,终端100与蓝牙设备即可建立基于HFP功能的服务连接,进行HFP控制指令的传输。
在一些相关技术中,终端100与蓝牙设备200建立ACL连接后,终端100需要获取蓝牙设备200的电量信息,并将蓝牙设备200的电量信息显示给用户,可用于提示用户及时给蓝牙设备200充电。
如图8所示,在终端100与蓝牙设备200建立ACL连接后,终端100在获取到蓝牙设备200的电量信息之前,需要经过如下步骤:
1、终端100与蓝牙设备200建立L2CAP动态信道。
终端100可以在L2CAP信令信道上向蓝牙设备200发送L2CAP连接请求(connectionrequest)。蓝牙设备200在接收到L2CAP连接请求后可以在L2CAP信令信道上返回L2CAP连接响应(connection response)给终端100。然后,终端100在接收到蓝牙设备200返回的连接响应后,可以发送配置请求(configure request)给蓝牙设备200。蓝牙设备200在接收到终端100发送的配置请求后,可以返回配置响应(configure response)给终端100。其中,蓝牙设备200也可以主动发送配置请求给终端100。终端100在接收到蓝牙设备200发送的配置请求后,可以返回配置响应给蓝牙设备200。
其中,请求者(即发送配置请求的设备)通过配置请求可以配置下面参数:请求者接收时的最大传输单元、请求者的发送最大刷新时间、请求者的发送服务质量、请求者的输入流控制和差错控制信息。
应答者(即返回配置响应的设备)通过配置响应可以配置下面参数:应答者输出最大传输单元、请求者的刷新超时时间、应答者接收服务质量流要求、应答者的流控制和差错控制信息。
通过终端100与蓝牙设备200之间的配置交互(配置请求与响应),终端100与蓝牙设备200之间建立L2CAP动态信道。
2、终端100与蓝牙设备20建立RFCOMM信令通道以及用于免提规范(hands-freeprofile,HFP)的RFCOMM数据通道。
终端100可以发送RFCOMM连接请求(connection request)给蓝牙设备200用于请求与蓝牙设备200建立RFCOMM信令通道。蓝牙设备200接收到终端100发送的RFCOMM连接请求后,可以返回RFCOMM连接响应(connection response)给终端100。于是,终端100与蓝牙设备200之间的RFCOMM信令通道建立完成。
终端100和蓝牙设备200可以通过RFCOMM信令通道可以完成RFCOMM通道上的参数协商。例如,终端100可以在RFCOMM信令通道上发送RFCOMM协商请求(negotiationrequest)给蓝牙设备200。蓝牙设备200可以在RFCOMM信令通道上发送RFCOMM协商响应(negotiation response)给终端100。通过协商请求和协商响应,终端100与蓝牙设备200可以完成RFCOMM通道上的参数配置。
终端100可以与蓝牙设备200建立用于HFP的RFCOMM数据通道。例如,终端100可以通过RFCOMM信令通道向蓝牙设备200发送RFCOMM连接请求,用于与蓝牙设备200建立用于HFP的RFCOMM数据通道。蓝牙设备200在接收到终端100发送的RFCOMM连接请求后,可以返回RFCOMM连接响应给终端100。于是,终端100与蓝牙设备200之间的用于HFP的RFCOMM数据通道建立完成。
3、蓝牙设备200在用于HFP的RFCOMM数据通道上通过注意命令(attentioncommand,AT command)上报电量。
通过上述相关技术可以看出,蓝牙设备200在向终端100上报电量之前,需要先建立起的L2CAP动态信道。然后,建立起RFCOMM信令通道和用于HFP的RFCOMM数据通道,最后,蓝牙设备200通过AT命令上报电量给终端100,导致蓝牙设备200上报电量的过程比较长。
因此,在本申请实施例中,由于在终端100与蓝牙设备200的ACL连接成功后,L2CAP信令信道就已经存在了,而在L2CAP信令信道上的信令命令包括有回应请求(echorequest)命令和回应响应(echo response)命令。蓝牙设备200可以通过回应请求命令上报电量信息,这样,可以省去建立L2CAP动态信道的过程以及建立用于上报电量的RFCOMM数据通道的过程,节省了终端100获取到蓝牙设备200上报电量的时间。
请参照图9,图9示出了本申请实施例提供的一种蓝牙连接的方法。如图9所示,该方法包括:
S901、终端100与蓝牙设备200进行查询。
具体内容,可以参考前述图5所示实施例中的步骤S501,在此不再赘述。
S902、终端100与蓝牙设备200进行寻呼。
具体内容,可以参考前述图5所示实施例中的步骤S502,在此不再赘述。
S903、终端100与蓝牙设备200建立ACL连接。
具体内容,可以参考前述图5所示实施例中的步骤S503,在此不再赘述。
S904、终端100通过L2CAP信令信道发送第一回应请求(echo request)给蓝牙设备200。该第一回应请求(echo request)中携带有终端100的服务信息。该第一回应请求用于将终端100的服务信息通知给蓝牙设备200,并请求蓝牙设备200返回蓝牙设备200的服务信息给终端100。
其中,终端100可以支持数据传输服务(data transport service,DTS)管理,因此,蓝牙设备200在接收到终端100发送的第一回应请求后,可以获知到终端100支持DTS。其中,第一回应请求的信令格式可以参考前述图6A所示实施例,在此不再赘述。
S905、蓝牙设备200通过L2CAP信令信道发送第一回应响应给终端100。其中,该第一回应响应(echo response)中携带有服务信息。该服务信息包括有蓝牙设备200所支持的服务功能。
其中,蓝牙设备200可以支持数据传输服务(data transport service,DTS)管理,因此,终端100在接收到蓝牙设备200发送的第一回应响应后,可以获知到蓝牙设备200支持DTS管理。其中,第一回应请求的信令格式可以参考前述图6B所示实施例,在此不再赘述。
S906、蓝牙设备200通过L2CAP信令信道发送第二回应请求给终端100。其中,该第二回应请求中携带有蓝牙设备200的电量信息。
其中,第二回应请求的信令格式可以参考图10A。如图10A所示,该第二回应请求可以包括代码(Code)字段、标识符(Identity)字段、信令长度字段、数据(Data)字段。
1、该第二回应请求的代码(Code)字段的值为“0x08”,用于指示该第二回应请求为L2CAP信令中的回应请求(echo request)信令类型。
2、第二回应请求的标识符字段占1个字节,标识符字段的文字说明可以参考前述图7A所示实施例针对第一回应请求的文字说明。
3、第二回应请求的信令长度字段占2个字节,并只用于以字节为单位表示命令数据字段的大小。也即是说,该数据字段大小不包含代码、标识符和信令长度字段在内。
4、第二回应请求中的数据字段占任意个字节。数据字段长度可变,可以根据信令长度字段得到数据字段的长度,其中,代码字段决定了数据字段的格式。其中,第二回应请求的数据字段中包括有回应请求的服务指令类型和蓝牙设备200的电量信息。该服务指令类型标识出了该第二回应请求的作用是用于电量上报。
示例性的,如图10A所示,第二回应请求的数据字段包括头信息(Header)字段、服务标识(Service ID)字段、命令标识(Command ID)字段、有效载荷(Payload)字段、消息完整码(message integrity code,MIC)字段。该消息完整码字段用于终端100在接收到第二回应请求后,验证第二回应请求的数据字段中数据的完整性。
其中,该头信息字段中可包括有作为L2CAP回应(echo)消息数据的识别符以及L2CAP回应(echo)消息的版本信息等,该头信息字段可以占用1个字节。该服务标识字段可以占用1个字节。该命令标识字段可以占用1个字节。其中,该服务标识字段和命令标识字段决定了该第一回应请求的服务指令类型。例如,当服务标识字段的值为“0x04”,命令标识字段的值为“0x03”时,即可表示该第二回应请求的服务指令类型为“电量上报”。该有效载荷字段中包括有电量信息字段,该电量信息字段包括有蓝牙设备200的电量信息。
S907、终端100通过L2CAP信令信道发送第二回应响应给蓝牙设备200。其中,该第二回应响应用于通知蓝牙设备200已确认接收到电量信息。
如图10B所示,该第二回应响应的信令格式与上述图10A中所示第二回应请求的信令格式相同。其中,第二回应响应包括有包括代码(Code)字段、标识符(Identity)字段、信令长度字段、数据(Data)字段。
第二回应响应中代码字段的值为“0x09”,即表示该第二回应响应是L2CAP信令中的回应响应(echo response)信令。该第二回应响应的数据字段中包括有回应响应的服务指令类型和电量接收反馈信息。该服务指令类型标识出了该第二回应响应的作用是用于电量信息的接收反馈。电量接收反馈信息用于表征终端100已经接收到蓝牙设备200的上报的电量信息。
示例性的,如图10B所示,第二回应响应的数据字段包括头信息(Header)字段、服务标识(Service ID)字段、命令标识(Command ID)字段、有效载荷(Payload)字段、消息完整码(message integrity code,MIC)字段。该消息完整码字段用于蓝牙设备200在接收到第二回应响应后,验证第二回应响应中数据字段的数据完整性。
其中,该头信息字段中可包括有作为L2CAP回应(echo)消息数据的识别符以及L2CAP回应(echo)消息的版本信息等,该头信息字段可以占用1个字节。该服务标识字段可以占用1个字节。该命令标识字段可以占用1个字节。其中,该服务标识字段和命令标识字段决定了该第一回应响应的服务指令类型。例如,当服务标识字段的值为“0x04”,命令标识字段的值为“0x03”时,即可表示该第二回应响应的服务指令类型为“电量信息接收反馈”。该有效载荷字段中包括有电量接收反馈信息,用于表征终端100已经接收到了蓝牙设备200上报的电量信息。
在一些实施例中,当终端100与蓝牙设备200建立了ACL链路连接,并对所建立的ACL链路完成加密时,蓝牙设备200可以通过L2CAP的echo request信令发送蓝牙设备200此时的电量信息给终端100。
在一些实施例中,当蓝牙设备200的电量符合预设变化时,蓝牙设备200可以通过L2CAP的echo request信令发送蓝牙设备200此时的电量信息给终端100。预设变化可以包括电量百分比下降指定值。例如,指定值可以为蓝牙设备200电池总电量的百分之一,若蓝牙设备200电量百分比从100%下降至99%时,蓝牙设备200通过echo request向终端100发送此时蓝牙设备200的电量信息(99%)。又例如,指定值可以为蓝牙设备200电池总电量的百分之二十五,若蓝牙设备200的电量百分比从100%下降至75%时,蓝牙设备200通过echorequest向终端100发送此时蓝牙设备200的电量信息(75%)。上述示例仅仅用于解释本申请,不应构成限定。
在一些实施例中,当蓝牙设备200为真无线立体声(true wireless stereo,TWS)耳机时,蓝牙设备200可以在耳机盒从开盒状态切换至闭盒时通过L2CAP的echo request信令发送蓝牙设备200此时的电量信息给终端100。
示例性的,如图10C所示,终端100在获取到蓝牙设备200发送的电量信息后,可以根据蓝牙设备200的电量信息,在终端100触控屏顶部的状态栏上显示蓝牙设备200的电量指示符,该电量指示符用于指示蓝牙设备200当前的电量状态。
又示例性的,如图10D所示,蓝牙设备200可以是TWS蓝牙耳机,该蓝牙设备200可以包括左耳耳机、右耳耳机、耳机盒。其中,蓝牙设备200的设备名称可以是“HUAWEI FreeBuds”。终端100在获取到蓝牙设备200发送的电量信息后,可以弹出电量显示框1020。其中,该电量信息中可以包括有蓝牙设备200的左耳耳机电量、右耳耳机电量和耳机盒电量。该电量显示框1020中可以包括有蓝牙设备200的左耳耳机电量(例如80%)1021、蓝牙设备200的右耳耳机电量(例如79%)1022以及耳机盒电量(例如60%)1023。
上述图10C和图10D所示示例仅仅用于解释本申请,不应构成限定。终端100显示蓝牙设备200的方式不限于上述图10C和图10D,还可以有其他方式,例如,终端100还可以在的蓝牙设置界面或者主界面负一屏上显示蓝牙设备200的电量信息,本申请不作限定。
在一些相关技术中,终端100与蓝牙设备200建立ACL连接后,终端100可以与蓝牙设备200的通过串行端口规范(SPP)进行一些私有参数信息的交互,以完成一些设备厂商私有的服务功能,例如,通过蓝牙设备200唤醒终端100上的语音助手,蓝牙设备200向终端100上报位置信息,等等。
如图11所示,在终端100与蓝牙设备200建立ACL连接后,终端100与蓝牙设备200在进行私有参数信息交互之前,需要经过如下步骤:
1、终端100与蓝牙设备200建立L2CAP动态信道。
具体内容,可以参考前述图8所示相关技术中的文字说明。
2、终端100与蓝牙设备20建立RFCOMM信令通道以及用于免提规范(hands-freeprofile,HFP)的RFCOMM数据通道。
终端100可以发送RFCOMM连接请求(connection request)给蓝牙设备200用于请求与蓝牙设备200建立RFCOMM信令通道。蓝牙设备200接收到终端100发送的RFCOMM连接请求后,可以返回RFCOMM连接响应(connection response)给终端100。于是,终端100与蓝牙设备200之间的RFCOMM信令通道建立完成。
终端100和蓝牙设备200可以通过RFCOMM信令通道可以完成RFCOMM通道上的参数协商。例如,终端100可以在RFCOMM信令通道上发送RFCOMM协商请求(negotiationrequest)给蓝牙设备200。蓝牙设备200可以在RFCOMM信令通道上发送RFCOMM协商响应(negotiation response)给终端100。通过协商请求和协商响应,终端100与蓝牙设备200可以完成RFCOMM通道上的参数配置。
终端100可以与蓝牙设备200建立用于串行端口规范(SPP)的RFCOMM数据通道。例如,终端100可以通过RFCOMM信令通道向蓝牙设备200发送RFCOMM连接请求,用于与蓝牙设备200建立用于SPP的RFCOMM数据通道。蓝牙设备200在接收到终端100发送的RFCOMM连接请求后,可以返回RFCOMM连接响应给终端100。于是,终端100与蓝牙设备200之间的用于SPP的RFCOMM数据通道建立完成。
3、终端100和蓝牙设备200在用于SPP的RFCOMM数据通道上进行私有参数信息的交互。
通过上述相关技术可以看出,蓝牙设备200在向终端100上报电量之前,需要先建立起的L2CAP动态信道。然后,建立起RFCOMM信令通道和用于HFP的RFCOMM数据通道,最后,蓝牙设备200通过AT命令上报电量给终端100,导致蓝牙设备200上报电量的过程比较长。
因此,在本申请实施例中,由于在终端100与蓝牙设备200的ACL连接成功后,L2CAP信令信道就已经存在了,而在L2CAP信令信道上的信令命令包括有回应请求(echorequest)命令和回应响应(echo response)命令。终端100和蓝牙设备200可以通过回应请求(echo request)命令和回应响应(echo response)命令进行私有参数信息的交互。这样,可以省去建立L2CAP动态信道的过程以及建立用于SPP的RFCOMM数据通道的过程,节省了终端100与蓝牙设备200交互私有参数信息的时间。
请参照图12,图12示出了本申请实施例提供的一种蓝牙连接的方法。如图12所示,该方法包括:
S1201、终端100与蓝牙设备200进行查询。
具体内容,可以参考前述图5所示实施例中的步骤S501,在此不再赘述。
S1202、终端100与蓝牙设备200进行寻呼。
具体内容,可以参考前述图5所示实施例中的步骤S502,在此不再赘述。
S1203、终端100与蓝牙设备200建立ACL连接。
具体内容,可以参考前述图5所示实施例中的步骤S503,在此不再赘述。
S1204、终端100通过L2CAP信令信道发送第一回应请求(echo request)给蓝牙设备200。该第一回应请求(echo request)中携带有终端100的服务信息。该第一回应请求用于将终端100的服务信息通知给蓝牙设备200,并请求蓝牙设备200返回蓝牙设备200的服务信息给终端100。
其中,终端100可以支持数据传输服务(data transport service,DTS)管理,因此,蓝牙设备200在接收到终端100发送的第一回应请求后,可以获知到终端100支持DTS。其中,第一回应请求的信令格式可以参考前述图6A所示实施例,在此不再赘述。
S1205、蓝牙设备200通过L2CAP信令信道发送第一回应响应给终端100。其中,该第一回应响应(echo response)中携带有服务信息。该服务信息包括有蓝牙设备200所支持的服务功能。
其中,蓝牙设备200可以支持数据传输服务(data transport service,DTS)管理,因此,终端100在接收到蓝牙设备200发送的第一回应响应后,可以获知到蓝牙设备200支持DTS管理。其中,第一回应请求的信令格式可以参考前述图6B所示实施例,在此不再赘述。
S1206、终端100可以通过L2CAP信令信道发送第三回应请求给蓝牙设备200。其中,该第三回应请求中携带有终端100的私有参数信息。
其中,终端100的私有参数信息包括但不限于:终端100的音频场景信息、用户场景信息、终端100的设备类型。其中,音频场景信息可以包括系统音场景、铃声场景、警告音场景、通知音场景、音乐场景、视频场景、游戏场景、语音消息场景等。用户场景可以包括静走场景、跑步场景、骑行场景等等。终端的设备类型可以包括手机、平板等等。
其中,第三回应请求的信令格式可以参考图13A。如图13A所示,该第三回应请求可以包括代码(Code)字段、标识符(Identity)字段、信令长度字段、数据(Data)字段。
第三回应请求中代码字段的值为“0x08”,即表示该第三回应请求是L2CAP信令中的回应请求(echo request)信令。该第三回应请求的数据字段中包括有回应请求的服务指令类型和私有参数信息。该服务指令类型标识出了该第三回应响应的作用是用于私有参数交互。
示例性的,如图13A所示,第三回应请求的数据字段包括头信息(Header)字段、服务标识(Service ID)字段、命令标识(Command ID)字段、有效载荷(Payload)字段、消息完整码(message integrity code,MIC)字段。该消息完整码字段用于验证数据字段中数据的完整性。
其中,该头信息字段中可包括有作为L2CAP回应(echo)消息数据的识别符以及L2CAP回应(echo)消息的版本信息等,该头信息字段可以占用1个字节。该服务标识字段可以占用1个字节。该命令标识字段可以占用1个字节。其中,该服务标识字段和命令标识字段决定了该第三回应请求的服务指令类型。例如,当服务标识字段的值为“0x04”,命令标识字段的值为“0x02”时,即可表示该第三回应请求的服务指令类型为“私有参数信息交互”。该有效载荷字段中包括私有参数信息。
S1207、蓝牙设备200可以通过L2CAP信令信道发送第三回应响应给蓝牙设备200。其中,该第三回应响应中携带有蓝牙设备200的私有参数信息。
其中,蓝牙设备200的私有参数信息可以包括但不限于以下信息:蓝牙设备200的佩戴检测信息和/或所述蓝牙设备200的设备类型。其中,该佩戴检测信息用于指示该蓝牙设备200是否被用户正确佩戴。蓝牙设备200可以通过传感器(例如接近光传感器等)检测到该蓝牙设备是否被用户正确佩戴。蓝牙设备200的设备类型可以包括:手表、TWS耳机、音箱、蓝牙眼镜等等。
其中,第三回应响应的信令格式可以参考图13B。如图13B所示,该第三回应响应可以包括代码(Code)字段、标识符(Identity)字段、信令长度字段、数据(Data)字段。
第三回应响应中代码字段的值为“0x09”,即表示该第三回应响应是L2CAP信令中的回应请求(echo response)信令。该第三回应响应的数据字段中包括有回应请求的服务指令类型和私有参数信息。该服务指令类型标识出了该第三回应响应的作用是用于私有参数信息的交互。
示例性的,如图13B所示,第三回应响应的数据字段包括头信息(Header)字段、服务标识(Service ID)字段、命令标识(Command ID)字段、有效载荷(Payload)字段、消息完整码(message integrity code,MIC)字段。该消息完整码字段用于验证数据字段中数据的完整性。
其中,该头信息字段中可包括有作为L2CAP回应(echo)消息数据的识别符以及L2CAP回应(echo)消息的版本信息等,该头信息字段可以占用1个字节。该服务标识字段可以占用1个字节。该命令标识字段可以占用1个字节。其中,该服务标识字段和命令标识字段决定了该第三回应响应的服务指令类型。例如,当服务标识字段的值为“0x04”,命令标识字段的值为“0x02”时,即可表示该第三回应响应的服务指令类型为“私有参数信息交互”。该有效载荷字段中包括私有参数信息。
在本申请实施例中,终端100与蓝牙设备200进行私有参数信息交互时,不限于上述步骤S1206、终端100发送第三回应请求给蓝牙设备200,步骤S1207、蓝牙设备200发送第三回应响应给终端100。蓝牙设备200还可以主动发送第三响应请求给终端100,终端100可以发送第三回应响应给蓝牙设备200。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (24)

1.一种蓝牙连接方法,其特征在于,所述方法应用于蓝牙系统,所述蓝牙系统包括终端和蓝牙设备,所述方法包括:
当所述终端与所述蓝牙设备建立异步无连接ACL链路后,所述终端通过逻辑链路控制和适配协议L2CAP信令信道向所述蓝牙设备发送服务查询请求;其中,所述服务查询请求中包括有所述终端所支持的服务信息;
响应于所述服务查询请求,所述蓝牙设备通过所述L2CAP信令信道向所述终端发送服务查询响应,其中,所述服务查询响应中包括有所述蓝牙设备所支持的服务信息;
在所述终端接收到所述蓝牙设备发送的所述服务查询响应后,所述终端与所述蓝牙设备进行配对;
当所述终端与所述蓝牙设备都支持第一服务时,所述终端与所述蓝牙设备建立基于所述第一服务的连接。
2.根据权利要求1所述的方法,其特征在于,所述终端通过逻辑链路控制和适配协议L2CAP信令信道向所述蓝牙设备发送服务查询请求,具体包括:
所述终端通过L2CAP的回应请求echo request信令发送所述服务查询请求给所述蓝牙设备。
3.根据权利要求1所述的方法,其特征在于,所述蓝牙设备通过所述L2CAP信令信道向所述终端发送服务查询响应,具体包括:
所述蓝牙设备通过L2CAP的回应响应echo response信令向所述终端发送所述服务查询响应。
4.根据权利要求1中所述的方法,其特征在于,所述方法还包括:
当所述终端与所述蓝牙设备建立的ACL链路被加密时,所述蓝牙设备通过L2CAP的echorequest信令向所述终端发送所述蓝牙设备的第一电量信息;
所述终端在接收到所述第一电量信息,显示所述第一电量信息。
5.根据权利要求1中所述的方法,其特征在于,所述方法还包括:
当所述蓝牙设备的电量符合预设变化时,所述蓝牙设备通过L2CAP的echo request信令向所述终端发送所述蓝牙设备的第二电量信息;
所述终端在接收到所述第二电量信息后,显示所述第二电量信息。
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
所述终端在接收到所述蓝牙设备发送的所述第一电量信息或所述第二电量信息后,通过所述L2CAP的echo response信令向所述蓝牙设备发送电量接收响应;其中,所述电量接收响应用于所述蓝牙设备确认所述终端已接收到所述第一电量信息或所述第二电量信息。
7.根据权利要求1中权利要求所述的方法,其特征在于,所述方法还包括:
所述终端通过L2CAP的echo request信令或echo response信令向所述蓝牙设备发送所述终端的私有参数;其中,所述终端的私有参数包括所述终端的音频场景信息和/或用户场景信息和/或所述终端的设备类型。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述蓝牙设备通过L2CAP的echo response信令或echo response信令向所述终端发送所述蓝牙设备的私有参数;其中,所述蓝牙设备的私有参数包括所述蓝牙设备的佩戴检测信息和/或所述蓝牙设备的设备类型。
9.一种蓝牙系统,其特征在于,所述蓝牙系统包括终端和蓝牙设备;其中,
所述终端,用于当与所述蓝牙设备建立异步无连接ACL链路后,通过逻辑链路控制和适配协议L2CAP信令信道向所述蓝牙设备发送服务查询请求;其中,所述服务查询请求中包括有所述终端所支持的服务信息;
所述蓝牙设备,用于响应于接收到的所述服务查询请求,通过所述L2CAP信令信道向所述终端发服务查询响应;其中,所述服务查询响应中包括有所述蓝牙设备所支持的服务信息;
所述终端,还用于在接收到所述服务查询响应后,与所述蓝牙设备进行配对;
所述终端,还用于在与所述蓝牙设备都支持第一服务时,与所述终端与所述蓝牙设备建立基于所述第一服务的连接。
10.根据权利要求9所述的蓝牙系统,其特征在于,所述终端,具体用于:
通过L2CAP的回应请求echo request信令发送所述服务查询请求给所述蓝牙设备。
11.根据权利要求9所述的蓝牙系统,其特征在于,所述蓝牙设备,具体用于:
通过L2CAP的回应响应echo response信令向所述终端发送所述服务查询响应。
12.根据权利要求9所述的蓝牙系统,其特征在于,所述蓝牙设备,还用于当所述蓝牙设备与所述终端建立的ACL链路被加密时,通过所述L2CAP的echo request信令向所述终端发送所述蓝牙设备的第一电量信息;
所述终端,还用于在接收到所述第一电量信息后,显示所述第一电量信息。
13.根据权利要求9所述的蓝牙系统,其特征在于,所述蓝牙设备,还用于当所述蓝牙设备的电量符合预设变化时,通过所述L2CAP的echo request信令向所述终端发送所述蓝牙设备的第二电量信息;
所述终端,还用于在接收到所述第二电量信息后,显示所述第二电量信息。
14.根据权利要求12或13所述的蓝牙系统,其特征在于,所述终端,还用于:
在接收到所述蓝牙设备发送的所述第一电量信息或所述第二电量信息后,通过所述L2CAP的echo response信令向所述蓝牙设备发送电量接收响应;其中,所述电量接收响应用于所述蓝牙设备确认所述终端已接收到所述第一电量信息或所述第二电量信息。
15.根据权利要求9所述的蓝牙系统,其特征在于,所述终端,还用于:
通过所述L2CAP的echo request信令或echo response信令向所述终端发送所述终端的私有参数;其中,所述终端的私有参数包括所述终端的音频场景信息和/或用户场景信息和/或所述终端的设备类型。
16.根据权利要求9所述的蓝牙系统,其特征在于,所述蓝牙设备,还用于:
通过L2CAP的echo response信令或echo response信令向所述终端发送所述蓝牙设备的私有参数;其中,所述蓝牙设备的私有参数包括所述蓝牙设备的佩戴检测信息和/或所述蓝牙设备的设备类型。
17.一种终端,其特征在于,所述终端包括蓝牙芯片、存储器、触控屏和处理器;所述存储器与所述处理器耦合;其中,所述蓝牙芯片支持经典蓝牙BR/EDR功能;
所述蓝牙芯片,用于在与蓝牙设备建立异步无连接ACL链路后,通过逻辑链路控制和适配协议L2CAP信令信道向所述蓝牙设备发送服务查询请求;其中,所述服务查询请求中包括有所述终端所支持的服务信息;
所述蓝牙芯片,还用于通过所述L2CAP信令信道接收所述蓝牙设备发送的服务查询响应,其中,所述服务查询响应中包括有所述蓝牙设备所支持的服务信息;
所述蓝牙芯片,还用于在接收到所述服务查询响应后,与所述蓝牙设备进行配对;
所述蓝牙芯片,还用于当与所述蓝牙设备都支持第一服务时,与所述蓝牙设备建立基于所述第一服务的连接。
18.根据权利要求17所述的终端,其特征在于,所述蓝牙芯片,具体用于:
通过L2CAP的回应请求echo request信令发送所述服务查询请求给所述蓝牙设备。
19.根据权利要求17所述的终端,其特征在于,所述蓝牙芯片,具体用于:
接收所述蓝牙设备通过L2CAP的回应响应echo response信令发送的所述服务查询响应。
20.根据权利要求17所述的终端,其特征在于,所述蓝牙芯片,还用于当与所述蓝牙设备建立的ACL链路被加密时,接收所述蓝牙设备通过L2CAP的echo request信令发送的第一电量信息;
所述处理器,用于在所述蓝牙芯片接收到所述第一电量信息后,指示所述触控屏显示所述第一电量信息。
21.根据权利要求17所述的终端,其特征在于,所述蓝牙芯片,还用于在蓝牙设备的电量符合预设变化时,接收所述蓝牙设备通过L2CAP的echo request信令发送的第二电量信息;
所述处理器,用于在所述蓝牙芯片接收到所述第二电量信息后,指示所述触控屏显示所述第二电量信息。
22.根据权利要求20或21所述的终端,其特征在于,所述蓝牙芯片,还用于:
在接收到所述蓝牙设备发送的所述第一电量信息或所述第二电量信息后,通过所述L2CAP的echo response信令向所述蓝牙设备发送电量接收响应;其中,所述电量接收响应用于所述蓝牙设备确认所述终端已接收到所述第一电量信息或所述第二电量信息。
23.根据权利要求17所述的终端,其特征在于,所述蓝牙芯片,还用于:
通过L2CAP的echo request信令或echo response信令向所述蓝牙设备发送所述终端的私有参数,其中,所述终端的私有参数包括所述终端的音频场景信息和/或用户场景信息和/或所述终端的设备类型。
24.根据权利要求17所述的终端,其特征在于,所述蓝牙芯片,还用于:
接收所述蓝牙设备通过L2CAP的echo response信令或echo response信令发送的所述蓝牙设备的私有参数;其中,所述蓝牙设备的私有参数包括所述蓝牙设备的佩戴检测信息和/或所述蓝牙设备的设备类型。
CN202210633231.0A 2019-09-06 2019-09-06 一种蓝牙连接方法及相关装置 Pending CN115119194A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210633231.0A CN115119194A (zh) 2019-09-06 2019-09-06 一种蓝牙连接方法及相关装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910844164.5A CN112469013B (zh) 2019-09-06 2019-09-06 一种蓝牙连接方法及相关装置
CN202210633231.0A CN115119194A (zh) 2019-09-06 2019-09-06 一种蓝牙连接方法及相关装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201910844164.5A Division CN112469013B (zh) 2019-09-06 2019-09-06 一种蓝牙连接方法及相关装置

Publications (1)

Publication Number Publication Date
CN115119194A true CN115119194A (zh) 2022-09-27

Family

ID=74806862

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210633231.0A Pending CN115119194A (zh) 2019-09-06 2019-09-06 一种蓝牙连接方法及相关装置
CN201910844164.5A Active CN112469013B (zh) 2019-09-06 2019-09-06 一种蓝牙连接方法及相关装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201910844164.5A Active CN112469013B (zh) 2019-09-06 2019-09-06 一种蓝牙连接方法及相关装置

Country Status (4)

Country Link
US (1) US20220330359A1 (zh)
EP (1) EP4024918B1 (zh)
CN (2) CN115119194A (zh)
WO (1) WO2021043170A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113301113B (zh) * 2021-04-12 2022-06-10 荣耀终端有限公司 一种profile版本确定方法、系统、电子设备及计算机存储介质
CN113382457B (zh) * 2021-05-17 2022-09-02 Tcl通讯(宁波)有限公司 WiFi P2P连接方法、装置、移动终端及存储介质
CN113419907B (zh) * 2021-05-26 2023-05-23 杭州安恒信息技术股份有限公司 操作系统探测方法、装置、电子装置和计算机设备
CN113596827B (zh) * 2021-07-29 2024-02-13 Oppo广东移动通信有限公司 密钥生成方法、装置、电子设备及存储介质
CN113473435A (zh) * 2021-08-19 2021-10-01 Oppo广东移动通信有限公司 基于蓝牙的设备连接方法、装置、电子设备及存储介质
CN114501449B (zh) * 2022-01-28 2024-02-09 Oppo广东移动通信有限公司 信息查询的方法、装置、电子设备及存储介质
CN114268689B (zh) * 2022-03-03 2022-08-05 荣耀终端有限公司 蓝牙设备的电量显示方法、终端及存储介质
CN116939555A (zh) * 2022-03-29 2023-10-24 Oppo广东移动通信有限公司 服务查询的处理方法、装置、设备、存储介质及程序产品

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2591155Y (zh) * 2002-04-30 2003-12-10 北京信源咨讯信息技术有限公司 使用蓝牙技术的无线身份认证和数据收发的门禁系统
CN100442908C (zh) * 2004-11-15 2008-12-10 华为技术有限公司 蓝牙接入点的链路管理方法
CN101141150A (zh) * 2006-09-04 2008-03-12 中兴通讯股份有限公司 蓝牙电话终端装置及其通信方法
US7630707B2 (en) * 2006-11-27 2009-12-08 Apple Inc. Wireless communication out of range indication
ATE538621T1 (de) * 2007-07-30 2012-01-15 Marvell World Trade Ltd Gleichzeitige aufrechterhaltung von bluetooth- und 802.11-verbindungen für erhöhten datendurchsatz
KR101478207B1 (ko) * 2007-11-23 2015-01-02 삼성전자주식회사 이동통신 단말에서 블루투스를 이용하여 자바푸시를요구하는 기기들을 식별하기 위한 방법 및 장치
JP2010011064A (ja) * 2008-06-26 2010-01-14 Kyocera Corp 無線通信端末、無線通信システム
CN101867572B (zh) * 2010-05-11 2015-08-12 中兴通讯股份有限公司 无线优盘的实现方法及系统
US8886118B2 (en) * 2010-05-11 2014-11-11 Plantronics, Inc. Information exchange via bluetooth service discovery protocol service records
US8744355B2 (en) * 2011-08-14 2014-06-03 Mediatek Inc. Communication method, and bluetooth device utilizing the communication method
US10360364B2 (en) * 2013-03-13 2019-07-23 Lookout, Inc. Method for changing mobile communication device functionality based upon receipt of a second code
CN105338402B (zh) * 2015-11-04 2020-08-07 北京数码视讯科技股份有限公司 一种进行蓝牙连接的方法及装置
CN106900079B (zh) * 2015-12-18 2019-12-03 展讯通信(上海)有限公司 蓝牙连接方法及装置
CN108243278B (zh) * 2017-12-15 2021-02-23 北京车和家信息技术有限公司 切换方法、装置、车机、移动终端与可读存储介质

Also Published As

Publication number Publication date
US20220330359A1 (en) 2022-10-13
EP4024918A1 (en) 2022-07-06
EP4024918A4 (en) 2022-10-19
CN112469013B (zh) 2022-06-07
CN112469013A (zh) 2021-03-09
WO2021043170A1 (zh) 2021-03-11
EP4024918B1 (en) 2023-11-22

Similar Documents

Publication Publication Date Title
CN113225693B (zh) 一种蓝牙连接方法、设备及系统
CN112469013B (zh) 一种蓝牙连接方法及相关装置
CN112789867B (zh) 一种蓝牙连接方法及设备
CN113228701B (zh) 音频数据的同步方法及设备
CN112868244B (zh) 一种点对多点的数据传输方法及设备
WO2021036835A1 (zh) 一种蓝牙搜索方法、系统及相关装置
US11844119B2 (en) Bluetooth pairing method and related apparatus
CN111601199A (zh) 无线耳机盒及系统
CN114710768B (zh) 一种蓝牙回连方法及相关装置
CN112822663B (zh) 蓝牙连接方法及相关装置
CN111757303A (zh) 一种蓝牙发射功率的控制方法以及终端设备
CN112040461A (zh) 一种靠近发现的方法及设备
CN115119336B (zh) 耳机连接系统、方法、耳机、电子设备及可读存储介质
CN112469012A (zh) 一种蓝牙通信方法及相关装置
CN115802326A (zh) 一种蓝牙连接方法及电子设备
CN114091006A (zh) 一种设备的连接方法及电子设备
CN115134402A (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