CN115767486A - 一种蓝牙通信方法、第一设备、第二设备和存储介质 - Google Patents
一种蓝牙通信方法、第一设备、第二设备和存储介质 Download PDFInfo
- Publication number
- CN115767486A CN115767486A CN202111030729.XA CN202111030729A CN115767486A CN 115767486 A CN115767486 A CN 115767486A CN 202111030729 A CN202111030729 A CN 202111030729A CN 115767486 A CN115767486 A CN 115767486A
- Authority
- CN
- China
- Prior art keywords
- target
- broadcast message
- gatt
- bluetooth communication
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 230000006854 communication Effects 0.000 title claims abstract description 88
- 238000004891 communication Methods 0.000 title claims abstract description 87
- 230000004044 response Effects 0.000 claims abstract description 33
- 230000015654 memory Effects 0.000 claims description 41
- 238000004590 computer program Methods 0.000 claims description 17
- 238000012986 modification Methods 0.000 claims description 17
- 230000004048 modification Effects 0.000 claims description 17
- 230000003993 interaction Effects 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000007175 bidirectional communication Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 239000004984 smart glass Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
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
本申请实施例提供了一种蓝牙通信方法、第一设备、第二设备和存储介质,应用于第一设备,该方法包括:发送第一广播消息,并接收至少一个第二设备响应于第一广播消息返回的至少一个第二广播消息;根据至少一个第二广播消息,从至少一个第二设备中确定目标第二设备,并基于目标第二设备的设备标识生成第三广播消息;在发送第三广播消息后,与目标第二设备建立通用属性配置文件GATT连接。这样,通过第三次广播消息的交互,第一设备和第二设备能够建立GATT连接,进而在无需进行蓝牙配对的情况下实现蓝牙通信,提高了蓝牙通信的便捷性和通用性。
Description
技术领域
本申请涉及行为无线通信技术领域,尤其涉及一种蓝牙通信方法、第一设备、第二设备和存储介质。
背景技术
目前,不同设备之间可以通过诸如蓝牙技术、局域网技术等实现无线通信,进而实现数据传输或者无线控制。然而,蓝牙技术需要两个设备提前进行配对,局域网技术需要两个设备连接同一网络,造成了对应用场景的限制。也就是说,目前已有的无线通信方法均需要完成一些先决条件,便捷性和通用性较差,给用户带来了不便。
发明内容
本申请提供了一种蓝牙通信方法、第一设备、第二设备和存储介质,能够提高蓝牙通信的便捷性和通用性。
本申请的技术方案是这样实现的:
第一方面,本申请实施例提供了一种蓝牙通信方法,应用于第一设备,该方法包括:
发送第一广播消息,并接收至少一个第二设备响应于第一广播消息返回的至少一个第二广播消息;
根据至少一个第二广播消息,从至少一个第二设备中确定目标第二设备,并基于目标第二设备的设备标识生成第三广播消息;
在发送第三广播消息后,与目标第二设备建立通用属性配置文件GATT连接。
第二方面,本申请实施例提供了一种蓝牙通信方法,应用于第二设备,该方法包括:
响应于第一设备发送的第一广播消息,生成第二广播消息;
在发送第二广播消息后,接收第一设备发送的第三广播消息;
在第三广播消息中携带第二设备的设备标识的情况下,与第一设备建立GATT连接。
第三方面,本申请实施例提供了一种第一设备,该第一设备包括第一发送单元、生成单元和第一连接单元;其中,
第一发送单元,配置为发送第一广播消息,并接收至少一个第二设备响应于第一广播消息返回的至少一个第二广播消息;
生成单元,配置为根据至少一个第二广播消息,从至少一个第二设备中确定目标第二设备,并基于目标第二设备的设备标识生成第三广播消息;
第一连接单元,配置为在发送第三广播消息后,与目标第二设备建立通用属性配置文件GATT连接。
第四方面,本申请实施例提供了一种第一设备,该第一设备包括第一存储器和第一处理器;其中,
第一存储器,用于存储能够在处理器上运行的计算机程序;
第一处理器,用于在运行计算机程序时,执行如第一方面方法的步骤。
第五方面,本申请实施例提供了一种第二设备,该第二设备包括响应单元、第二发送单元和第二连接单元;其中,
响应单元,配置为响应于第一设备发送的第一广播消息,生成第二广播消息;
第二发送单元,配置为在发送第二广播消息后,接收第一设备发送的第三广播消息;
第二连接单元,配置为在第三广播消息中携带第二设备的设备标识的情况下,与第一设备建立GATT连接。
第六方面,本申请实施例提供了一种第二设备,该第二设备包括:第二存储器和第二处理器;其中,
第二存储器,用于存储能够在所述处理器上运行的计算机程序;
第二处理器,用于在运行所述计算机程序时,执行如第二方面所述方法的步骤。
第七方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,该计算机程序被第一处理器执行时实现如第一方面方法的步骤,或者被第二处理器执行时实现如第二方面方法的步骤。
本申请实施例提供了一种蓝牙通信方法、第一设备、第二设备和存储介质,应用于第一设备与第二设备,在第一设备侧,发送第一广播消息,并接收至少一个第二设备响应于第一广播消息返回的至少一个第二广播消息;根据至少一个第二广播消息,从至少一个第二设备中确定目标第二设备,并基于目标第二设备的设备标识生成第三广播消息;在发送第三广播消息后,与目标第二设备建立通用属性配置文件GATT连接。在第二设备侧,响应于第一设备发送的第一广播消息,生成第二广播消息;在发送第二广播消息后,接收第一设备发送的第三广播消息;在第三广播消息中携带第二设备的设备标识的情况下,与第一设备建立GATT连接。这样,通过三次广播消息的交互,第一设备和第二设备能够建立GATT连接,进而在无需进行蓝牙配对的情况下实现蓝牙通信,提高了蓝牙通信的便捷性和通用性。
附图说明
图1为本申请实施例提供的一种蓝牙通信方法的流程示意图;
图2为本申请实施例提供的另一种蓝牙通信方法的流程示意图;
图3为本申请实施例提供的又一种蓝牙通信方法的流程示意图;
图4为本申请实施例提供的再一种蓝牙通信方法的流程示意图;
图5为本申请实施例提供的一种第一设备的组成结构示意图;
图6为本申请实施例提供的一种第一设备的硬件结构示意图;
图7为本申请实施例提供的一种第二设备的组成结构示意图;
图8为本申请实施例提供的一种第二设备的硬件结构示意图;
图9为本申请实施例提供的一种蓝牙通信系统的组成结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
需要指出,本申请实施例所涉及的术语“第一\第二\第三”仅是用于区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
对本申请实施例进行进一步详细说明之前,先对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释:
通用属性配置文件(Generic Attribute Profile,GATT)连接:一种在蓝牙连接上发送和接收短数据段的通用规范。在GATT连接中,两个不同的设备分别作为服务端(Server)和客户端(Client)。在GATT连接建立后,GATT Server为GATT服务设置写特性和读特性,从而向GATT Client提供数据被写入或者被读取的能力。
读特性参数:GATT Server为某些参数设置读特性,从而允许GATT Client读取这些参数,读特性参数下设置读特性描述符。
写特性:GATT Server为某些参数设置写特性,从而允许GATT Client修改这些参数,写特性参数下设置写特性描述符。
通用唯一识别码(Universally Unique Identifier UUID):用于唯一标识某个对象,例如参数、设备、属性、服务等。
可以理解的是,目前不同设备之间可以通过诸如蓝牙技术、局域网技术等实现无线连接,进而实现数据传输或者无线控制。例如,可以通过手机下载某应用程序(Application,APP),进而控使用蓝牙通讯技术来控制智能灯的开关以及亮度。在另一种相关技术中,基于GATT服务实现蓝牙遥控器的控制逻辑。在又一种相关技术中,耳机可以通过低功耗蓝牙(Bluetooth Low Energy,BLE)协议实现与主机的连接,其收发速度快,而且功耗低。
以投影设备为例,用户对投影设备的操控目前主要有两种方式:蓝牙遥控器操控和局域网内手机下发指令。这两种方式都需要一些先决条件,例如提前建立蓝牙配对,或者手机和投影设备连接同样的局域网才能完成。但是,如果在某一应用场景中,投影设备无法联网,且无法利用遥控器操作(如忘带遥控器或者遥控功能故障等),那么就无法实现利用手机控制投影设备。
基于此,本申请实施例提供了一种蓝牙通信方法,该方法的基本思想是:在第一设备侧,发送第一广播消息,并接收至少一个第二设备响应于第一广播消息返回的至少一个第二广播消息;根据至少一个第二广播消息,从至少一个第二设备中确定目标第二设备,并基于目标第二设备的设备标识生成第三广播消息;在发送第三广播消息后,与目标第二设备建立通用属性配置文件GATT连接。在第二设备侧,响应于第一设备发送的第一广播消息,生成第二广播消息;在发送第二广播消息后,接收第一设备发送的第三广播消息;在第三广播消息中携带第二设备的设备标识的情况下,与第一设备建立GATT连接。这样,通过三次广播消息的交互,第一设备和第二设备能够建立GATT连接,进而在无需进行蓝牙配对的情况下实现蓝牙通信,提高了蓝牙通信的便捷性和通用性。
下面将结合附图对本申请各实施例进行详细说明。
在本申请的一实施例中,参见图1,其示出了本申请实施例提供的一种蓝牙通信方法的流程示意图。如图1所示,该方法可以包括:
S101:发送第一广播消息,并接收至少一个第二设备响应于第一广播消息返回的至少一个第二广播消息。
需要说明的是,本申请实施例提供的蓝牙通信方法(或称为蓝牙控制方法)应用于第一设备,第一设备是指蓝牙控制过程中的主控设备。在这里,第一设备可以是多种电子设备,例如个人计算机(Personal Computer,PC)、笔记本电脑,个人数字助理(PersonalDigital Assistant,PDA),无线通信终端(Wireless Communication Terminal)、智能手机(Smart Phone)等,本申请实施例不作任何限定。
在相关技术中,蓝牙通信需要在两个设备完成蓝牙配对后才能进行,从而对应用场景具有一定限制。在本申请实施例中,第一设备和第二设备通过商定好的协议直接实现蓝牙通信过程,无需进行蓝牙配对,从而提高蓝牙通信的通用性和便捷性。
具体地,第一设备生成第一广播消息,并将第一广播消息在第一设备所处的环境中进行广播。一般来说,第一广播消息中包含目标字段,目标字段是第一设备和第二设备提前约定好的字段,用于触发第二设备的响应。
因此,环境中的第二设备在监听到包含目标字段的第一广播消息后,生成携带有自己的设备标识的第二广播消息,并将第二广播消息进行广播,以便第一设备了解有哪些候选的第二设备可以与其进行蓝牙连接。此时,当环境中存在多个第二设备时,第一设备实际上会接收到多个第二广播消息。
在这里,目标字段根据实际应用场景进行设计,本申请实施例不作具体限制。
S102:根据至少一个第二广播消息,从至少一个第二设备中确定目标第二设备,并基于目标第二设备的设备标识生成第三广播消息。
需要说明的是,对于第一设备而言,在接收到至少一个第二广播消息后,能够获知周围环境中存在哪些候选的第二设备。因此,第一设备需要从这些第二设备中确定目标第二设备,并根据目标第二设备的设备标识生成第三广播消息。
还需要说明的是,第二广播消息均携带有对应设备的设备标识,以便于第一设备确定发送第二广播消息的第二设备,以及获取目标第二设备的设备标识。这样,第一设备在获知环境中多个候选的第二设备后,可以将多个第二设备的信息呈现给用户,以便于用户选择出目标第二设备。因此,在一些实施例中,所述根据至少一个第二广播消息,从至少一个第二设备确定目标第二设备,可以包括:
根据至少一个第二广播消息中各自携带的设备标识,确定至少一个第二设备;
接收来自于用户的选择指令,根据选择指令从至少一个第二设备中确定目标第二设备。
应理解,第二设备的设备标识可以包括一种或多种信息,例如名称、种类、型号、机器序列号等。以投影仪为例,每个投影仪在出厂时均会存在一个唯一的序列号,该序列号就可以作为设备标识。
另外,为了更好地向用户显示候选的第二设备,可以利用多种预设展示方式来展示第二设备的设备标识。例如,可以以图标、文字等形式向用户呈现至少一个第二设备的设备标识。
这样,在第一设备确定目标第二设备后,还可以生成第三广播消息,以通知目标第二设备进行后续动作。
S103:在发送第三广播消息后,与目标第二设备建立通用属性配置文件GATT连接。
需要说明的是,本申请实施例利用GATT连接来实现两个设备之间的蓝牙控制。因此,在确定包含目标第二设备的设备标识的第三广播消息后,第一设备将第三广播消息进行广播,以请求第二设备与第一设备进行连接。换句话说,第三广播消息的本质是GATT的连接广播。
在这里,GATT是一种低能耗的蓝牙协议,基于GATT协议的蓝牙通信方法能够使两个设备在未经配对的情况下实现蓝牙通信/蓝牙控制。例如,手机和投影设备可以通过商定好的协议直接实现手机操控投影设备的目的。这样,在目标第二设备未连网、也不方便对其进行直接操控的尴尬场景下,同样能够实现第一设备对目标第二设备的控制,提高了蓝牙通信的便捷性和通用性。另外,GATT连接是双向通讯,还能够弥补蓝牙广播的非定向通讯的缺陷,提高了蓝牙控制的效果。
这样,第一设备和目标第二设备之间存在三次广播消息,从而完成设备发现过程,准确实现第一设备和目标第二设备的GATT连接,以便于第一设备对第二设备进行蓝牙控制。
在本申请实施例中,第一设备可以作为GATT连接的服务端,提供GATT服务,目标第二设备可以作为GATT连接的客户端,调用GATT服务。因此,在一些实施例中,在发送第三广播消息之前,该方法还可以包括:
建立GATT服务,为GATT服务配置读特性参数、读特性描述符、写特性参数和写特性描述符,且GATT服务具有第一预设标识码,读特性参数具有第二预设标识码,读特性描述符具有第三预设标识码,写特性参数具有第四预设标识码,写特性描述符具有第五预设标识码;
在与目标第二设备建立通用属性配置文件GATT连接后,该方法还可以包括:
向目标第二设备提供GATT服务。
需要说明的是,第一设备在发送第三广播消息之间,需要建立GATT服务,并配置该GATT服务的各种参数、描述符,以及不同参数和不同描述符各自的预设标识码。
在这里,读特性参数是指那些允许客户端进行读取的参数,写特性参数是指那些允许客户端进行写入的参数。具体地,读特性参数中下设读特性描述符,写特性参数中下设写特性描述符,分别用于写入或者读出信息。
另外,GATT服务、读特性参数、读特性描述符、写特性参数和写特性描述符各自的预设标识码可以是UUID。在这里,预设标识码的分配方式需要参照业内统一标准。
这样,对于GATT服务来说,响应端可以同时响应多个GATT服务端。在本申请实施例中,由于第一设备是GATT服务的服务端,第二设备是GATT服务的响应端。因此,第二设备可以以响应端的身份与多个第一设备建立不同的GATT连接,即第二设备可以同时被多个第一设备控制。
进一步地,在第一设备和第二设备建立GATT连接后,第一设备可以通过该GATT连接向第二设备下发控制指令,第二设备也可以通过该GATT连接向第一设备传输相关数据,从而实现第一设备与目标第二设备之间的蓝牙通信。具体地,在一些实施例中,该方法还可以包括:
基于读特性参数,与目标第二设备进行蓝牙通信;和/或
基于写特性参数,与目标第二设备进行蓝牙通信。
在一种具体的实施例中,所述基于读特性参数,与目标第二设备进行蓝牙通信,可以包括:
确定目标指令信息;
将目标指令信息写入读特性描述符,以实现第一设备将目标指令信息发送至目标第二设备。
在这里,目标指令信息是指第一设备向目标第二设备下发的控制指令。以目标第二设备为投影为例,目标指令信息可以是指示目标第二设备退出、确定、下一步、(投影角度)向上移动、(投影角度)向下移动等;如果目标第二设备是电视,目标指令信息可以是暂停、播放、音量大小、关机等。
需要说明的是,由于读特性参数是允许目标第二设备进行读取的参数,因此可以利用读特性参数实现第一设备向目标第二设备发送指令信息。具体地,第一设备可以将目标指令信息写入读特性描述符。这样,在第一设备和目标第二设备建立GATT连接后,目标第二设备在获取到该GATT服务中的读特性描述符后,也就获得了目标指令信息。
进一步地,第一设备可能会向目标第二设备下发多次指令信息,即在目标第二设备已经读取了读特性描述符后,第一设备可能会再次将新的目标指令信息写入读特性描述符,此时,第一设备还需要向第二设备下发修改通知。因此,在一些实施例中,在将目标指令信息写入读特性描述符之后,该方法还可以包括:
向目标第二设备发送修改通知。
在这里,修改通知用于指示目标第二设备读取读特性描述符。
需要说明的是,第一设备下发目标指令信息包括两种不同的情况:
(1)第一设备在创建GATT服务之前已经确定了要发送的目标指令信息。在这种情况下,第一设备可以在创建GATT服务的读特性参数和读特性描述符时,就将目标指令信息写入读特性描述符中。这样,在目标第二设备与第一设备建立GATT连接后,由于目标第二设备会依次获取GATT服务、GATT服务中的读特性参数/写特性参数、读特性描述符/写特性描述符,所以目标第二设备也就能够获得目标指令信息。
(2)第一设备在创建GATT服务之后需要再次发送目标指令信息。在这种情况下,目标第二设备可能已经完成了对读特性描述符的初次获取。此时,在第一设备将目标指令信息写入读特性描述符后,还需要向目标第二设备下发修改通知,以指示目标第二设备读取读特性描述符,从而实现将目标指令信息下发给目标第二设备。
另外,第一设备需要向目标第二设备开启使能特性通知功能,从而能够在每次修改读特性描述符后下发修改通知。
进一步地,在一些实施例中,所述基于写特性参数,与目标第二设备进行蓝牙通信,可以包括:
在检测到目标第二设备进行修改操作后,对写特性描述符进行读取,得到目标状态信息,以实现第一设备接收目标第二设备发送的目标状态信息。
在这里,目标状态信息用于指示目标第二设备向第一设备发送的状态信息,状态信息是指示目标第二设备自身运行状态的信息,例如网络断开、电量情况等。另外,修改操作是指目标第二设备对写特性描述符进行修改。
需要说明的是,由于写特性参数是允许目标第二设备进行写入的参数,因此可以利用写特性参数实现目标第二设备向第一设备发送状态信息。具体地,目标第二设备可以修改写特性参数的写特性描述符。作为GATT服务的服务端,第一设备可以感知目标第二设备的修改操作,并读取写特性描述符,从而获得目标状态信息。
也就是说,一方面,第一设备可以向目标第二设备发送目标指令信息,该功能借助于读特性描述符实现,以使得第一设备对目标第二设备的蓝牙控制。具体地,根据需要传输的目标指令信息,第一设备会对读特性描述符进行修改,在目标第二设备读取读特性描述符后,就获得了目标指令信息,从而实现第一设备对目标第二设备的数据传输。
另一方面,目标第二设备可以向第一设备发送目标状态信息,该功能借助于写特性描述符实现,以使得目标第二设备向第一设备发送状态信息,从而实现双向通讯。具体地,根据需要传输的目标状态信息,目标第二设备会对写特性参数进行修改。在这里,由于GATT服务本身就是第一设备提供的,所以目标第二设备对写特性参数进行修改后,第一设备也就获取了目标状态信息,从而实现目标第二设备对第一设备的数据传输。
除此之外,本申请实施例还可以允许多个第一设备同时对第二设备进行蓝牙控制,原因是第一设备作为GATT设备的服务端,第二设备作为GATT设备的客户端,因此第二设备作为客户端可以与多个第一设备进行GATT连接。
还需要说明的是,以上蓝牙通信方法的底层控制逻辑可以打包为应用程序的载体安装于第一设备/第二设备中。换句话说,第一设备和/或第二设备需要安装制定的应用程序,从而用户可以借助于该应用程序实现上述步骤。
本申请实施例提供了一种蓝牙通信方法,应用于第一设备,发送第一广播消息,并接收至少一个第二设备响应于第一广播消息返回的至少一个第二广播消息;根据至少一个第二广播消息,从至少一个第二设备中确定目标第二设备,并基于目标第二设备的设备标识生成第三广播消息;在发送第三广播消息后,与目标第二设备建立通用属性配置文件GATT连接。这样,通过第三次广播消息的交互,第一设备和第二设备能够建立GATT连接,进而在无需进行蓝牙配对的情况下实现蓝牙通信,提高了蓝牙通信的便捷性和通用性。
在本申请的另一实施例中,参见图2,其示出了本申请实施例提供的另一种蓝牙通信方法的流程示意图。如图2所示,该方法可以包括:
S201:响应于第一设备发送的第一广播消息,生成第二广播消息。
需要说明的是,本申请实施例提供的蓝牙通信方法(或称为蓝牙控制方法)应用于第二设备,第二设备是指蓝牙控制过程中的被控设备。在这里,第二设备可以是多种电子设备,例如音响、电视机、投影仪、智能家居设备、便携式多媒体播放器(Portable MultimediaPlayer,PMP)、增强现实设备(Augmented Reality,AR)、混合现实设备(Mixed Reality,MR)、智能眼镜(Smart Glasses)。
在相关技术中,蓝牙通信需要基于两个设备间的蓝牙配对进行,从而限制了一些场景的应用。在本申请实施例中,第一设备和第二设备通过商定好的协议实现蓝牙通信,从而提高蓝牙通信的通用性和便捷性。
具体地,在第二设备中预先设置了蓝牙通信的相关程序,其中设定了一目标字段。当第二设备扫描到包含该目标字段的第一广播消息后,将发送该第一广播消息的设备确定为第一设备,然后,响应于第一广播消息,第二设备生成并发送第二广播消息,以告知第一设备其可以作为候选的被控设备
需要说明的是,第二广播消息需要包括第二设备的设备标识,以便于第一设备获知第二设备的身份信息。因此,响应于第一设备发送的第一广播消息,生成第二广播消息,可以包括:
确定第二设备的设备标识;
根据设备标识,生成第二广播消息。
这样,第一设备和第二设备并不需要进行配对,而是可以直接以蓝牙广播的形式实现设备发现的过程,进而建立GATT连接。
S202:在发送第二广播消息后,接收第一设备发送的第三广播消息。
S203:在第三广播消息中携带第二设备的设备标识的情况下,与第一设备建立GATT连接。
需要说明的是,由于环境中可能存在不止一个可供第一设备控制的候选第二设备,因此第一设备会根据接收到的第二广播消息确定出需要进行控制的目标第二设备,并生成包含有目标第二设备的设备标识的第三广播消息。
本申请实施例描述的是目标第二设备的工作流程。也就是说,第三广播消息中携带该第二设备的设备标识,以告知第二设备与第一设备进行GATT连接。
进一步地,在一些实施例中,方法还可以包括:
在调用第一设备的预设连接接口后,基于第一预设标识码获取第一设备提供的GATT服务;其中,GATT服务是第一设备在发送第三广播消息之前创建的;
基于第二预设标识码,获取GATT服务的读特性参数,并基于第三预设标识码获取读特性描述符;
根据获取到的读特性描述符,确定第一设备发送的目标指令信息。
需要说明的是,在本申请实施例中,第一设备可以作为GATT连接的服务端,提供GATT服务;第二设备可以作为GATT连接的客户端,调用GATT服务。
在这里,第一设备会建立GATT服务,GATT服务中包括读特性参数、读特性描述符、写特性参数和写特性描述符,且GATT服务、读特性参数、读特性描述符、写特性参数和写特性描述符各自具有不同的预设标识码。第二设备会调用第一设备的预设连接接口,以获取GATT服务和GATT服务中的各种参数。其中,预设连接接口是指用于获取第一设备所创建的GATT服务的接口,一般可命名为connectGatt。
具体地,对于第一设备而言,如果在建立GATT服务时已经确定了要下发给第二设备的目标指令信息,则可以将目标指令信息直接写入读特性描述符中。这样,在第二设备调用第一设备的预设连接接口后,通过第一预设标识码获取第一设备提供的GATT服务,并基于第二预设标识码,获取GATT服务的读特性参数,并基于第三预设标识码获取读特性描述符,从而获得目标指令信息。
除此之外,如果第一设备在建立GATT服务后需要再次向第二设备发送控制指令,依然需要将目标指令信息写入读特性描述符。然而,由于此时第二设备已经获取过读特性描述符,所以第一设备需要向第二设备下发修改通知,以提醒第二设备进行再次读取读特性描述符。
具体地,第一设备需要提供使能特性通知功能,以便在第一设备对读特性参数进行修改后,及时通知第二设备进行读取。
进一步地,在一些实施例中,在与第一设备建立GATT连接后,该方法还可以包括:
基于第四预设标识码获取GATT服务的写特性参数,基于第五预设标识码获取写特性描述符;
在检测到第一设备的状态信息发生变化时,确定目标状态信息;
将目标状态信息写入写特性描述符。
需要说明的是,第二设备可以根据第四预设标识码获取GATT服务的写特性参数,以及基于第五预设标识码获取GATT服务的写特性描述符。然后,如果第二设备需要向第一设备传递目标状态信息,则需要将目标状态信息写入写特性描述符,以实现第二设备向第一设备发送数据。
在这里,预设标识码均为业内统一标准,或者说,第一设备和第二设备提前已经约定好不同预设标识码的含义。
在一种具体的实施例中,第一预设标识码可以为UUID_SERVER、第二预设标识码可以为UUID_CHARREAD、第三预设标识码可以为UUID_DESCRIPTOR1、第四预设标识码可以为UUID_CHARWRITE和第五预设标识码可以为UUID_DESCRIPTOR2。应理解,蓝牙技术联盟给出的蓝牙技术规范规定了不同UUID的具体编码,例如UUID_DESCRIPTOR1可以为00002602-0000-700-5000-00505f9b34fb。
还需要说明的是,在本申请实施例中,第一设备是GATT设备的服务端,第二设备是GATT设备的客户端,因此允许多个第一设备同时与第二设备进行连接,即允许多个第一设备同时对第二设备进行蓝牙控制。
本申请实施例提供了一种蓝牙通信方法,应用于第二设备,响应于第一设备发送的第一广播消息,生成第二广播消息;在发送第二广播消息后,接收第一设备发送的第三广播消息;在第三广播消息中携带第二设备的设备标识的情况下,与第一设备建立GATT连接。这样,通过三次广播消息的交互,第一设备和第二设备能够建立GATT连接,进而在无需进行蓝牙配对的情况下实现蓝牙通信,提高了蓝牙通信的便捷性和通用性;另外,借助于多次发送的广播消息,第一设备能够准确地与指定的第二设备进行连接,而且还能够允许多个第一设备同时对第二设备进行蓝牙控制。
在本申请的又一实施例中,以第一设备为手机(或称为手机端),第二设备为投影设备(或称为投影端)为例,对本申请实施例提供的蓝牙通信方法进行具体说明。
参见图3,其示出了本申请实施例提供的又一种蓝牙通信方法的流程示意图。该方法可以包括设备发现、GATT连接和控制指令发送三个部分。如图3所示,设备发现包括步骤S301~S303,GATT连接包括步骤S304,控制指令发送包括步骤S305和S306。具体说明如下:
S301:手机端发送第一广播消息。
需要说明的是,针对于手机与投影未做蓝牙配对的情况下,提供一种蓝牙通信方法,以实现手机发现投影设备,并授权用户控制投影。
需要说明的是,手机和投影设备通过发送和扫描蓝牙广播,携带自己信息,实现设备发现。手机端先发送第一蓝牙广播(即第一广播消息),且该蓝牙广播中携带xf-device字段(FIND),相当于前述的目标字段。
S302:投影端在接收到第一广播消息后,发送第二广播消息,且第二广播消息携带有投影端的设备标识。
需要说明的是,投影端接收到第一蓝牙广播后解析并比对字段,若解析到xf-device字段,则满足触发条件,此时投影端发送第二蓝牙广播(即第二广播消息)。在这里,第二蓝牙广播携带xr-+机器序列号的字段(RESPOND),即投影设备的设备标识。
S303:手机端在接收到至少一个第二广播消息后,创建GATT服务,并发送第三广播消息,且第三广播消息携带有目标投影端的设备标识。
需要说明的是,在手机端收到第二蓝牙广播后,通过第二蓝牙广播中的设备标识来识别不同的候选被控设备(即候选第二设备),以便于进行选择连接。在用户选择目标被控设备(即目标第二设备)后,手机端会创建GATT服务,并发送第三蓝牙广播(即第三广播消息),第三蓝牙广播携带目标被控设备的xc-+机器序列号字段(CONNECT),以请求与目标被控设备进行GATT连接。
为方便描述,在本申请实施例中,以投影端作为目标被控设备。这样,投影端收到第三蓝牙广播后,就知道第三蓝牙广播是用于后续建立GATT连接使用的。
在这里,第一设备和第二设备均安装有蓝牙服务。在上述过程中,蓝牙广播的扫描是调用蓝牙服务的startScan接口,且注册mScanCallBack回调接口,收到周围的蓝牙广播后则会触发回调接口,从而进行响应。蓝牙广播的发送是调用蓝牙的startAdvertising接口,并携带广播信息。
还需要说明的是,对于GATT服务来说,手机和投影设备分别作为GATT Server和GATT Client,建立GATT Connect(即GATT连接)。具体地。手机端先通过openGattServer创建GATT服务,并为此服务添加读和写特性,并为读特性添加一个描述符(即读特性描述符),也为写特性添加一个描述符(即写特性描述符)。在这里,读特性描述符用于进行通知(Notify)。以上的服务、特性以及描述符分别由UUID(即预设标识码)标识,投影端可以通过固定的UUID获取到。
S304:投影端调用GATT服务的连接接口,获取第一设备创建的GATT服务。
需要说明的是,在投影端接收到手机发来的第三蓝牙广播后,通过第三蓝牙广播可以得到BluetoothDevice,然后调用BluetoothDevice的连接接口connectGatt(即预设连接接口)。在连接成功后,则会触发回调接口onServiceDiscoverd。
然后,投影端可通过UUID_SERVER(即第一预设标识码)获取到服务端创建的GATT服务,再通过UUID_CHARREAD(即第二预设标识码)和UUID_CHARWRITE(即第四预设标识码)分别获取到读特性和写特性,通过UUID_DESCRIPTOR1(即第三预设标识码)获取到读特性中的描述符,描述符是用来通知(Notify)信息,以及通过UUID_DESCRIPTOR2(即第五预设标识码)来获取到写特性中的描述符。
S305:投影端通过写特性修改相应的属性值,从而向手机端发送目标状态信息。
需要说明的是,通过GATT服务的特性以及特性的描述符即可进行消息收发以及通知下发,投影端可以通过写特性调用writeCharacteristic,携带要传输的目标状态信息,例如投影网络断开的一些状态,可以通过写特性发送给手机端。具体地,投影端需要将目标状态信息写入写特性中的描述符,属性值即是指描述符的具体内容。
S306:手机端通过读特性修改相应的属性值,从而向投影端发送目标控制指令。
在本申请实施例中,步骤S305和步骤S306的执行顺序不分先后。
还需要说明的是,手机端可通过读特性notifyCharacteristicChanged携带被通知设备的设备标识以及特性值,下发目标控制指令到投影端,此后投影端会触发回调onCharacteristicChanged,接着可读取到想要的信息。这里需要注意的是投影端需要调用接口setCharacteristicNotification使能特性通知功能,并且描述符的UUID需要使用蓝牙标准UUID类型,即"00002602-0000-700-5000-00505f9b34fb",否则无法接收到服务端下发的NOTIFY指令,目前支持的控制指令包括上键、下键、左键、右键、确定键、返回键、关机键等。具体地,手机端需要将目标控制指令写入读特性中的描述符。
还需要说明的是,在本申请实施例中,支持多个手机控制投影,原因是把手机当作GATT的服务端。对于多个手机来说,创建了不同的服务端,投影设备作为客户端可以向多个手机发起GATT连接。如果角色互换则无法实现,原因是一个蓝牙的GATT服务端只能等待一个客户端连接,即一个从设备(手机)只能等待主设备(投影设备)发起连接,而主设备(投影设备)可以向多个从设备(手机)发起连接。
示例性地,如图4所示,本申请实施例中提供了一种蓝牙通信方法,对于安装了某某助手APP的手机端,可以与投影端通过三次蓝牙广播实现设备发现;然后,手机端作为GATT服务端,投影端作为GATT客户端,从而在手机和投影之间建立GATT连接;最后,手机和投影端通过GATT连接实现指令收发,从而实现手机对投影端的蓝牙控制。
这样,一方面,通过蓝牙广播携带机器信息的方式实现设备发现,而且在环境中存在多个被控设备时,用户可进行选择连接;另一方面,通过GATT支持双向通讯可让用户下发指令后及时得到反馈;再一方面,支持不同手机先后连接投影,是因为此方案把投影当作客户端,手机当作了服务端,如此本申请实施例的蓝牙通信方法可满足多对一,主要是依赖手机和投影端之间三次的广播交互来实现的。
本申请实施例提供了一种蓝牙通信方法,通过本实施例对前述实施例的具体实施方法进行了详细阐述,从中可以看出,通过第一广播消息和第二广播消息的交互,第一设备和第二设备能够建立GATT连接,进而在无需进行蓝牙配对的情况下实现蓝牙通信,提高了蓝牙通信的便捷性和通用性;另外,借助于多次发送的广播消息,第一设备能够准确地与指定的目标第二设备进行连接,而且还能够允许多个第一设备同时对第二设备进行蓝牙控制。
在本申请的再一实施例中,参见图5,其示出了本申请实施例提供的一种第一设备40的组成结构示意图。如图5所示,该第一设备40包括第一发送单元401、生成单元402和第一连接单元403;其中,
第一发送单元401,配置为发送第一广播消息,并接收至少一个第二设备响应于第一广播消息返回的至少一个第二广播消息;
生成单元402,配置为根据至少一个第二广播消息,从至少一个第二设备中确定目标第二设备,并基于目标第二设备的设备标识生成第三广播消息;
第一连接单元状态403,配置为在发送第三广播消息后,与目标第二设备建立通用属性配置文件GATT连接。
在一些实施例中,第二广播消息携带对应的设备标识。相应地,生成单元402,还配置为根据至少一个第二广播消息中各自携带的设备标识,确定至少一个第二设备;接收来自于用户的选择指令,根据选择指令从至少一个第二设备中确定目标第二设备。
在一些实施例中,如图5所示,第一设备40还包括第一控制单元404。第一控制单元404,配置为建立GATT服务,为GATT服务配置读特性参数、读特性描述符、写特性参数和写特性描述符,且GATT服务具有第一预设标识码,读特性参数具有第二预设标识码,读特性描述符具有第三预设标识码,写特性参数具有第四预设标识码,写特性描述符具有第五预设标识码;在与目标第二设备建立通用属性配置文件GATT连接后,向目标第二设备提供GATT服务。
在一些实施例中,如图5所示,第一控制单元404,还配置为基于读特性参数,与目标第二设备进行蓝牙通信;和/或基于写特性参数,与目标第二设备进行蓝牙通信。
在一些实施例中,第一控制单元404,还配置为确定目标指令信息;将目标指令信息写入读特性描述符,以实现第一设备将目标指令信息发送至目标第二设备。
在一些实施例中,第一控制单元404,还配置为向目标第二设备发送修改通知,其中,修改通知用于指示目标第二设备读取读特性描述符。
在一些实施例中,第一控制单元404,还配置为在检测到目标第二设备进行修改操作后,对写特性描述符进行读取,得到目标状态信息,以实现第一设备接收目标第二设备发送的目标状态信息;其中,修改操作是指目标第二设备对写特性描述符进行修改。
可以理解地,在本实施例中,“单元”可以是部分电路、部分第一处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(第一处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读第一存储器(Read Only Memory,ROM)、随机存取第一存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,计算机程序被多个第一处理器执行时实现前述实施例中任一项的方法的步骤。
基于上述的一种第一设备40的组成以及计算机存储介质,参见图6,其示出了本申请实施例提供的一种第一设备40的硬件结构示意图。如图6所示,第一设备40可以包括:第一通信接口501、第一存储器502和第一处理器503;各个组件通过第一总线系统504耦合在一起。可理解,第一总线系统504用于实现这些组件之间的连接通信。第一总线系统504除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为第一总线系统504。其中,第一通信接口501,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第一存储器502,用于存储能够在第一处理器503上运行的计算机程序;
第一处理器503,用于在运行计算机程序时,执行:
发送第一广播消息,并接收至少一个第二设备响应于第一广播消息返回的至少一个第二广播消息;
根据至少一个第二广播消息,从至少一个第二设备中确定目标第二设备,并基于目标第二设备的设备标识生成第三广播消息;
在发送第三广播消息后,与目标第二设备建立通用属性配置文件GATT连接。
可以理解,本申请实施例中的第一存储器502可以是易失性第一存储器或非易失性第一存储器,或可包括易失性和非易失性第一存储器两者。其中,非易失性第一存储器可以是只读第一存储器(Read-Only Memory,ROM)、可编程只读第一存储器(ProgrammableROM,PROM)、可擦除可编程只读第一存储器(Erasable PROM,EPROM)、电可擦除可编程只读第一存储器(Electrically EPROM,EEPROM)或闪存。易失性第一存储器可以是随机存取第一存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取第一存储器(Static RAM,SRAM)、动态随机存取第一存储器(Dynamic RAM,DRAM)、同步动态随机存取第一存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取第一存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取第一存储器(Enhanced SDRAM,ESDRAM)、同步链动态随机存取第一存储器(Synchronous link DRAM,SLDRAM)和直接内存总线随机存取第一存储器(Direct Rambus RAM,DRRAM)。本申请描述的设备和方法的第一存储器502旨在包括但不限于这些和任意其它适合类型的第一存储器。
而第一处理器503可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过第一处理器503中的硬件的集成逻辑电路或者软件形式的指令完成。上述的第一处理器503可以是通用第一处理器、数字信号第一处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用第一处理器可以是微第一处理器或者该第一处理器也可以是任何常规的第一处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码第一处理器执行完成,或者用译码第一处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机第一存储器,闪存、只读第一存储器,可编程只读第一存储器或者电可擦写可编程第一存储器、寄存器等本领域成熟的存储介质中。该存储介质位于第一存储器502,第一处理器503读取第一存储器502中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本申请描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号第一处理器(DigitalSignal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable GateArray,FPGA)、通用第一处理器、控制器、微控制器、微第一处理器、用于执行本申请功能的其它电子单元或其组合中。
对于软件实现,可通过执行本申请功能的模块(例如过程、函数等)来实现本申请的技术。软件代码可存储在第一存储器中并通过第一处理器执行。第一存储器可以在第一处理器中或在第一处理器外部实现。
可选地,作为另一个实施例,第一处理器503还配置为在运行计算机程序时,执行前述实施例中任一项的方法的步骤。
本申请实施例提供了一种第一设备,该第一设备包括第一发送单元、生成单元和第一连接单元,通过三次广播消息的交互,第一设备和第二设备能够建立GATT连接,进而在无需进行蓝牙配对的情况下与实现蓝牙通信,提高了蓝牙通信的便捷性和通用性;借助于多次发送的广播消息,第一设备能够准确地与指定的目标第二设备进行连接。另外,由于第一设备为GATT的服务端,第二设备为GATT的响应端,还能够允许多个第一设备同时对第二设备进行蓝牙控制。
在本申请的再一实施例中,参见图7,其示出了本申请实施例提供的一种第二设备60的组成结构示意图。如图7所示,该第二设备60包括响应单元601、第二发送单元602和第二连接单元603,其中,
响应单元601,配置为响应于第一设备发送的第一广播消息,生成第二广播消息;
第二发送单元602,配置为在发送第二广播消息后,接收第一设备发送的第三广播消息;
第二连接单元603,配置为在第三广播消息中携带第二设备的设备标识的情况下,与第一设备建立GATT连接。
在一些实施例中,如图7所示,该第二设备60还包括第二控制单元604。第二控制单元604,配置为在调用第一设备的预设连接接口后,基于第一预设标识码获取第一设备提供的GATT服务;其中,GATT服务是第一设备在发送第三广播消息之前创建的;基于第二预设标识码,获取GATT服务的读特性参数,并基于第三预设标识码获取读特性描述符;根据获取到的读特性描述符,确定第一设备发送的目标指令信息。
在一些实施例中,第二控制单元604,还配置为基于第四预设标识码获取GATT服务的写特性参数,基于第五预设标识码获取写特性描述符;在检测到第一设备的状态信息发生变化时,确定目标状态信息;将目标状态信息写入写特性描述符。
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例提供了一种计算机存储介质,应用于第二设备60,该计算机存储介质存储有存储管理程序,主机分类程序被第二处理器执行时实现前述实施例中任一项的方法。
基于第二设备60的组成以及计算机存储介质,参见图8,其示出了本申请实施例提供的第二设备60的具体硬件结构示例,如图8所示,第二设备60可以包括:第二通信接口701、第二存储器702和第二处理器703;各个组件通过第二总线系统704耦合在一起。可理解,第二总线系统704用于实现这些组件之间的连接通信。第二总线系统704除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为第二总线系统704。其中,
第二通信接口701,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
第二存储器702,用于存储能够在第二处理器703上运行的计算机程序;
第二处理器703,用于在运行计算机程序时,执行:
响应于第一设备发送的第一广播消息,生成第二广播消息;
在发送第二广播消息后,接收第一设备发送的第三广播消息;
在第三广播消息中携带第二设备的设备标识的情况下,与第一设备建立GATT连接。
可选地,作为另一个实施例,第二处理器703还配置为在运行计算机程序时,执行前述实施例中任一项的方法。
可以理解,第二存储器702与第一存储器502的硬件功能类似,第二处理器703与第一处理器503的硬件功能类似;这里不再详述。
本申请实施例提供了一种第二设备,第二设备包括响应单元、第二发送单元和第二连接单元,通过三次广播消息的交互,第一设备和第二设备能够建立GATT连接,进而在无需进行蓝牙配对的情况下与实现蓝牙通信,提高了蓝牙通信的便捷性和通用性;借助于多次发送的广播消息,第一设备能够准确地与指定的目标第二设备进行连接。另外,由于第一设备为GATT的服务端,第二设备为GATT的响应端,还能够允许多个第一设备同时对第二设备进行蓝牙控制。
在本申请的再一实施例中,参见图9,其示出了本申请实施例提供的一种蓝牙通信系统80的组成结构示意图。如图9所示,该蓝牙通信系统80至少可以包括前述实施例中任一项的第一设备40和前述实施例中任一项的第二设备60。
在本申请实施例中,由于蓝牙通信系统80至少包括前述实施例中任一项的第一设备40和第二设备60,通过三次广播消息的交互,第一设备和第二设备能够建立GATT连接,进而在无需进行蓝牙配对的情况下与实现蓝牙通信,提高了蓝牙通信的便捷性和通用性;借助于多次发送的广播消息,第一设备能够准确地与指定的目标第二设备进行连接。另外,由于第一设备为GATT的服务端,第二设备为GATT的响应端,还能够允许多个第一设备同时对第二设备进行蓝牙控制。
以上,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。
需要说明的是,在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (15)
1.一种蓝牙通信方法,其特征在于,应用于第一设备,所述方法包括:
发送第一广播消息,并接收至少一个第二设备响应于所述第一广播消息返回的至少一个第二广播消息;
根据所述至少一个第二广播消息,从所述至少一个第二设备中确定目标第二设备,并基于所述目标第二设备的设备标识生成第三广播消息;
在发送所述第三广播消息后,与所述目标第二设备建立通用属性配置文件GATT连接。
2.根据权利要求1所述的蓝牙通信方法,其特征在于,所述第二广播消息携带对应的设备标识;所述根据所述至少一个第二广播消息,从所述至少一个第二设备中确定目标第二设备,包括:
根据所述至少一个第二广播消息中各自携带的设备标识,确定所述至少一个第二设备;
接收来自于用户的选择指令,根据所述选择指令从所述至少一个第二设备中确定所述目标第二设备。
3.根据权利要求1所述的蓝牙通信方法,其特征在于,在所述发送第三广播消息之前,所述方法还包括:
建立GATT服务,为所述GATT服务配置读特性参数、读特性描述符、写特性参数和写特性描述符,且所述GATT服务具有第一预设标识码,所述读特性参数具有第二预设标识码,所述读特性描述符具有第三预设标识码,所述写特性参数具有第四预设标识码,所述写特性描述符具有第五预设标识码;
在所述与所述目标第二设备建立通用属性配置文件GATT连接后,所述方法还包括:
向所述目标第二设备提供所述GATT服务。
4.根据权利要求3所述的蓝牙通信方法,其特征在于,所述方法还包括:
基于所述读特性参数,与所述目标第二设备进行蓝牙通信;和/或
基于所述写特性参数,与所述目标第二设备进行蓝牙通信。
5.根据权利要求4所述的蓝牙通信方法,其特征在于,所述基于所述读特性参数,与所述目标第二设备进行蓝牙通信,包括:
确定目标指令信息;
将所述目标指令信息写入所述读特性描述符,以实现所述第一设备将所述目标指令信息发送至所述目标第二设备。
6.根据权利要求5所述的蓝牙通信方法,其特征在于,在所述将所述目标指令信息写入所述读特性描述符之后,所述方法还包括:
向所述目标第二设备发送修改通知;
其中,所述修改通知用于指示所述目标第二设备读取所述读特性描述符。
7.根据权利要求4所述的蓝牙通信方法,其特征在于,所述基于所述写特性参数,与所述目标第二设备进行蓝牙通信,包括:
在检测到目标第二设备进行修改操作后,对所述写特性描述符进行读取,得到目标状态信息,以实现所述第一设备接收所述目标第二设备发送的所述目标状态信息;
其中,所述修改操作是指所述目标第二设备对所述写特性描述符进行修改。
8.一种蓝牙通信方法,其特征在于,应用于第二设备,所述方法包括:
响应于第一设备发送的第一广播消息,生成第二广播消息;
在发送所述第二广播消息后,接收所述第一设备发送的第三广播消息;
在所述第三广播消息中携带所述第二设备的设备标识的情况下,与所述第一设备建立GATT连接。
9.根据权利要求8所述的蓝牙通信方法,其特征在于,所述与所述第一设备建立GATT连接,包括:
在调用所述第一设备的预设连接接口后,基于第一预设标识码获取所述第一设备提供的GATT服务;其中,所述GATT服务是所述第一设备在发送所述第三广播消息之前创建的;
基于第二预设标识码,获取所述GATT服务的读特性参数,并基于第三预设标识码获取读特性描述符;
根据获取到的所述读特性描述符,确定所述第一设备发送的目标指令信息。
10.根据权利要求8所述的蓝牙通信方法,其特征在于,所述与所述第一设备建立GATT连接,包括:
基于第四预设标识码获取所述GATT服务的写特性参数,基于第五预设标识码获取写特性描述符;
在检测到所述第一设备的状态信息发生变化时,确定目标状态信息;
将所述目标状态信息写入所述写特性描述符。
11.一种第一设备,其特征在于,所述第一设备包括第一发送单元、生成单元和第一连接单元;其中,
所述第一发送单元,配置为发送第一广播消息,并接收至少一个第二设备响应于所述第一广播消息返回的至少一个第二广播消息;
所述生成单元,配置为根据所述至少一个第二广播消息,从所述至少一个第二设备中确定目标第二设备,并基于所述目标第二设备的设备标识生成第三广播消息;
所述第一连接单元,配置为在发送所述第三广播消息后,与所述目标第二设备建立通用属性配置文件GATT连接。
12.一种第一设备,其特征在于,所述第一设备包括第一存储器和第一处理器;其中,
所述第一存储器,用于存储能够在所述处理器上运行的计算机程序;
所述第一处理器,用于在运行所述计算机程序时,执行如权利要求1至7任一项所述方法的步骤。
13.一种第二设备,其特征在于,所述第二设备包括响应单元、第二发送单元和第二连接单元;其中,
所述响应单元,配置为响应于第一设备发送的第一广播消息,生成第二广播消息;
所述第二发送单元,配置为在发送所述第二广播消息后,接收所述第一设备发送的第三广播消息;
所述第二连接单元,配置为在所述第三广播消息中携带所述第二设备的设备标识的情况下,与所述第一设备建立GATT连接。
14.一种第二设备,其特征在于,所述第二设备包括:第二存储器和第二处理器;其中,
所述第二存储器,用于存储能够在所述处理器上运行的计算机程序;
所述第二处理器,用于在运行所述计算机程序时,执行如权利要求8至10任一项所述方法的步骤。
15.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序被第一处理器执行时实现如权利要求1至7任一项所述方法的步骤,或者被第二处理器执行时实现如权利要求8至10任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111030729.XA CN115767486B (zh) | 2021-09-03 | 2021-09-03 | 一种蓝牙通信方法、第一设备、第二设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111030729.XA CN115767486B (zh) | 2021-09-03 | 2021-09-03 | 一种蓝牙通信方法、第一设备、第二设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115767486A true CN115767486A (zh) | 2023-03-07 |
CN115767486B CN115767486B (zh) | 2024-09-17 |
Family
ID=85332884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111030729.XA Active CN115767486B (zh) | 2021-09-03 | 2021-09-03 | 一种蓝牙通信方法、第一设备、第二设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115767486B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016054767A1 (zh) * | 2014-10-08 | 2016-04-14 | 华为技术有限公司 | 一种车载终端间的信息交互方法及车载终端 |
US20170201499A1 (en) * | 2015-02-05 | 2017-07-13 | Apple Inc. | Secure wireless communication between controllers and accessories |
CN107465994A (zh) * | 2017-06-13 | 2017-12-12 | 天地融科技股份有限公司 | 一种业务数据传输方法、装置及系统 |
WO2018040043A1 (zh) * | 2016-08-31 | 2018-03-08 | 华为技术有限公司 | 发现蓝牙设备的方法和蓝牙设备 |
CN108702720A (zh) * | 2016-02-24 | 2018-10-23 | 高通股份有限公司 | 源设备广播与蓝牙等时信道相关联的同步信息 |
CN110012049A (zh) * | 2018-11-27 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 信息推送方法、系统、服务器及计算机可读存储介质 |
CN110545318A (zh) * | 2019-08-19 | 2019-12-06 | 钟代笛 | 一种依赖于gatt和指示进行适配的数据通信方法及系统 |
CN110691332A (zh) * | 2019-09-17 | 2020-01-14 | 湖南简成信息技术有限公司 | 基于蓝牙广播的数据处理方法、设备及存储介质 |
CN111356132A (zh) * | 2018-12-20 | 2020-06-30 | 上海银基信息安全技术股份有限公司 | 蓝牙访问控制方法、系统、电子设备及存储介质 |
CN111918262A (zh) * | 2020-08-15 | 2020-11-10 | 北京百瑞互联技术有限公司 | 一种快速发现gatt服务的低功耗蓝牙通信的方法及系统 |
CN112203263A (zh) * | 2020-09-25 | 2021-01-08 | 深圳市晨北科技有限公司 | 一种广播消息交互方法、终端、设备及介质 |
-
2021
- 2021-09-03 CN CN202111030729.XA patent/CN115767486B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016054767A1 (zh) * | 2014-10-08 | 2016-04-14 | 华为技术有限公司 | 一种车载终端间的信息交互方法及车载终端 |
CN105723753A (zh) * | 2014-10-08 | 2016-06-29 | 华为技术有限公司 | 一种车载终端间的信息交互方法及车载终端 |
US20170302740A1 (en) * | 2014-10-08 | 2017-10-19 | Huawei Technologies Co., Ltd | Method for Exchanging Information Between In-Vehicle Terminals and In-Vehicle Terminal |
US20170201499A1 (en) * | 2015-02-05 | 2017-07-13 | Apple Inc. | Secure wireless communication between controllers and accessories |
CN108702720A (zh) * | 2016-02-24 | 2018-10-23 | 高通股份有限公司 | 源设备广播与蓝牙等时信道相关联的同步信息 |
CN108605371A (zh) * | 2016-08-31 | 2018-09-28 | 华为技术有限公司 | 发现蓝牙设备的方法和蓝牙设备 |
WO2018040043A1 (zh) * | 2016-08-31 | 2018-03-08 | 华为技术有限公司 | 发现蓝牙设备的方法和蓝牙设备 |
CN107465994A (zh) * | 2017-06-13 | 2017-12-12 | 天地融科技股份有限公司 | 一种业务数据传输方法、装置及系统 |
CN110012049A (zh) * | 2018-11-27 | 2019-07-12 | 阿里巴巴集团控股有限公司 | 信息推送方法、系统、服务器及计算机可读存储介质 |
CN111356132A (zh) * | 2018-12-20 | 2020-06-30 | 上海银基信息安全技术股份有限公司 | 蓝牙访问控制方法、系统、电子设备及存储介质 |
CN110545318A (zh) * | 2019-08-19 | 2019-12-06 | 钟代笛 | 一种依赖于gatt和指示进行适配的数据通信方法及系统 |
CN110691332A (zh) * | 2019-09-17 | 2020-01-14 | 湖南简成信息技术有限公司 | 基于蓝牙广播的数据处理方法、设备及存储介质 |
CN111918262A (zh) * | 2020-08-15 | 2020-11-10 | 北京百瑞互联技术有限公司 | 一种快速发现gatt服务的低功耗蓝牙通信的方法及系统 |
CN112203263A (zh) * | 2020-09-25 | 2021-01-08 | 深圳市晨北科技有限公司 | 一种广播消息交互方法、终端、设备及介质 |
Non-Patent Citations (2)
Title |
---|
LEUNG_MANWAH: "NRF52832学习笔记(24)——GATT客户端发现服务和读写特征值", Retrieved from the Internet <URL:http://www.jianshu.com/p/2af0fc166c34> * |
田翠玲: "基于Android蓝牙通信的野外设备监控系统", 《中国优秀硕士学位论文全文数据库》, 15 December 2018 (2018-12-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN115767486B (zh) | 2024-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100735382B1 (ko) | 블루투스 기기의 보안 통신 방법 및 장치 | |
AU2011343700B2 (en) | Wireless network interface with infrastructure and direct modes | |
US10116505B2 (en) | Device control method for registering device information of peripheral device, and device and system thereof | |
EP2696559B1 (en) | Method and Device for Resource Sharing Between Devices | |
US9706015B2 (en) | Multi-operating system input device | |
RU2697614C2 (ru) | Система беспроводной связи | |
US20140148098A1 (en) | Electronic device and operating method thereof | |
CN105684520B (zh) | 用于建立无线局域网通信连接的方法及其电子设备 | |
CN103297096A (zh) | 使用近场通信来发送和接收多媒体数据的设备和方法 | |
US9716970B2 (en) | Wireless communication system, and apparatus and method for controlling communication connections with plurality of user terminals in system | |
EP2651179B1 (en) | Method of reducing a waiting time when cancelling a connection and an electronic device therefor | |
CN110830968A (zh) | 一种组网方法、装置、蓝牙设备及计算机可读介质 | |
KR102173242B1 (ko) | 근거리 무선 데이터 통신 시스템, 그 시스템에서의 정보 자동 설정 방법, 장치 | |
US20140177615A1 (en) | Method for scanning a wireless fidelity (wi-fi) direct device and terminal device for the same | |
CN114390501B (zh) | 数据传输的方法及电子设备 | |
CN104601205A (zh) | 一种内容共享的方法及装置 | |
CN110832947B (zh) | 一种组网方法及设备 | |
KR20150017848A (ko) | 와이파이 다이렉트 연결 방법 및 장치 | |
WO2016150191A1 (zh) | 一种数据共享方法及装置 | |
KR102373548B1 (ko) | 근거리 통신 연결을 위한 전자 장치 및 방법 | |
CN111465076A (zh) | 一种无线局域网的连接方法、设备及计算机存储介质 | |
EP3171608B1 (en) | Playing device grouping control method and user terminal | |
KR100958898B1 (ko) | UPnP 탐색 서비스에서 디바이스 소유자들을 발견하기위한 향상들 | |
CN115767486A (zh) | 一种蓝牙通信方法、第一设备、第二设备和存储介质 | |
CN116489645B (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 |