CN116017379A - 蓝牙设备的通信方法、蓝牙的提示方法和蓝牙系统 - Google Patents
蓝牙设备的通信方法、蓝牙的提示方法和蓝牙系统 Download PDFInfo
- Publication number
- CN116017379A CN116017379A CN202211519280.8A CN202211519280A CN116017379A CN 116017379 A CN116017379 A CN 116017379A CN 202211519280 A CN202211519280 A CN 202211519280A CN 116017379 A CN116017379 A CN 116017379A
- Authority
- CN
- China
- Prior art keywords
- bluetooth
- slave device
- slave
- master
- connection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了蓝牙设备的通信方法、蓝牙的提示方法和蓝牙系统,该方法包括:使用蓝牙协议的从设备与使用所述蓝牙协议的主设备进行蓝牙连接;在所述从设备与所述主设备蓝牙连接保持的过程中,所述从设备发送广播消息,其中,所述广播消息中携带有用于指示所述从设备状态的信息。通过本申请解决了现有技术中在某些情况下连接蓝牙设备出现异常时无法进行准确定位的问题,进而能够对出现的问题给出提示信息,为解决该问题提供信息帮助。
Description
技术领域
本申请涉及到蓝牙领域,具体而言,涉及蓝牙设备的通信方法、蓝牙的提示方法和蓝牙系统。
背景技术
蓝牙作为一种支持设备短距离通信的无线电技术,能够在移动终端、无线耳机、笔记本电脑等设备之间进行无线信息交换。例如,低功耗蓝牙设备(比如可穿戴设备)主要通过蓝牙技术与手机进行连接通信。
蓝牙设备一般只能连接一个主设备,例如,一个蓝牙耳机一般只能连接到一个手机上,此时,如果另一个手机发起蓝牙扫描,会提示找不到蓝牙耳机,在这种情况下,用户如果不知道该蓝牙耳机已经连接到了别的手机上,就无法正确的定位问题所在,给用户带来困扰。
发明内容
本申请实施例提供了蓝牙设备的通信方法、蓝牙的提示方法和蓝牙系统,以至少解决现有技术中在某些情况下连接蓝牙设备出现异常时无法进行准确定位的问题。
根据本申请的一个方面,提供了一种蓝牙设备的通信方法,包括:使用蓝牙协议的从设备与使用所述蓝牙协议的主设备进行蓝牙连接;在所述从设备与所述主设备蓝牙连接保持的过程中,所述从设备发送广播消息,其中,所述广播消息中携带有用于指示所述从设备状态的信息。
根据本申请的另一个方面,还提供了一种蓝牙的提示方法,包括:主设备在发起蓝牙扫描之后,接收到广播消息,其中,所述广播消息中携带有用于指示从设备状态的信息,所述广播消息是所述从设备在与另一主设备保持蓝牙连接的过程中发送的;所述主设备获取所述广播消息中携带的用于指示所述从设备状态的信息,并进行提示。
根据本申请的另一个方面,提供了一种蓝牙系统,包括:从设备,用于实现上述的方法中所述从设备执行的步骤。
根据本申请的另一个方面,提供了一种可读存储介质,其上存储有计算机指令,其中,该计算机指令被处理器执行时实现上述的方法步骤。
在本申请实施例中,采用了使用蓝牙协议的从设备与使用所述蓝牙协议的主设备进行蓝牙连接;在所述从设备与所述主设备蓝牙连接保持的过程中,所述从设备发送广播消息,其中,所述广播消息中携带有用于指示所述从设备状态的信息。通过本申请解决了现有技术中在某些情况下连接蓝牙设备出现异常时无法进行准确定位的问题,进而能够对出现的问题给出提示信息,为解决该问题提供信息帮助。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据现有技术中的蓝牙连接的流程示意图;
图2是根据本申请实施例的蓝牙设备的通信方法的流程图;
图3是根据本申请实施例的蓝牙连接的流程示意图;
图4是根据本申请实施例的蓝牙设备解绑重连的示意图一;以及,
图5是根据本申请实施例的蓝牙设备解绑重连的示意图二。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在以下实施方式中涉及到与蓝牙相关的技术方案,下面首先对以下实施方式中涉及到的技术术语进行说明。
蓝牙(BlueTooth)
蓝牙是蓝牙传输协议的简称,蓝牙传输协议是指的是蓝牙协议层,蓝牙协议层包括:逻辑链路控制和适配协议(L2CAP)、无线射频通信(RFCOMM)和服务搜索协议(SDP)。L2CAP提供分割和重组服务,RFCOMM是用于传统串行端口应用的电缆替换协议,服务搜索协议(SDP)包括一个客户端和服务端的架构,负责侦测或通报其它蓝牙设备。
蓝牙技术分为两种,一种是经典蓝牙技术(Classic Bluetooth),一种是蓝牙低功耗技术(Bluetooth Low Energy,简称为BLE)。经典蓝牙应用于近距离大数据量传输,如音视频,而BLE则用于稍远距离少量数据的传输,如心跳计数,温度测量等,显然,由于应用经典蓝牙技术的蓝牙设备所传输的数据量较多,所以,经典蓝牙的功耗水平相对于BLE要高出很多。以下实施方式对于经典蓝牙技术和BLE技术均适用,当然,对于将来出现的蓝牙技术也是适用的。
蓝牙地址
每一个蓝牙设备都会被分配一个唯一的预定位数(当前协议中规定的是48比特)的蓝牙地址(BD_ADDR),也叫蓝牙媒质访问控制(Media Access Control,简称为MAC)地址,用来识别唯一的蓝牙设备。当前的蓝牙地址用48比特(比特),其中,前16位为保留地址(None Significant Address Part,简称为NAP),中间8位为高位地址(Upper AddressPart,简称为UAP),后16位为设备ID(Low Address Part,简称为LAP),其中,NAP和UAP构成厂商ID,但只有UAP有实际意义。在实际书写的时候,每八位转化一组两个十六进制表示的数值。所以,48位地址写成6组十六进制数值。例如,AA:BB:CC:DD:EE:FF中AA:BB是NAP,没有实际意义;CC是厂商编号;DD:EE:FF是厂商为设备指定的ID。在确定蓝牙设备的生产厂家时根据UAP就可以确认设备的厂家。
蓝牙地址的类型
蓝牙设备既可以使用公共(public)地址(即MAC地址),也可以使用随机(random)地址,但所有蓝牙设备必须使用其中一种类型:public公共地址或随机静态地址。另一类型的蓝牙地址为私人地址,私人地址是可选的,仅用于解决隐私问题(即设备可以在公共或随机静态地址之外使用此类型)。
随机地址是一个标识符,它要么被编程到设备中,要么在运行时生成。随机地址的两个子类型是:随机静态地址和随机私有地址,其中,随机静态地址作为公共地址的流行替代品,因为使用它不涉及任何费用。随机静态地址可以用两种方式之一来使用:可以在设备的生命周期内被分配和固定,可以在启动时改变(但是不能在运行时改变)。随机私有地址有两种类型:可解析和不可解析。随机私有地址专门用于保护蓝牙设备的隐私,以隐藏身份,并防止跟踪设备。其中,可解析的随机私人地址的目的是防止恶意的第三方跟踪蓝牙设备,同时仍然允许一个或多个受信任方识别感兴趣的蓝牙设备。一个受信任的设备就是一个绑定的设备。绑定是两个设备配对后发生的可选步骤。绑定过程涉及到每个相互绑定的设备对密钥的存储。绑定还允许两个设备在配对时的原始连接之后进行无缝连接配对。
一个可解析的随机私有地址是使用与受信任设备共享的密钥而能够“可解析”的,这个密钥被称为身份解析密钥(Identity Resolving Key,简称为IRK),可解析的随机私人地址是用IRK和一个随机数生成的。两个绑定的设备所交换的密钥之一是每个参与设备的IRK。可解析私人随机地址会定期改变。根据蓝牙规范的建议,它每间隔预定时长可以改变一次,例如,每15分钟改变一次。
不可解析的随机私有地址也是周期性变化的,然而与可解析的地址不同,它不能被任何其他设备解析。这种类型的地址的唯一目的是防止被任何其他设备追踪。
蓝牙的配对与绑定
配对(Paring)和绑定(bonding)是实现蓝牙射频通信安全的一种机制,有两点需要注意:一是paring和bonding实现的是蓝牙链路层的安全,对应用层来说完全透明,也就是说,不管有没有paring和bonding,发送或接收应用层的应用数据的方式是一样的,不会因为加了paring和bonding应用数据传输需要做某些特殊处理;二安全有两种选项:加密或者签名,目前绝大多数应用层的应用都是选择加密,paring和bonding则把选择密码算法、密钥生成、密钥交换过程等标准化,放在了蓝牙协议栈中,并且其安全性得到了充分评估,用户通过paring和bonding可以使蓝牙通信更加安全。
配对包括:配对能力交换、设备认证、密钥生成、连接加密以及机密信息分发等过程,配对的目的有三个:加密连接、认证设备以及生成密钥。
配对过程中会生成一个长期密钥(long-term Key,简称为LTK),如果配对双方把这个LTK存储起来,那么这两个设备再次重连的时候,就可以跳过配对流程,而直接使用LTK对蓝牙连接进行加密,设备的这种状态称为bonding。如果paring过程中不存储LTK也是可以的,paring完成后连接也是加密的,但是如果两个设备再次重连,那么就需要重走一次paring流程,否则两者还是明文通信。
蓝牙广播
蓝牙设备通过广播信道发现其他设备,进行连接的两个蓝牙设备,一个设备进行广播,而另一个设备进行扫描。蓝牙广播消息一般均包括如下四种类型:
1.可连接的非定向广播(Connectable Undirected Event),这是一种用途最广的广播类型,包括广播数据和扫描响应数据,它表示当前设备可以接受其他任何设备的连接请求。在广播事件的中间接收到连接请求的情况下,播事件会关闭,不会继续在下一个信道上广播。
2.可连接的定向广播(Connectable Directed Event),该定向广播类型是为了尽可能快的建立连接。这种报文包含两个地址:广播者的地址和发起者的地址。发起者收到发给自己的定向广播报文之后,可以立即发送连接请求作为回应。当使用定向广播时,设备不能被主动扫描。此外,定向广播报文的净荷中也不能带有其他附加数据。
3.不可连接的非定向广播(Non-connectable Undirected Event Type),该类型的广播仅仅发送广播数据。
4.可扫描的非定向广播(Scannable Undirected Event Type),该类型的广播不能用于发起连接,但允许其他设备扫描该广播设备,这意味着该设备可以被发现,既可以发送广播数据,也可以响应扫描发送扫描回应数据,但不能建立连接。这是一种适用于广播数据的广播形式,动态数据可以包含于广播数据之中,而静态数据可以包含于扫描响应数据之中。
需要说明的是,所谓的定向和非定向针对的是广播的对象,如果是针对特定的对象进行广播就是定向广播,反之就是非定向。可连接和不可连接是指是否接受连接请求,如果是不可连接的广播类型,它将不回应连接请求,可扫描的广播类型也是一种不可连接的广播,不过可扫描广播类型能够回应扫描请求。
主设备和从设备
在蓝牙协议中有以下角色:广播者、扫描者、从设备、主设备和发起者,其中主设备由发起者和扫描者转换而来,而从设备由广播者转换而来。蓝牙模块通信是指两个蓝牙模块或蓝牙设备之间的通信。数据通信的两方之一是主方(也被称为主设备或主模式),另一方是从方(也被称为从设备或从模式)。其中,主设备模式:工作在主设备模式,可以连接从设备。在这种模式下,主设备可以搜索周围的设备,并选择需要连接的从设备进行连接。理论上,一个蓝牙主设备可以同时与多个蓝牙从设备通信。一个具有蓝牙通信功能的设备,可以在两个角色之间切换,平时工作在从模式,等待其他主设备连接,必要时切换到主模式发起对其他设备的呼叫。蓝牙设备在主模式下发起呼叫时,需要知道对方的蓝牙地址、配对密码等信息,配对后可以直接发起通话。从设备模式:工作在从机模式的蓝牙模块可以发送广播消息,但是只能由主设备搜索,不能主动搜索。综上可知,主设备和从设备的区别在于:主设备是可以搜索从设备并主动建立连接的一方;从设备不能主动建立连接,只能等待主设备与自己连接。
一般情况下,主设备能够连接多个从设备,大多数从设备只能支持单连接,即该从设备只能连接一个主设备,在这种情况下,从设备一旦与一个主设备建立连接之后,该从设备就会停止发送广播消息,这会导致其他主设备在蓝牙扫描的时候无法发现该从设备。图1是根据现有技术中的蓝牙连接的示意图,在图1中蓝牙设备(例如蓝牙耳机)为从设备,手机1和手机2为蓝牙主设备,如图1所示,蓝牙设备是通过发送广播消息的方式与手机1建立蓝牙连接的,在建立蓝牙连接之后,蓝牙设备就会停止发送蓝牙广播。在用户日常使用蓝牙设备的时候,一般蓝牙设备和用户的手机1都是配对或者绑定的,在这种情况下,只要该蓝牙设备开启,并且手机1也在蓝牙的连接范围之内,此时该蓝牙设备就会直接与手机1建立蓝牙连接。如果用户打开该蓝牙设备之后,是希望通过手机2连接到该蓝牙设备上,但是,用户并没有意识到该蓝牙设备主动和手机1建立了连接,手机2在发起蓝牙扫描之后,由于蓝牙设备已经停止发送蓝牙广播了,因此手机2是无法扫描到该蓝牙设备的,手机2只能提示无法发现设备。手机2无法发现设备还有可能是在手机1已经与蓝牙设备解除了绑定,但是并未进行配对的解除,这会造成手机2只能提示无法发现设备。该提示信息其实并不是真正的问题所在,在收到该提示之后用户仍然无法解决该问题,这会给用户带来困扰,不知应该如何才能将手机2与蓝牙设备连接起来。
为了解决上述问题,在以下实施方式中提供了一种蓝牙设备的通信方法,图2是根据本申请实施例的蓝牙设备的通信方法的流程图,如图2所示,下面对图2示出的方法中所包括的步骤进行说明。需要说明的是,在以下实施方式中会有多个主设备,为了将这些主设备进行区分,在以下实施方式中使用了第一和第二来进行区分,第一和第二仅仅是为了表述方便,并不构成对主设备的任何限定。
步骤S202,使用蓝牙协议的从设备与使用所述蓝牙协议的第一主设备进行蓝牙连接。
在该步骤中,从设备和主设备之间的蓝牙连接可以采用与现有技术中相同的方式来建立,例如,广播者(advertiser,即从设备)通过预定信道(例如,37信道、38信道和39信道等)以t时间周期发送广播消息;观察者(observer,即主设备)也对上述预定信道进行扫描,如果在广播者在某一信道正在进行广播消息的发送,而观察者也在该信道进行扫描,则广播者和观察者就可以在射频窗口匹配成功。在射频窗口匹配成功之后,然后开始建立蓝牙连接。广播者会广播发送可连接的非定向广播消息(即ADV_IND),观察者在接收到该ADV_IND消息之后,以接收到该广播消息为一个时间点,从该时间点经过预定时长后,向广播者发送一个连接请求命令,该连接请求命令用于指示广播者做好连接准备,广播者在接收到该连接请求命令之后,做好连接准备(即打开射频接收窗口),观察者会在预定的时间窗口内发送第一个同步包给广播者,广播者在接收到该第一同步包之后会给观察者回复第一同步包的确认包,在观察者接收到确认包之后,即可认为建立连接成功。
在该步骤中使用了第一主设备,需要说明的是,其中的“第一”并不构成对主设备的限定,其作用只是为了区分在后续描述时涉及到的多个主设备。同理,以下实施方式中的“第二”也不构成主设备的限定。
步骤S204,在所述从设备与所述第一主设备蓝牙连接保持的过程中,所述从设备发送广播消息,其中,所述广播消息中携带有用于指示所述从设备状态的信息。
在该步骤中,与图1示出的现有技术的不同之处在于,在现有技术中主设备和从设备一旦建立起蓝牙连接之后,从设备就不再发送广播消息了,而在上述步骤S204中,在从设备与所述第一主设备连接保持的过程中,所述从设备仍然会发送广播消息,并且在该广播消息中还会携带指示从设备状态的信息。另一个主设备如果也需要与该从设备连接,则另一个主设备也会在预定信道开始扫描过程,通过扫描可以匹配到该从设备发送广播消息的信道,此时另一个主设备能够从该信道获取广播消息中的从设备的状态,有利于用户对蓝牙连接中出现的问题进行定位,因此通过上述步骤解决了现有技术中在某些情况下连接蓝牙设备出现异常时无法进行准确定位的问题,进而能够对出现的问题给出提示信息,为解决该问题提供信息帮助。
通过上述描述可知,在第一设备和从设备保持连接的过程中,如果另一个主设备(即第二主设备)开始扫描,则也会接收到广播消息,即第二主设备在发起蓝牙扫描之后,接收到广播消息,其中,所述广播消息中携带有用于指示从设备状态的信息,所述广播消息是所述从设备在与另一主设备(即第一主设备)保持蓝牙连接的过程中发送的;所述第二主设备获取所述广播消息中携带的用于指示所述从设备状态的信息,并进行提示。这样第二主设备虽然并没有与从设备建立蓝牙连接,但是也能够获取到从设备的状态并给出提示信息。
上述可选实施方式中,在广播消息中可以携带用于指示从设备状态的信息(或称为状态信息),该状态信息可以包括多种情况,在一个可选实施方式中,可以将状态信息分为两大类,即用于指示所述从设备状态的信息可以包括以下至少之一:用于指示所述从设备的蓝牙状态的信息、用于指示所述从设备自身运行状态的信息。这两类信息中均存在对需要连接到该从设备的主设备有用的信息。用于指示所述从设备自身运行状态的信息可以包括以下至少之一:所述从设备的电量、所述从设备的型号信息、所述从设备的厂商信息、所述从设备的工作状态,例如,从设备自身运行状态信息可以包括该设备的电量、该设备目前的工作状态等,这样主设备在没有与该从设备连接的情况下就可以获取从设备的自身的运行状态,有利于主设备针对该从设备的运行状态提出用户正确的提示。除了电量和工作状态等,从设备还可以根据从设备的类型来选择在广播消息中携带哪些指示从设备自身运行状态的信息,例如,从设备是音频播放设备(如耳机、耳麦等),则可以在广播消息中发送该音频播放设备的厂商和/或型号、该音频播放设备当前是否在进行音频的播放、该音频播放设备是否支持麦克风等。又例如,从设备是键盘,则可以在广播消息中发送该键盘的型号、该键盘的尺寸等状态信息。又例如,从设备是打印设备,则可以在广播消息中携带该打印设备支持的纸张类型、纸张尺寸等。
除了设备自身运行的状态信息之外,另一主设备可能更加希望得到从设备的蓝牙处于什么样的状态。在一个可选的实施方式中,用于指示所述从设备的蓝牙状态的信息可以包括以下至少之一:所述从设备是否可进行蓝牙连接、所述从设备是否已经绑定、所述从设备是否已经配对、能否连接多个主设备、所述从设备当前连接的主设备的数量、所述从设备上次进行蓝牙连接时出现的故障、在蓝牙连接过程中用于标识所述从设备的标识信息。在这些信息中,从设备上次进行蓝牙连接时出现的故障也可以作为一种指示信息发送给主设备,这样有利于主设备在此次进行连接的时候避免该问题的再次出现。
在上述蓝牙的状态信息中,从设备是否可用于进行蓝牙连接是一种比较常用的信息,通过该信息主设备可以知道当前能够与该从设备连接,还可以给出明确的提示,该提示用于引导用户根据需求做相应的操作以完成设备连接动作,例如重启设备、检查周边其他手机等。在另一个可选实施方式中,如果该从设备目前不能进行蓝牙连接,还可以在广播消息中携带当前从设备不用进行蓝牙连接的原因,这样可以是主设备更加清楚知道从设备当前的状态。对于从设备是否已经绑定、是否已经配对、能否连接多个主设备以及当前连接了主设备的数量这些信息可以根据需要选择其中的一个或多个携带在广播消息中即可。
在蓝牙连接的过程中从设备会使用能够标识自己的标识信息,在有些软件系统中,应用层无法获取到该标识信息,为了解决这个问题,还可以在广播消息中携带用于标识该从设备的标识信息,该标识信息只要能够标识出该从设备类型即可,并不限制该标识信息的具体类型。例如,在所述蓝牙连接过程中用于标识所述从设备的标识信息可以包括以下至少之一:媒质访问控制MAC地址、对所述MAC地址进行变化后得到的地址、自定义的用于标识所述从设备的标识信息。其中,蓝牙的MAC地址为48比特(比特),其中,前16位为保留地址(简称为NAP),中间8位为高位地址(简称为UAP),后16位为设备ID(简称为LAP),其中,NAP和UAP构成厂商ID,但只有UAP有实际意义。在实际书写的时候,每八位转化一组两个十六进制表示的数值。所以,48位地址写成6组十六进制数值。例如,AA:BB:CC:DD:EE:FF中AA:BB是NAP,没有实际意义;CC是厂商编号;DD:EE:FF是厂商为设备指定的ID。在确定蓝牙设备的生产厂家时根据UAP就可以确认设备的厂家。
通过在上述广播消息中携带状态信息,可以使未连接到该从设备的主设备也能够得到从设备的蓝牙的状态以及设备自身的运行状态。考虑到在现有协议中广播消息中就存在一种类型为不可连接的蓝牙广播,在一个可选实施方式中,在所述从设备与所述主设备保持蓝牙连接的过程中,所述从设备不能够被除所述主设备之外的其他主设备连接的情况下,所述广播消息的类型为不可连接的蓝牙广播;在所述从设备能够被所述其他主设备连接的情况下,所述广播消息的类型为可连接的蓝牙广播或不可连接的蓝牙广播。使用可连接的蓝牙广播时相比于使用不可连接的蓝牙广播,可以减少广播消息的发送次数。通过该可选实施方式,第二设备在接收到该不可连接的蓝牙广播之后,一方面可以知道该从设备不能进行蓝牙连接,另一方面,还可以在广播消息中获取具体不能连接的原因以及从设备自身状态等信息,从而能够充分利用现有蓝牙协议中的广播消息来传递信息。当然,也可以使用其他类型的广播消息,或者使用自定义的广播消息也可以,但是建议使用蓝牙协议中已有的广播消息,这样可以尽量适配更多的设备。
通过上述可选实施方式,在从设备与第一主设备连接之后,从设备仍然发送广播消息,这样其他主设备就可以不与从设备进行连接的情况下,得到从设备的状态。即,在所述从设备发送所述广播消息之后,第二主设备在发起蓝牙扫描之后,接收到所述广播消息;所述第二主设备获取所述广播消息中携带的用于指示所述从设备状态的信息,并进行提示。图3是根据本申请实施例的蓝牙连接的流程示意图,在图3中以蓝牙设备是从设备、第一主设备是手机1、第二主设备为手机2为例进行说明,如图3所示,蓝牙设备与手机1建立起连接,或者,在图3中还可能存在一种情况,当在手机1上操作与蓝牙设备解除绑定后,蓝牙设备已删除手机1对应的配对信息,但手机1没有删除设备的配对信息,因此手机1仍然会认为设备是可连接的,进而不停尝试连接,导致蓝牙设备被手机1占用,手机2无法连接(或很难连接上)。在图3中,蓝牙设备会持续发送广播消息,如果蓝牙设备与手机1处于连接状态,则该广播消息可以是不可连接蓝牙广播;如果蓝牙设备没有与手机1处于连接状态,则该广播消息可以是可连接蓝牙广播。手机2发起蓝牙扫描之后,通过预定信道获取到蓝牙设备发送的广播消息,可以根据广播消息中携带的状态信息来确定蓝牙设备的状态,从而给到用户明确提示。例如,通过广播消息发现蓝牙设备已经被连接,或者,未发现蓝牙设备,或者,发现蓝牙设备配对未解除等,均可以给到手机2的应用层准确的提示信息。
在蓝牙的广播消息中,可以利用各种字段来添加用于指示从设备状态的信息,例如,可以选择在manu data字段中添加从设备的MAC地址和/或从设备的状态信息,用于展示从设备状态。manu是manufacturer的缩写,manu data字段是制造商字段,该字段可以显示设备制造商或生产商相关的信息。从设备的状态信息可以包括很多种,例如可以包括如下信息的至少之一:
当前从设备是否可连接,该属性在蓝牙广播属性中已经有定义,建议使用蓝牙协议中已经定义的该属性;
从设备当前是否已绑定:用于应用层的应用(简称为app)根据从设备绑定状态判断是否执行相应的逻辑处理;
从设备当前是否已配对:用于app根据从设备绑定状态判断是否执行相应的逻辑处理。
当前从设备已连接的主设备数:用于app根据从设备已连接的主设备的数量进行相应的逻辑处理;
从设备错误码:用于app根据上次从设备发生的错误,给到用户明确的解决方案;
从设备当前的电量、开关状态等属性:用于app可以在不建立连接的情况下展示从设备的一些基础属性。
在广播消息中还可以添加从设备的MAC地址,这是因为有些系统无法获取从设备的MAC地址,通过广播消息的方式可以将从设备MAC地址准确传递给应用层用于设备身份的识别或其他处理。当然,此处的MAC地址也可以替换成自定义的设备唯一标识符,或者使用MAC地址变换后得到的随机地址等,无论标识信息的形式如何只要能够用于准确的标识从设备的身份即可。
如果对于从设备的不可跟踪性有要求,可以在广播中不添加从设备的唯一标识符,在该场景下仅有配对过的主设备可以识别上述广播中的内容,其他主设备虽然可以接收到广播,但无法将接收到的数据对应到该从设备上。
在发送广播消息时,还可以配置发送广播消息的发送间隔(即广播间隔),除了广播间隔还可以配置已经连接的主设备和从设备之间的连接间隔。在主设备和从设备进行蓝牙连接之后,可以对从设备持续发送广播消息的广播间隔和/或连接间隔进行调整。下面首先对广播间隔和连接间隔进行说明。
广播间隔:从设备每次广播时,会在多个广播信道(例如3个)上发送相同的报文,这些报文被称为一个广播事件。两个相邻广播事件之间的时间称为广播间隔。广播间隔是针对从设备来说的,广播间隔决定了从设备的广播频率,其实际广播间隔时间为32~16448个单位,每个单位是0.625毫秒(ms),所以实际的广播间隔时间是32*0.625~16448*0.625ms。
连接间隔:BLE主机和BLE从机成功建立连接后,主机从机设备之间的交互频率(握手)。其实际连接间隔时间为6~3200,单位是1.25ms,所以实际的连接间隔时间是6*1.25~3200*1.25ms。
广播间隔:减小广播间隔可以使广播频率增高,建立连接的过程加快,同样伴随着功耗的上升;增大广播间隔会是广播频率下降,建立连接的速度减慢,同时功耗下降。在一个可选实施方式中,在从设备和第一主设备进行蓝牙连接的过程中发送广播消息可以采用第一广播间隔,在从设备和第一主设备保持蓝牙连接的过程中从设备持续发送广播消息可以采用第二广播间隔,其中,所述第二广播间隔长于所述第一广播间隔,这样更加有利于降低从设备的蓝牙功耗。
连接间隔:长的时间间隔的优势是显著地节省功耗,因为设备可以在连接事件之间有较长时间的休眠,劣势是当设备有应用数据需要发送时,必须要等到下一个连接事件;短的时间间隔优势是两设备连接频发,可以更快地收发数据,不利之处是设备因连接事件的到来而被频繁的唤醒,会有较多功耗。在另一个可选实施方式中,在从设备和第一主设备保持蓝牙连接的过程中从设备不持续发送广播消息的情况下可以采用第一连接间隔,在从设备和第一主设备保持蓝牙连接的过程中从设备持续发送广播消息的情况下可以采用第二连接间隔,其中,所述第二连接间隔长于所述第一连接间隔。该可选实施方式在一定程度上也能够减低从设备的蓝牙功耗,延长从设备的待机时间。
无论如何设置广播间隔还是连接间隔影响的均是功耗的大小,只要在从设备和主设备建立蓝牙连接的情况下,从设备仍然持续发送广播消息则均可以解决现有技术中的问题,即其他主设备可以扫描到的具体的广播内容,给到用户明确的提示并引导用户做相应的操作来解决问题。
在上述实施方式中已经描述过从设备和第一主设备可以采用多种方式来建立蓝牙连接,在一个可选实施方式中,为了是主设备和从设备之间建立蓝牙连接的过程更加安全,可以采用可解析的私有随机蓝牙地址来建立连接。即在该可选实施方式中,使用蓝牙协议的从设备与使用所述蓝牙协议的第一主设备进行蓝牙连接可以包括如下步骤:所述从设备与所述第一主设备进行配对,并在所述从设备和所述第一主设备之间同步身份解析密钥,其中,身份解析密钥用于生成可解析的私有随机蓝牙地址;所述从设备发送携带有所述从设备的所述可解析的私有随机蓝牙地址的广播消息;其中,所述第一主设备用于从携带有所述可解析的私有随机蓝牙地址的广播消息中使用所述身份解析密钥解析出所述可解析的私有随机蓝牙地址,并根据所述可解析的私有随机蓝牙地址与所述从设备建立连接。该连接方式会提高蓝牙的安全性。需要说明的是,该连接方式可能会发生重连错误的问题,下面以图4为例进行说明。
图4是根据本申请实施例的蓝牙设备解绑重连的示意图一,在图4中蓝牙设备为从设备、第一主设备为手机1、第二主设备为手机2,蓝牙设备与手机1进行配对之后,通过广播消息将蓝牙地址发送给手机1,手机1对蓝牙地址进行解析,并根据解析得到的蓝牙地址发起连接,随后蓝牙设备与手机1建立起了蓝牙连接。在蓝牙设备对手机1进行解除绑定之后,删除手机1的信息,此时蓝牙设备是希望与手机2建立蓝牙连接的,蓝牙设备发送蓝牙广播消息,由于手机1中仍然保存有蓝牙设备的相关信息,因此手机1解析该蓝牙地址,向蓝牙设备重新发起连接,但是蓝牙设备已经将手机1解绑,此时就会出现手机1反复发起连接以及蓝牙设备反复拒绝连接的情况,这也导致了蓝牙设备的连接被占用,从而手机2无法与蓝牙设备进行连接。
为了解决这个问题,在一个可选实施方式中,在所述第一主设备根据所述可解析的私有蓝牙地址与所述从设备建立连接之后,所述从设备和所述第一主设备解除绑定;所述从设备更新所述身份解析密钥,并根据更新后的身份解析密钥重新生成可解析的私有蓝牙地址。在该可选实施方式中,由于更新了身份解析密钥(IRK),因此第一主设备将无法解析得到从设备的蓝牙地址,这样第一主设备就无法与从设备进行连接了,第二主设备就可以通过新的IRK得到蓝牙设备的地址并发起蓝牙连接。下面结合图5对此进行举例说明。
图5是根据本申请实施例的蓝牙设备解绑重连的示意图二,与图4相同,在图5中蓝牙设备为从设备、第一主设备为手机1、第二主设备为手机2。蓝牙设备与手机1进行配对并同步IRK,随后蓝牙设备发送广播消息,手机1使用IRK解析蓝牙地址并根据解析得到的蓝牙地址发起蓝牙连接,这样蓝牙设备就和手机1建立起了蓝牙连接。蓝牙设备解除与手机1之间的绑定,并刷新IRK,随后蓝牙设备发送广播消息,由于IRK已经刷新,手机1使用原IRK无法解析到蓝牙设备的蓝牙地址,因此不会向蓝牙设备发起连接,此时手机2接收到蓝牙广播,进行配对、同步IRK等过程与蓝牙设备建立蓝牙连接。通过图5示出的流程可知,在蓝牙广播的时候使用可解析的随机私有地址,该地址由设备IRK根据随机地址生成规则生成,可以通过解除绑定,更新IRK,进而实现让原来已配对的设备无法解析识别该从设备的地址,从而达到阻止已经解除绑定的主设备重复连接的目的。
上述图3到图5中示出了主设备和从设备之间蓝牙相关的处理,需要说明的是,上述图中示出的从设备可以是各种蓝牙设备,比较常见的是蓝牙耳机等音频设备,主设备比较常见的是移动终端(例如手机等)。除了蓝牙音频设备之外,上述从设备还可以是具有智能功能的车辆,例如,两轮车或汽车等。在这种情况下,与智能两轮车蓝牙连接的手机1可以获取到智能两轮车的相关信息(电量、行驶速度等),手机2虽然与智能两轮车没有进行蓝牙连接,其也可以通过广播消息获取到智能两轮车的相关信息,并且在智能两轮车从与手机1连接切换到与手机2进行蓝牙连接的过程中还能够降低切换失败的概率,退一步讲,即使出现了切换失败,也可以相对准确的提示出失败的原因,提高用户的使用体验。
上述实施方式中对从设备进行了改进,在一个可选实施方式中,还提供了一种蓝牙系统,包括:从设备,用于实现上述的方法中所述从设备执行的步骤。在上述实施方式还涉及到主设备的改进,因此,可选地,该系统还可以包括:主设备,用于实现上述的方法中的所述第一主设备执行的步骤;和/或,用于实现上述的方法中所述第二主设备执行的步骤。
通过上述可选实施方式解决了现有技术中在某些情况下连接蓝牙设备出现异常时无法进行准确定位的问题,进而能够对出现的问题给出提示信息,为解决该问题提供信息帮助。
在本实施例中,提供一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行以上实施例中的方法。
上述程序可以运行在处理器中,或者也可以存储在存储器中(或称为计算机可读介质),计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
这些计算机程序也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤,对应与不同的步骤可以通过不同的模块来实现。
该本实施例中就提供了这样的一种装置。该装置被称为一种蓝牙设备的通信装置,连接模块和发送模块,其中,所述连接模块和所述发送模块位于使用蓝牙协议的从设备中,所述连接模块用于与使用所述蓝牙协议的第一主设备进行蓝牙连接;在所述从设备与所述第一主设备蓝牙连接保持的过程中,所述发送模块用于发送广播消息,其中,所述广播消息中携带有用于指示所述从设备状态的信息。
在一个可选的实施方式中,与上述蓝牙设备的通信装置对应,还提供了一种蓝牙的提示装置,包括接收模块和提示模块,所述接收模块和所述提示模块位于主设备中,所述接收模块用于在发起蓝牙扫描之后,接收到广播消息,其中,所述广播消息中携带有用于指示从设备状态的信息,所述广播消息是所述从设备在与另一主设备保持蓝牙连接的过程中发送的;所述显示模块用于获取所述广播消息中携带的用于指示所述从设备状态的信息,并进行提示。
上述装置用于实现上述的实施例中的方法的功能,上述装置中的每个模块与方法中的每个步骤相对应,已经在方法中进行过说明的,在此不再赘述。
可选地,用于指示所述从设备状态的信息包括以下至少之一:用于指示所述从设备的蓝牙状态的信息、用于指示所述从设备自身运行状态的信息。
可选地,用于指示所述从设备的蓝牙状态的信息包括以下至少之一:所述从设备是否可进行蓝牙连接、所述从设备是否已经绑定、所述从设备是否已经配对、所述从设备是否支持连接多个主设备、所述从设备当前连接的主设备的数量、所述从设备上次进行蓝牙连接时出现的故障、在蓝牙连接过程中用于标识所述从设备的标识信息。
可选地,用于指示所述从设备自身运行状态的信息包括以下至少之一:所述从设备的电量、所述从设备的型号信息、所述从设备的厂商信息、所述从设备的工作状态。
可选地,在所述蓝牙连接过程中用于标识所述从设备的标识信息包括:媒质访问控制MAC地址、对所述MAC地址进行变化后得到的地址、自定义的用于标识所述从设备的标识信息。
可选地,在所述从设备与所述主设备保持蓝牙连接的过程中,所述从设备不能够被除所述主设备之外的其他主设备连接的情况下,所述广播消息的类型为不可连接的蓝牙广播;在所述从设备能够被所述其他主设备连接的情况下,所述广播消息的类型为可连接的蓝牙广播或不可连接的蓝牙广播。
可选地,所述连接模块用于与所述第一主设备进行配对,并在所述从设备和所述第一主设备之间同步身份解析密钥,其中,身份解析密钥用于生成可解析的私有随机蓝牙地址;所述连接模块用于发送携带有所述从设备的所述可解析的私有随机蓝牙地址的广播消息;其中,所述第一主设备用于从携带有所述可解析的私有随机蓝牙地址的广播消息中使用所述身份解析密钥解析出所述可解析的私有随机蓝牙地址,并根据所述可解析的私有随机蓝牙地址与所述从设备建立连接。
可选地,所述装置还包括更新模块,用于在所述第一主设备根据所述可解析的私有蓝牙地址与所述从设备建立连接之后,与所述第一主设备解除绑定,更新所述身份解析密钥,并根据更新后的身份解析密钥重新生成可解析的私有蓝牙地址。
通过上述可选实施方式解决了现有技术中在某些情况下连接蓝牙设备出现异常时无法进行准确定位的问题,进而能够对出现的问题给出提示信息,为解决该问题提供信息帮助。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (14)
1.一种蓝牙设备的通信方法,包括:
使用蓝牙协议的从设备与使用所述蓝牙协议的主设备进行蓝牙连接;
在所述从设备与所述主设备蓝牙连接保持的过程中,所述从设备发送广播消息,其中,所述广播消息中携带有用于指示所述从设备状态的信息。
2.根据权利要求1所述的方法,其中,用于指示所述从设备状态的信息包括以下至少之一:用于指示所述从设备的蓝牙状态的信息、用于指示所述从设备自身运行状态的信息。
3.根据权利要求2所述的方法,其中,
用于指示所述从设备的蓝牙状态的信息包括以下至少之一:所述从设备是否可进行蓝牙连接、所述从设备是否已经绑定、所述从设备是否已经配对、所述从设备是否支持连接多个主设备、所述从设备当前连接的主设备的数量、所述从设备上次进行蓝牙连接时出现的故障、在蓝牙连接过程中用于标识所述从设备的标识信息;和/或,
用于指示所述从设备自身运行状态的信息包括以下至少之一:所述从设备的电量、所述从设备的型号信息、所述从设备的厂商信息、所述从设备的工作状态。
4.根据权利要求1所述的方法,其中,在所述蓝牙连接过程中用于标识所述从设备的标识信息包括:媒质访问控制MAC地址、对所述MAC地址进行变化后得到的地址、自定义的用于标识所述从设备的标识信息。
5.根据权利要求1所述的方法,其中,在所述从设备与所述主设备保持蓝牙连接的过程中,所述从设备不能够被除所述主设备之外的其他主设备连接的情况下,所述广播消息的类型为不可连接的蓝牙广播;在所述从设备能够被所述其他主设备连接的情况下,所述广播消息的类型为可连接的蓝牙广播或不可连接的蓝牙广播。
6.根据权利要求1至5中任一项所述的方法,其中,使用蓝牙协议的从设备与使用所述蓝牙协议的主设备进行蓝牙连接包括:
所述从设备与所述主设备进行配对,并在所述从设备和所述主设备之间同步身份解析密钥,其中,身份解析密钥用于生成可解析的私有随机蓝牙地址;
所述从设备发送携带有所述从设备的所述可解析的私有随机蓝牙地址的广播消息;其中,所述主设备用于从携带有所述可解析的私有随机蓝牙地址的广播消息中使用所述身份解析密钥解析出所述可解析的私有随机蓝牙地址,并根据所述可解析的私有随机蓝牙地址与所述从设备建立连接。
7.根据权利要求6所述的方法,其中,在所述主设备根据所述可解析的私有蓝牙地址与所述从设备建立连接之后,所述方法还包括:
所述从设备和所述主设备解除绑定;
所述从设备更新所述身份解析密钥,并根据更新后的身份解析密钥重新生成可解析的私有蓝牙地址。
8.一种蓝牙的提示方法,包括:
主设备在发起蓝牙扫描之后,接收到广播消息,其中,所述广播消息中携带有用于指示从设备状态的信息,所述广播消息是所述从设备在与另一主设备保持蓝牙连接的过程中发送的;
所述主设备获取所述广播消息中携带的用于指示所述从设备状态的信息,并进行提示。
9.根据权利要求8所述的方法,其中,
用于指示所述从设备状态的信息包括以下至少之一:用于指示所述从设备的蓝牙状态的信息、用于指示所述从设备自身运行状态的信息。
10.根据权利要求9所述的方法,其中,
用于指示所述从设备的蓝牙状态的信息包括以下至少之一:所述从设备是否可进行蓝牙连接、所述从设备是否已经绑定、所述从设备是否已经配对、所述从设备是否支持连接多个主设备、所述从设备当前连接的主设备的数量、所述从设备上次进行蓝牙连接时出现的故障、在蓝牙连接过程中用于标识所述从设备的标识信息;和/或,
用于指示所述从设备自身运行状态的信息包括以下至少之一:所述从设备的电量、所述从设备的型号信息、所述从设备的厂商信息、所述从设备的工作状态;和/或,
在所述蓝牙连接过程中用于标识所述从设备的标识信息包括:媒质访问控制MAC地址、对所述MAC地址进行变化后得到的地址、自定义的用于标识所述从设备的标识信息。
11.根据权利要求8至10中任一项所述的方法,其中,在所述从设备与所述主设备保持蓝牙连接的过程中,所述从设备不能够被除所述主设备之外的其他主设备连接的情况下,所述广播消息的类型为不可连接的蓝牙广播;在所述从设备能够被所述其他主设备连接的情况下,所述广播消息的类型为可连接的蓝牙广播或不可连接的蓝牙广播。
12.一种蓝牙系统,包括:从设备,用于实现权利要求1至7任一项所述的方法中所述从设备执行的步骤。
13.根据所述12所述的系统,还包括:主设备,用于实现权利要求1至7中任一项所述的方法中的所述主设备执行的步骤;和/或,用于实现权利要求8至11中任一项所述的方法中所述主设备执行的步骤。
14.一种可读存储介质,其上存储有计算机指令,其中,该计算机指令被处理器执行时实现权利要求1至7任一项所述的方法步骤,和/或,实现权利要求8至11中任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211519280.8A CN116017379A (zh) | 2022-11-30 | 2022-11-30 | 蓝牙设备的通信方法、蓝牙的提示方法和蓝牙系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211519280.8A CN116017379A (zh) | 2022-11-30 | 2022-11-30 | 蓝牙设备的通信方法、蓝牙的提示方法和蓝牙系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116017379A true CN116017379A (zh) | 2023-04-25 |
Family
ID=86025645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211519280.8A Pending CN116017379A (zh) | 2022-11-30 | 2022-11-30 | 蓝牙设备的通信方法、蓝牙的提示方法和蓝牙系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116017379A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116321141A (zh) * | 2023-05-11 | 2023-06-23 | 长江量子(武汉)科技有限公司 | 双耳耳机密钥同步方法及双耳加密耳机 |
-
2022
- 2022-11-30 CN CN202211519280.8A patent/CN116017379A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116321141A (zh) * | 2023-05-11 | 2023-06-23 | 长江量子(武汉)科技有限公司 | 双耳耳机密钥同步方法及双耳加密耳机 |
CN116321141B (zh) * | 2023-05-11 | 2023-08-04 | 长江量子(武汉)科技有限公司 | 双耳耳机密钥同步方法及双耳加密耳机 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110505606B (zh) | 蓝牙Mesh网络及其配网鉴权方法、设备和存储介质 | |
EP3893109B1 (en) | Method and device for connecting bluetooth devices | |
JP3790186B2 (ja) | 装置の隠蔽 | |
CN112492580B (zh) | 信息处理方法及装置、通信设备及存储介质 | |
US7693516B2 (en) | Method and system for enhanced communications between a wireless terminal and access point | |
CN113360108B (zh) | 一种投屏连接控制方法及电子设备 | |
US20090271709A1 (en) | Method and apparatus for setting up wireless lan of device | |
CN109688570B (zh) | 蓝牙连接方法、系统和存储介质 | |
CN113316131B (zh) | 连接建立方法、装置、电子设备及存储介质 | |
CN103124422A (zh) | 关联设备的方法、装置及系统 | |
CN113455026B (zh) | 接入方法及通信装置 | |
JP2022512019A (ja) | ブルートゥース機器に用いられる拡張接続方法及び拡張接続システム | |
WO2016203877A1 (ja) | 通信装置、通信方法、プログラム、及び通信システム | |
CN111083746A (zh) | 模式可切换的蓝牙设备、蓝牙连接系统和蓝牙连接方法 | |
WO2022166636A1 (zh) | 设备配网方法、装置、设备及存储介质 | |
CN113810887B (zh) | 蓝牙协议连接方法、装置、存储介质及相关设备 | |
WO2024083235A1 (zh) | 基于Wi-Fi感知的配网方法、嵌入式芯片系统及介质 | |
CN105933469B (zh) | 用于智能设备的入网方法及装置、智能设备 | |
US20240090049A1 (en) | Method and apparatus for establishing bluetooth link, device, and storage medium | |
CN114786139A (zh) | 连接建立方法、装置、设备、存储介质及程序产品 | |
US20230379705A1 (en) | Electronic device and method for setting up a data path | |
US20230379800A1 (en) | Information processing method and electronic device | |
JP7173956B2 (ja) | 通信方法、通信装置、電子機器及びコンピュータ可読記憶媒体 | |
CN116017379A (zh) | 蓝牙设备的通信方法、蓝牙的提示方法和蓝牙系统 | |
EP3833153B1 (en) | Network connection methods and devices |
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 |