CN103561479A - 一种蓝牙设备通信方法和装置 - Google Patents
一种蓝牙设备通信方法和装置 Download PDFInfo
- Publication number
- CN103561479A CN103561479A CN201310488733.XA CN201310488733A CN103561479A CN 103561479 A CN103561479 A CN 103561479A CN 201310488733 A CN201310488733 A CN 201310488733A CN 103561479 A CN103561479 A CN 103561479A
- Authority
- CN
- China
- Prior art keywords
- bluetooth
- data
- equipment
- interface channel
- information
- 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
Images
Abstract
本发明涉及通信领域,特别是一种蓝牙设备通信方法,包括:接收蓝牙主设备中的第一应用发送的数据请求信息,所述数据请求信息至少包括与数据请求对应的第一蓝牙从设备的设备信息;根据数据请求中包含的第一蓝牙从设备的设备信息以及保存的数据连接通道与蓝牙从设备的对应关系判断是否存在与第一蓝牙从设备对应的数据连接通道;当判断存在与第一蓝牙从设备对应的数据连接通道时,则利用数据连接通道实现蓝牙主设备中的第一应用与第一蓝牙从设备间的数据通信;当判断不存在与第一蓝牙从设备对应的数据连接通道时,则与第一蓝牙从设备建立数据连接通道,并保存建立的数据连接通道与第一蓝牙从设备的对应关系。本发明可有效提高蓝牙设备间通信的效率。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种蓝牙设备通信方法和装置。
背景技术
蓝牙(Blue tooth)是一种支持设备间进行短距离通信的无线通信技术,在无线通信领域得到了广泛的应用。现有技术中,两个支持蓝牙技术的设备间可以通过建立无线通信通道以实现数据传输。蓝牙技术可以有效地简化通信终端设备间的通信,使得数据传输更加快捷、高效。
在现有技术提供的方法中,两个支持蓝牙技术的设备例如包括蓝牙主设备和蓝牙从设备建立无线通信通道的过程为:(1)发现配对阶段,在此阶段需要完成蓝牙主设备和蓝牙从设备之间的信任认证。具体过程为:蓝牙主设备和蓝牙从设备的蓝牙功能开启后,蓝牙主设备扫描开启蓝牙功能的设备,扫描完毕后生成设备列表,由用户在设备列表中选择一个设备作为蓝牙从设备。然后,蓝牙主设备向蓝牙从设备发送配对请求,在配对请求中携带配对密钥,当蓝牙从设备确定配对密钥正确时,则反馈配对成功响应消息至蓝牙主设备以完成蓝牙配对。(2)连接通信阶段,在此阶段完成蓝牙主设备和蓝牙从设备间的通信连接和数据传输。具体过程为:蓝牙主设备中的应用程序向蓝牙从设备发送连接建立请求消息,蓝牙从设备返回连接响应消息以建立通信通道。而后,蓝牙从设备利用已建立的通信通道向蓝牙主设备中的应用程序发送数据以完成数据交互。
发明人在实现本发明的过程中发现,现有技术存在的蓝牙设备间建立无线通信信道的方法,需要用户执行繁琐的操作才能完成蓝牙设备的配对和连接,效率较低。此外,无线通信连接的建立与具体的应用程序相对应,应用程序退出时,连接自动中断,而应用程序重新启动时,则需要重新执行建立连接操作,操作繁琐,通信效率较低。
发明内容
本发明实施例提供了一种蓝牙设备通信方法和装置,可以有效提高蓝牙设备间通信的效率,简化操作、易于实现。
技术方案如下:
根据本发明实施例的第一方面,公开了一种蓝牙设备通信方法,所述方法包括:
接收蓝牙主设备中的第一应用发送的数据请求信息,所述数据请求信息至少包括与所述数据请求对应的第一蓝牙从设备的设备信息;
根据所述数据请求中包含的第一蓝牙从设备的设备信息以及保存的数据连接通道与蓝牙从设备之间的对应关系判断是否存在与所述第一蓝牙从设备对应的数据连接通道;
当判断存在与所述第一蓝牙从设备对应的数据连接通道时,则利用所述数据连接通道实现所述蓝牙主设备中的第一应用与所述第一蓝牙从设备间的数据通信;
当判断不存在与所述第一蓝牙从设备对应的数据连接通道时,则与所述第一蓝牙从设备建立数据连接通道,并保存建立的所述数据连接通道与所述第一蓝牙从设备之间的对应关系。
进一步的,所述与所述第一蓝牙从设备建立数据连接通道包括:
判断是否已与所述第一蓝牙从设备进行配对操作;
当判断已与所述第一蓝牙从设备进行配对操作时,向所述第一蓝牙从设备发送通信连接请求以与所述第一蓝牙从设备建立数据连接通道。
进一步的,所述方法还包括:
当判断未与所述第一蓝牙从设备进行配对操作时,则根据所述第一蓝牙从设备的设备信息判断是否保存了与所述第一蓝牙从设备对应的通信数据信息;所述通信数据信息至少包括配对密钥信息;
当判断保存了与所述第一蓝牙从设备对应的通信数据信息时,利用所述通信数据信息中包含的所述配对密钥信息向所述第一蓝牙从设备发送配对请求消息;
当接收到所述第一蓝牙从设备发送的配对响应消息时,向所述第一蓝牙从设备发送通信连接请求以与所述第一蓝牙从设备建立数据连接通道。
进一步的,所述方法还包括:
当判断未保存与所述第一蓝牙从设备对应的通信数据信息时,显示第一提示信息;其中,所述第一提示信息用于提示用户输入与所述第一蓝牙从设备对应的通信数据信息。
进一步的,所述方法还包括:
保存所述数据连接通道的引用计数,所述引用计数用于表明所述数据连接通道对应的应用的数量;
当有新的应用使用所述数据连接通道时,所述数据连接通道的引用计数加1;
当有与所述数据连接通道对应的应用退出时,所述数据连接通道的引用计数减1;
当所述数据连接通道的引用计数为0且所述数据连接通道的引用计数为0的状态超过预设的空闲持续时间时,中断所述数据连接通道,释放与所述数据连接通道对应的系统资源,解除与所述蓝牙从设备的通信连接。
进一步的,所述方法还包括:
当蓝牙从设备处于不可连接状态时,中断与所述蓝牙从设备建立的数据连接通道;
显示第二提示信息,所述第二提示信息用于提示用户数据连接通道的状态。
进一步的,所述方法还包括:
当中断与所述蓝牙从设备的数据连接通道时,保存所述数据连接通道的引用计数信息以及连接持续时间信息;
当再次建立与所述蓝牙从设备的数据连接通道时,根据上一次保存的所述数据连接通道的引用计数信息以及连接持续时间信息设置空闲持续时间。
进一步的,所述利用所述数据连接通道实现所述蓝牙主设备中的第一应用与所述第一蓝牙从设备间的数据通信包括:
接收所述第一蓝牙从设备通过所述数据连接通道发送的应用数据;
对所述应用数据进行解析,并将解析后的应用数据发送至蓝牙主设备中对应的应用。
进一步的,所述对所述应用数据进行解析包括:
确定与所述应用数据对应的数据连接通道,根据保存的数据连接通道与蓝牙从设备之间的对应关系确定与所述数据连接通道对应的蓝牙从设备;
获取与所述蓝牙从设备对应的预置的通信数据信息;所述预置的通信数据信息包括数据格式信息;
利用所述数据格式信息对所述应用数据进行解析将其转换成预设的数据类型。
进一步的,在接收所述第一蓝牙从设备通过所述数据连接通道发送的应用数据之后、在对所述应用数据进行解析之前,所述方法还包括:
利用预先保存的通信数据信息对所述应用数据进行长度校验和/或校验和校验;其中,所述通信数据信息包括校验信息;
当校验错误时,向所述第一蓝牙从设备发送数据重发请求;
当校验正确时,进入对所述应用数据进行解析的步骤。
进一步的,所述利用预先保存通信数据信息对所述应用数据进行校验和校验,具体包括:
利用校验信息计算校验和,将计算的校验和与预先保存的校验和值进行比较,如果相同,则确定校验正确;或者
从接收的应用数据中提取所述蓝牙从设备根据数据内容生成的校验和;
利用校验信息计算校验和,将计算的校验和与提取的校验和进行比较,如果相同,则确定校验正确。
进一步的,在接收蓝牙主设备中的第一应用发送的数据请求信息之后,所述方法还包括:
判断是否存在与所述数据请求对应的订阅信息;其中,所述订阅信息包括应用信息以及蓝牙从设备的设备信息;
如果不存在与所述数据请求对应的订阅信息,则保存与所述数据请求对应的订阅信息。
进一步的,所述将解析后的应用数据发送至蓝牙主设备中对应的应用包括:
利用预先保存的订阅信息,确定与所述第一蓝牙从设备对应的应用信息;
利用所述应用信息确定目标应用,并向确定的目标应用发送解析后的应用数据。
进一步的,所述方法还包括:
接收蓝牙主设备中的第二应用发送的数据请求信息,所述数据请求信息至少包括与所述数据请求对应的第一蓝牙从设备的设备信息;
根据所述数据请求中包含的第一蓝牙从设备的设备信息以及保存的数据连接通道与蓝牙从设备之间的对应关系判断是否存在与所述第一蓝牙从设备对应的数据连接通道;
当判断存在与所述第一蓝牙从设备对应的数据连接通道时,则利用所述数据连接通道实现所述蓝牙主设备中的第二应用与所述第一蓝牙从设备间的数据通信;
当判断不存在与所述第一蓝牙从设备对应的数据连接通道时,则与所述第一蓝牙从设备建立数据连接通道,并保存建立的所述数据连接通道与所述第一蓝牙从设备之间的对应关系。
根据本发明实施例的第二方面,公开了一种蓝牙设备通信装置,所述装置包括:
接收模块,用于接收蓝牙主设备中的第一应用发送的数据请求信息,所述数据请求信息至少包括与所述数据请求对应的第一蓝牙从设备的设备信息;
第一判断模块,用于根据所述数据请求中包含的第一蓝牙从设备的设备信息以及保存的数据连接通道与蓝牙从设备之间的对应关系判断是否存在与所述第一蓝牙从设备对应的数据连接通道;
数据通信模块,用于当判断存在与所述第一蓝牙从设备对应的数据连接通道时,则利用所述数据连接通道实现所述蓝牙主设备中的第一应用与所述第一蓝牙从设备间的数据通信;
通信连接建立模块,用于当判断不存在与所述第一蓝牙从设备对应的数据连接通道时,则与所述第一蓝牙从设备建立数据连接通道;
通信连接管理模块,用于保存建立的所述数据连接通道与所述第一蓝牙从设备之间的对应关系
本发明实施例能够达到的有益效果为:本发明提供的方法,在接收到蓝牙主设备中的第一应用发送的数据请求信息之后,根据所述数据请求中包含的第一蓝牙从设备的设备信息以及保存的数据连接通道与蓝牙从设备之间的对应关系判断是否存在与所述第一蓝牙从设备对应的数据连接通道;当判断存在与所述第一蓝牙从设备对应的数据连接通道时,则利用所述数据连接通道实现所述蓝牙主设备中的第一应用与所述第一蓝牙从设备间的数据通信;当判断不存在与所述第一蓝牙从设备对应的数据连接通道时,则与所述第一蓝牙从设备建立数据连接通道,并保存建立的所述数据连接通道与所述第一蓝牙从设备之间的对应关系。
由于本发明中建立数据连接通道后即保存数据连接通道与蓝牙从设备的对应关系,当请求的数据对象对应的蓝牙从设备存在对应的数据连接通道时,则直接利用所述数据连接通道传输应用数据,而无需重新建立数据连接通道,有效提高了通信效率。
此外,由于数据连接通道与蓝牙从设备具有一一对应关系,当多个应用对应的目标设备为同一蓝牙从设备时,所述数据连接通道可以被多个应用同时使用,有效提高了数据连接通道的利用率,节省了通信资源,提高了通信效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的蓝牙设备通信方法第一实施例示意图;
图2为本发明提供的蓝牙设备通信方法第二实施例示意图;
图3为本发明提供的蓝牙设备通信方法第三实施例示意图;
图4为本发明实施例提供的蓝牙连接管理示意图;
图5为本发明实施例提供的数据解析过程示意图;
图6为本发明实施例提供的数据分发过程示意图;
图7为本发明提供的蓝牙设备通信装置示意图;
图8为本发明应用场景示意图。
具体实施方式
本发明实施例提供了一种蓝牙设备通信方法和装置,可以有效提高蓝牙设备间通信的效率,简化操作、易于实现。
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
参见图1,为本发明提供的蓝牙设备通信方法第一实施例示意图。
本发明实施例提供的方法可以应用于蓝牙设备通信装置,所述蓝牙设备通信装置可以应用于具有蓝牙功能的蓝牙设备中。在本发明实施例中,将蓝牙设备分为蓝牙主设备和蓝牙从设备,其中,蓝牙主设备为发起数据请求以及连接的设备,蓝牙从设备为接收数据请求的设备。蓝牙主设备可以具有多个应用。
S101,接收蓝牙主设备中的第一应用发送的数据请求信息,所述数据请求信息至少包括与所述数据请求对应的第一蓝牙从设备的设备信息。
当蓝牙从设备中的应用需要请求连接蓝牙从设备以进行数据传输时,则发送数据请求信息。由蓝牙设备通信装置接收蓝牙主设备中的第一应用发送的数据请求信息。其中,所述数据请求信息至少包括与所述数据请求对应的第一蓝牙从设备的设备信息。具体实现时,数据请求信息可以包括蓝牙主设备的应用信息和蓝牙从设备的信息。其中,蓝牙主设备的应用信息包括应用名称等。蓝牙从设备的信息可以包括设备名称、设备型号、设备提供商信息、设备标识、设备地址中的一种或多种。
S102,根据所述数据请求中包含的第一蓝牙从设备的设备信息以及保存的数据连接通道与蓝牙从设备之间的对应关系判断是否存在与所述第一蓝牙从设备对应的数据连接通道。
在本发明实施例具体实现时,预先保存了已经建立的数据连接通道的信息。具体地,保存了已经建立的数据连接通道与蓝牙从设备的对应关系。其中,数据连接通道与蓝牙从设备具有一一对应的关系。不同于现有技术中应用软件或应用程序与数据连接通道具有的一一对应关系,本发明实施例中,应用软件与数据连接通道可以是一对多或者多对一的关系。也就是说,当多个应用请求数据的对象是同一蓝牙从设备时,可以是多个应用软件使用同一数据连接通道与蓝牙从设备进行数据通信,即多个应用可以复用同一数据连接通道,而无需每个应用均建立一个数据传输通道,有效提高了通信效率。当然,本领域技术人员可以理解的是,本发明中,当一个应用请求数据的对象是多个不同的蓝牙从设备时,也可以为一个应用建立不同的数据连接通道以用于与不同的蓝牙从设备进行数据传输。而这些建立的数据连接通道还可以被其他应用复用。由此,本发明的方法由于保存了已经建立的数据连接通道与蓝牙从设备的对应关系,不同于现有技术只能支持单通道数据传输的方式,本发明可以实现蓝牙设备多通道数据传输与通信,有效提高了数据通信效率。
在接收到蓝牙主设备中的第一应用发送的数据请求信息后,即获取所述数据请求消息包含的蓝牙从设备信息,获取保存的数据连接通道与蓝牙从设备的对应关系,判断是否存在与所述蓝牙从设备对应的数据连接通道。
S103,当判断存在与所述第一蓝牙从设备对应的数据连接通道时,则利用所述数据连接通道实现所述蓝牙主设备中的第一应用与所述第一蓝牙从设备间的数据通信。
具体实现时,利用所述数据连接通道实现所述蓝牙主设备中的第一应用与所述第一蓝牙从设备间的数据通信具体通过以下步骤实现:
S103A,接收所述第一蓝牙从设备通过所述数据连接通道发送的应用数据。
S103B,对所述应用数据进行解析。
在现有技术中,由蓝牙从设备传输的应用数据由蓝牙主设备中的应用程序进行解析。这样,应用程序的代码需要依赖蓝牙从设备传输的应用数据的协议格式,不利于代码的复用。如果蓝牙从设备的型号或者应用数据格式发生变化时,蓝牙主设备的应用程序需要重新编写解析程序与代码来适应上述变化,增加了代码的维护成本,通用性不强。
在本发明实施例中,由蓝牙设备通信装置进行数据解析,然后将解析后的数据发送给蓝牙主设备中的对应应用。在一种可能的实现方式中,蓝牙设备通信装置设置流数据解析模块,利用流数据解析模块进行数据解析。这样,蓝牙主设备的应用程序无需关心数据解析过程,降低了应用程序代码的复杂度。具体实现时,蓝牙设备通信装置预先保存了通信数据信息。其中,通信数据信息是与蓝牙从设备信息对应的。通信数据信息包含数据格式信息用于进行应用数据解析。具体实现时,蓝牙设备之间传输的数据为二进制数据流,数据格式信息用于定义二进制数据流的格式,可以包括数据名称、数据类型、起始字节位、数据字节长度、数据重复次数等信息。
当蓝牙设备通信装置接收到蓝牙从设备传输的应用数据后,则确定与所述蓝牙从设备传输的数据对应的数据连接通道,根据保存的数据连接通道与蓝牙从设备的对应关系确定与所述数据连接通道对应的蓝牙从设备,即确定数据的来源。然后,再获取与所述蓝牙从设备对应的预置的通信数据信息,利用通信数据信息中包含的数据格式信息对应用数据进行解析将其转换成预设的数据类型。具体地,蓝牙设备通信装置根据通信数据信息中定义的数据格式,分解二进制流数据,然后把分解结果转换成数据格式中定义的用户(即应用)可识别的数据类型。当有多个二进制流同时请求解析时,本发明中的流数据解析模块会为每个请求启动一个工作线程完成应用数据解析操作。
S103C,将解析后的应用数据发送至蓝牙主设备中对应的应用。
在本发明实施例中,预先保存了订阅信息。其中,订阅信息与数据请求相对应,其包含了应用信息以及蓝牙从设备的设备信息。应用信息至少包含应用的名称。当首次接受到蓝牙主设备的应用发送的数据请求时,即保存订阅信息。
当蓝牙设备通信装置完成应用数据解析后,根据预先保存的订阅信息,查找与所述应用数据对应的蓝牙从设备的订阅信息,以确定所述信息被哪些应用订阅,即确定与所述蓝牙从设备对应的应用信息,然后利用应用信息确定目标应用,将解析后的应用数据发送给目标应用。这样,即实现了应用数据的分发,并可以实现多个通道的定向发布。
S104,当判断不存在与所述第一蓝牙从设备对应的数据连接通道时,则与所述第一蓝牙从设备建立数据连接通道,并保存建立的所述数据连接通道与所述第一蓝牙从设备之间的对应关系。
具体实现时,步骤S104具体可以包括:
S104A,当判断不存在与所述第一蓝牙从设备对应的数据连接通道时,判断是否已与所述第一蓝牙从设备进行配对操作,如果是,进入步骤S104G;如果否,进入步骤S104B。
S104B,当判断未与所述第一蓝牙从设备进行配对操作时,则根据所述第一蓝牙从设备的设备信息判断是否保存了与所述第一蓝牙从设备对应的通信数据信息。其中,通信数据信息至少包括配对密钥信息。如果是,进入步骤S104E;如果否,进入步骤S104C。
S104C,当判断未保存与所述第一蓝牙从设备对应的通信数据信息时,显示第一提示信息;其中,所述第一提示信息用于提示用户输入与所述第一蓝牙从设备对应的通信数据信息。
S104D,接收输入的通信数据信息,进入步骤S104E。
S104E,利用所述通信数据信息中包含的所述配对密钥信息向所述第一蓝牙从设备发送配对请求消息。
S104F,接收所述第一蓝牙从设备发送的配对响应消息。
S104G,向所述第一蓝牙从设备发送通信连接请求以与所述第一蓝牙从设备建立数据连接通道。
S104H,保存建立的所述数据连接通道与所述第一蓝牙从设备之间的对应关系。
由此,即建立了蓝牙从设备与蓝牙主设备之间的应用的数据连接通道。
进一步的,在本发明实施例的方法中,还进一步包括:保存已经建立的数据连接通道的引用计数,所述引用计数用于表明所述数据连接通道对应的应用的数量;当有新的应用使用所述数据连接通道时,所述数据连接通道的引用计数加1;当有与所述数据连接通道对应的应用退出时,所述数据连接通道的引用计数减1;当所述数据连接通道的引用计数为0且所述数据连接通道的引用计数为0的状态超过预设的空闲持续时间时,中断所述数据连接通道,释放与所述数据连接通道对应的系统资源,解除与所述蓝牙从设备的通信连接。
在本发明实施例中,所述方法进一步包括:当蓝牙从设备处于不可连接状态时,中断与所述蓝牙从设备建立的数据连接通道;显示第二提示信息,所述第二提示信息用于提示用户数据连接通道的状态。其中,蓝牙从设备处于不可连接状态包括:蓝牙从设备的蓝牙信号关闭、蓝牙从设备超出连接范围、蓝牙从设备处于非工作状态等。
在本发明实施例中,所述方法进一步包括:当中断与所述蓝牙从设备的数据连接通道时,保存所述数据连接通道的引用计数信息以及连接持续时间信息;当再次建立与所述蓝牙从设备的数据连接通道时,根据上一次保存的所述数据连接通道的引用计数信息以及连接持续时间信息设置空闲持续时间。这样,可以根据历史应用对连接的使用情况,动态调整空闲持续时间,以提供更合适的资源配置,为用户提供更好的体验。
在本发明第一实施例中,由于本发明中建立数据连接通道后即保存数据连接通道与蓝牙从设备的对应关系,当请求的数据对象对应的蓝牙从设备存在对应的数据连接通道时,则直接利用所述数据连接通道传输应用数据,而无需重新建立数据连接通道,有效提高了通信效率。此外,由于数据连接通道与蓝牙从设备具有一一对应关系,当多个应用对应的目标设备为同一蓝牙从设备时,所述数据连接通道可以被多个应用同时使用,有效提高了数据连接通道的利用率,节省了通信资源,提高了通信效率。
参见图2,为本发明提供的蓝牙设备通信方法第二实施例示意图。
图2所示实施例为基于图1所示实施例中的又一种实现。
在一种可能的实现方式中,本发明提供的方法进一步包括:
S201,接收蓝牙主设备中的第二应用发送的第二数据请求信息,所述第二数据请求信息至少包括与所述第二数据请求对应的第一蓝牙从设备的设备信息。
S202,根据所述第二数据请求中包含的第一蓝牙从设备的设备信息以及保存的数据连接通道与蓝牙从设备之间的对应关系判断是否存在与所述第一蓝牙从设备对应的数据连接通道。
S203,当判断存在与所述第一蓝牙从设备对应的数据连接通道时,则利用所述数据连接通道实现所述蓝牙主设备中的第二应用与所述第一蓝牙从设备间的数据通信。
S204,当判断不存在与所述第一蓝牙从设备对应的数据连接通道时,则与所述第一蓝牙从设备建立数据连接通道,并保存建立的所述数据连接通道与所述第一蓝牙从设备之间的对应关系。
步骤S201至S204的具体实现可以参照步骤S101至S104的实现进行,在此不再赘述。需要说明的是,在本发明一种实现方式中,步骤S101至S104的实现过程与步骤S201至S204的实现过程可以并行地进行,也可以先后地执行。即可以先执行步骤S101至S104,然后执行步骤S201至S204。具体的实现可以是非常灵活的。
在本发明第二实施例中,当多个应用的数据请求对象为同一蓝牙设备时,可以是多个应用软件使用同一数据连接通道与蓝牙从设备进行数据通信,即多个应用可以复用同一数据连接通道,而无需每个应用均建立一个数据传输通道,有效提高了通信效率。此外,当一个应用请求数据的对象是多个不同的蓝牙从设备时,也可以为一个应用建立不同的数据连接通道以用于与不同的蓝牙从设备进行数据传输。而这些建立的数据连接通道还可以被其他应用复用。再者,当不同的应用对应不同的蓝牙从设备时,还可以为不同的应用建立不同的数据连接通道以进行数据传输,从而实现了蓝牙设备之间的多通道数据通信与传输,实现了不同应用程序的数据的请求与分发。
图3为本发明提供的蓝牙设备通信方法第三实施例示意图。
下面图3,对本发明的具体实现进行详细地介绍。在这一实施例中,蓝牙主设备为发起数据请求、连接的设备,蓝牙从设备为接收数据请求的设备。蓝牙主设备可以具有多个应用。蓝牙通信装置与蓝牙主设备连接,蓝牙通信装置可以设置在蓝牙主设备中。当然,蓝牙通信装置也可以作为独立的装置与模块。
S301,蓝牙主设备的第一应用向蓝牙设备通信装置输入通信数据信息。
蓝牙主设备的应用需要在首次发送数据请求前,向蓝牙设备通信装置输入通信数据信息。当然,蓝牙从设备的应用也可以在首次发送数据请求时,在数据请求中携带通信数据信息,由蓝牙设备通信装置获取并保存所述通信数据信息。。
蓝牙主设备中的第一应用可以向蓝牙通信装置输入通信数据信息,通信数据信息可以包括蓝牙从设备的信息以及数据格式信息。通信数据信息可以保存在XML格式的文件中。其中,蓝牙从设备的信息可以包括设备名称、设备型号、设备提供商信息、设备标识、设备地址、配对密钥信息中的一种或多种。数据格式信息与蓝牙从设备信息对应的,用于进行数据解析。具体实现时,蓝牙设备之间传输的应用数据为二进制数据流,数据格式信息用于定义二进制数据流的格式,可以包括数据名称、数据类型、起始字节位、数据字节长度、数据重复次数等信息。
在本发明实施例中,提供了原语定义与通信数据的格式。其中,原语是一组XML节点元素和属性,主要用来定义蓝牙数据连接通道中二进制流数据的格式和配对密钥等。下面以一个具体的实例进行说明。
在本发明实施例的一种实现方式中,主要的节点元素和属性如下:
(1)设备信息
使用<device name=””model=””vendor=””/>来定义蓝牙设备的基本信息,一个定义文件中只能包含一个该元素。name用于指定蓝牙设备的名称;model用于指定蓝牙设备的型号;vendor用于指定蓝牙设备的提供商。name、model和vendor三个属性唯一标识一种设备,在定义格式文件时,需要给这三个属性设定属性值。
(2)配对密钥
其中,使用<pin device=””password=””/>定义从属蓝牙设备的配对密钥,一个定义文件中包含一个该元素,device用于指定蓝牙从设备名称,password用于指定配对秘钥。
(3)数据格式信息
使用<data code=””name=””position=””length=””type=””repeat=””/>定义蓝牙数据连接通道中二进制流数据的格式,一个定义文件中可以包含一个或多个该元素。code用于指定本地数据字典中该项数据的数据编码;name用于指定数据名称;position用于指定该项数据在二进制流中的起始位置;length用于指定一个数据值所占字节数;type用于指定数据值的类型;repeat用于指定该项数据从起始位置开始的重复次数。
(4)校验数据信息
使用<check type=””length=””checksum=””/>指定二进制流数据的校验方法,一个定义文件中可以包含0或1个该元素。type用于指定校验方法其中,如果校验类型为LENGTH表明进行长度校验;如果校验类型为SUM表明进行和校验;如果校验类型为LENGTH|SUM,则同时进行长度校验以及和校验。length用于指定正确的数据流长度;checksum用于指定数据流的校验和值。
在进行通信数据信息(Data Profile)的输入时,蓝牙主设备的应用程序可以使用上述原语来定义二进制数据流的格式,并把它们保存到一个XML格式的文件中,然后把该文件注册到本发明所实现的中间件蓝牙设备通信装置(BT-MCAM)中,蓝牙设备通信装置BT-MCAM的通信数据信息管理模块DPM(Data Profile Manager)模块会提供相应的接口API和工具,来支持通信数据信息Data profile的编程注入和工具注入,并持久保存在蓝牙设备通信装置BT-MCAM中。为了避免输入相同的通信数据信息(Data Profile),在通信数据信息Data Profile被注入到蓝牙设备通信装置BT-MCAM中之前,通信数据信息管理模块DPM(Data Profile Manager)会首先把待输入的通信数据信息Data Profile对应的XML文件转换成数据对象Data Profile Object(DPO),然后会把该DPO与蓝牙设备通信装置中已存在的DPO进行比较,如果有相同的存在,则提示用户系统已经支持该设备,不需要重复注入DataProfile。如果没有相同的DPO对象存在,那么通信数据信息管理模块DPM会把该DPO对象持久化保存到蓝牙设备通信装置BT-MCAM中。
S302,蓝牙主设备的第一应用发送数据请求信息。
其中,蓝牙主设备的第一应用发送的数据请求信息又可以称为数据订阅请求。在本发明具体实施例中,为应用提供了监听器接口IPostboxListener,应用可以通过指定监听器接口获取经过蓝牙设备通信装置解析处理、由蓝牙从设备发送的应用数据,还可以获取蓝牙数据连接通道的连接状态。当蓝牙主设备的应用需要发送数据订阅请求是,则可以调用本发明蓝牙设备通信装置提供的数据订阅模块(Register Subscription),在数据订阅请求中订阅者信息(即蓝牙主设备的应用的名称)、订阅对象(蓝牙从设备的信息,例如可以包括设备名称、设备型号、设备提供商信息、设备标识、设备地址等)、指定的订阅监听器信息、订阅模式信息(包括临时订阅和持久订阅)。
S303,蓝牙设备通信装置接收数据请求信息,判断是否存在与所述数据请求对应的订阅信息。如果存在,进入步骤305;如果不存在,进入步骤S304。
S304,蓝牙设备通信装置保存与所述数据请求对应的订阅信息。
在具体实现时,如果不存在与所述数据请求对应的订阅信息,则蓝牙设备通信装置需要保存与所述数据请求对应的订阅信息,按照订阅模式,把订阅者信息、订阅监听器信息保存至对应的订阅列表中。对应临时订阅模式和持久订阅模式,订阅列表可以分为临时订阅列表和持久订阅列表。
在一种可能的实现方式中,在判断不存在与所述数据请求对应的订阅信息时,所述方法还可以包括:判断是否存在与订阅对象(即蓝牙从设备)对应的通信数据信息Data Profile,如果存在,则保存与所述数据请求对应的订阅信息。如果不存在,则显示提示信息,用于提示用户输入与所述第一蓝牙从设备对应的通信数据信息。
S305,蓝牙设备通信装置判断是否存在与数据请求对应的蓝牙从设备对应的数据连接通道。如果存在,进入步骤S312;如果不存在,进入步骤S306。
在现有技术中,蓝牙通信的数据连接通道会随着应用的退出而关闭,当应用程序重新启动时,则需要重新建立连接,不利用应用程序的执行效率,而且降低了系统资源的复用程度。而在本发明提供的方法中,在接收到应用程序的数据请求后,会根据蓝牙设备通信装置的连接池中保存的数据连接通道与蓝牙从设备的对应关系判断是否存在与所述请求对应的连接通道存在,如果存在,则利用所述连接通道传输数据,并增加该连接通道的引用计数。此外,还可以调用订阅监听器接口中的onstatuschange()方法,提示用户蓝牙连接已存在。如果不存在,进入步骤S306。
S306,蓝牙设备通信装置判断是否已与蓝牙设备进行配对操作,如果是,进入步骤S309;如果否,进入步骤S307。
S307,蓝牙设备通信装置向蓝牙从设备发送配对请求消息。
当判断未与所述第一蓝牙从设备进行配对操作时,则根据所述第一蓝牙从设备的设备信息判断是否保存了与所述第一蓝牙从设备对应的通信数据信息;所述通信数据信息至少包括配对密钥信息。
当判断保存了与所述第一蓝牙从设备对应的通信数据信息时,利用所述通信数据信息中包含的所述配对密钥信息向所述第一蓝牙从设备发送配对请求消息。
当判断未保存与所述第一蓝牙从设备对应的通信数据信息时,显示第一提示信息;其中,所述第一提示信息用于提示用户输入与所述第一蓝牙从设备对应的通信数据信息。而后,当接收到输入的通信数据信息且判断通信数据信息完整时,则向蓝牙从设备发送配对密钥的配对请求信息。
S308,蓝牙从设备向蓝牙设备通信装置发送配对响应消息。具体地,蓝牙从设备验证配对密钥,如果匹配,则向蓝牙设备通信装置发送配对响应消息。
S309,蓝牙设备通信装置接收所述第一蓝牙从设备发送的配对响应消息,向所述第一蓝牙从设备发送通信连接请求以与所述第一蓝牙从设备建立数据连接通道。
S310,蓝牙从设备反馈通信连接响应消息。
在本发明这一实施例中,不同于现有技术中在蓝牙设备配对与连接过程中需要过多的人工干预和操作繁琐的方法,根据预先保存的通信数据信息中的配对密钥自动完成蓝牙设备的发现、配对与连接,无需用户人工干预、操作简便。此外,当蓝牙设备通信装置被卸载时,通过蓝牙设备通信装置自动配对的蓝牙从设备会被自动取消配对,保存了蓝牙应用与配对设备的一致性。
S311,蓝牙设备通信装置保存与所述数据连接通道对应的信息,至少包括所述数据连接通道与蓝牙从设备的对应关系。
在本发明实施例中,蓝牙设备通信装置使用连接池保存与所述数据连接通道对应的信息。其中,连接池中连接对象连接的是同一数据目标(对应同一蓝牙从设备)。在蓝牙连接池中,通过结构化的处理,不同的连接对象连接的是不同的蓝牙设备,并能够准确的标识出设备的身份。请参见图4所示,为蓝牙连接池示意图。图中,key1代表蓝牙从设备1,BT Device1代表蓝牙主设备1;key2代表蓝牙从设备2,BT Device2代表蓝牙主设备2。通过蓝牙连接的池化管理,可以有效的降低应用程序连接蓝牙设备的步骤,提高蓝牙连接的持续性和稳定性,同时解除了蓝牙连接于具体应用的耦合性,为该连接的应用数据能够同时服务于多个应用程序奠定了基础条件。
具体实现时,保存在蓝牙设备通信装置BT-MCAM中间件蓝牙连接池(BTCP)中的蓝牙连接通道信息,同时还会保存以下信息:
(1)引用计数信息:即当前使用该数据连接通道的应用程序的数量。其中,当有新的应用使用所述数据连接通道时,所述数据连接通道的引用计数加1;当有与所述数据连接通道对应的应用退出时,所述数据连接通道的引用计数减1;当所述数据连接通道的引用计数为0且所述数据连接通道的引用计数为0的状态超过预设的空闲持续时间时,中断所述数据连接通道,释放与所述数据连接通道对应的系统资源,解除与所述蓝牙从设备的通信连接。
(2)连接持续时间:即该连接从建立到当前持续保持的时间差。
(3)引用计数合计:即在连接持续期间,共有多少次对该连接的引用,包括已经退出的应用程序。
需要说明的是,蓝牙设备通信装置BT-MCAM中间件不会主动创建蓝牙连接,但会根据上述记录的信息,自动延长空闲蓝牙连接(引用计数为0)的保持时间。
在蓝牙设备通信装置BT-MCAM中间件中蓝牙连接中断分为两种:
(1)主动中断:所谓主动中断,就是指中断蓝牙连接的指令是由蓝牙设备通信装置BT-MCAM中间件发出的。当数据连接通道的引用计数为0且所述数据连接通道的引用计数为0的状态超过预设的空闲持续时间时,中断所述数据连接通道,释放与所述数据连接通道对应的系统资源,解除与所述蓝牙从设备的通信连接。也就是说,这种中断的情形只会在蓝牙连接的引用计数为0,且连接保持超时时发生,并且不会向应用层发出任何提示。
(2)被动中断:所谓被动中断,当蓝牙从设备处于不可连接状态时,中断与所述蓝牙从设备建立的数据连接通道。蓝牙从设备处于不可连接状态包括:蓝牙从设备的蓝牙信号关闭、蓝牙从设备超出连接范围、蓝牙从设备处于非工作状态等。这时,显示第二提示信息,所述第二提示信息用于提示用户数据连接通道的状态。也就是说,这种中断主要是由从属蓝牙设备的蓝牙信号关闭、超出连接范围等因素引起的连接中断。这种中断会向应用层发出中断提示,提醒用户是否需要重建连接。
当中断与所述蓝牙从设备的数据连接通道时,保存所述数据连接通道的引用计数信息以及连接持续时间信息;当再次建立与所述蓝牙从设备的数据连接通道时,根据上一次保存的所述数据连接通道的引用计数信息以及连接持续时间信息设置空闲持续时间。也就是说,蓝牙连接中断后,保存在连接池中的连接对象会被自动的释放,同时记录该连接保持期间相关的计数信息,蓝牙设备通信装置BT-MCAM中间件会根据这些信息在重建连接时,自动的设置空闲持续时间。
S312,增加数据连接通道的引用计数。
S313,蓝牙从设备发送应用数据。
S314,蓝牙设备通信装置接收蓝牙从设备发送的应用数据,蓝牙设备通信装置对应用数据进行校验、缓存、解析操作。
流数据在无线传输过程中,经常会由于设备和干扰原因,导致数据的失真。同时在无线通道中传输的流数据,具有很强的实时性,且通信通道不具备临时缓存数据的特性。本发明中的蓝牙设备通信装置BT-MCAM提供了数据校验与缓存的方法。
蓝牙设备通信装置BT-MCAM会根据通信数据信息Data Profile中的校验数据信息<check>元素的定义来执行以下三种可能的数据校验:
(1)长度校验:<check>元素中的type属性值设定为LENGTH时,中间件中的DC模块会执行该类型校验,它主要检查流数据的长度与<check>元素中length属性所指定的长度值是否匹配。
(2)校验和校验:<check>元素中的type属性值设定为SUM时,中间件中的DC模块会执行该类型校验,它分为静态校验和动态校验。静态校验首先会根据Data Profile中的数据定义来计算校验和,然后再检查该计算结果与<check>元素中checksum属性所指定的值是否匹配。动态校验的方法是,从属蓝牙设备在发送数据时,根据数据内容,动态的生成校验和,并附在数据流中指定的位置,蓝牙主机端接收的数据后,先提取校验和Checksum_A,然后计算流数据的实际的校验和(Checksum_B),最后检查Checksum_A和Checksum_B是否匹配。
(3)长度和校验和校验:<check>元素中的type属性值设定为LENGTH|SUM时,同时执行(1)和(2)的数据校验。
对于校验失真的应用数据,则抛弃该数据,如果从属设备支持数据重发机制,则请求设备重新发送应用数据,否则向应用层发出数据错误的提示信息。对于通过校验的应用数据,则会把应用数据放入缓存中,并向蓝牙设备通信装置BT-MCAM中间件中的流数据解析模块(SDP---Stream Data Parser)发送应用数据解析请求。
如果通信数据信息Data Profile中没有设置校验信息(<check>元素),那么流数据会直接放入缓存中,并发送数据解析请求。
在本发明实施例中,蓝牙设备通信装置具有数据缓存模块,数据缓存模块(Data Cache---DC)模块会根据通信数据信息Data Profile中的定义来确定缓存数据条数,默认情况下只缓存当前最新的应用数据。当有新应用数据进入缓存时,最旧的缓存数据会被抛弃。
对于空闲连接(引用计数为0的连接)的应用数据,会按照上述规则保存到缓存中,并会根据Data Profile中设定的时间来确定缓存中应用数据的保存时间,对于超时的应用数据,数据缓存DC模块会执行数据清除处理。如果空闲连接被中断,那么该连接所对应的缓存及数据都会被释放。
下面对应用数据解析过程进行说明。蓝牙各数据连接通道中的应用数据是以二进制流的形式存在的,如果只是简单把它们转发给应用层,那么应用层会无法识别这些数据。因此在蓝牙设备通信装置BT-MCAM提供了数据解析模块(Stream Data Parser---SDP)来进行数据的解析。
为了解决二进制流数据解析的硬编码,以及蓝牙多通道实时数据的解析问题,BT-MCAM中间件提供了自适应流数据解析模块(Stream DataParser---SDP),其解析过程如图5所示。
流数据解析模块(SDP)的工作原理如下:根据输入二进制流数据的通信通道(即数据连接通道),确定其对应的通信数据信息(Data Profile);根据Data Profile中定义的数据格式,分解二进制流;把分解结果转换成Data Profile中定义的对应的用户可识别的数据类型;当有多个二进制流同时请求解析时,SDP会为每个请求启动一个工作线程来完成数据解析工作。
本发明实施例中,流数据解析模块(SDP)工作时,不会依赖具体的二进制数据流的数据格式,但会依赖通信数据信息Data Profile的定义,因此把数据解析过程中对具体数据格式的依赖转化成对Data Profile中的原语的依赖,这样在数据协议发生变化时,就不需要修改解析代码,只修改对应的通信数据信息Data Profile就可以了。同样在追加新的蓝牙设备时,也不需要编写任何代码,只需向蓝牙设备通信装置BT-MCAM中输入与新的蓝牙设备对应的通信数据信息Data Profile即可。
S315,蓝牙设备通信装置根据预先保存的订阅信息将应用数据分发至对应的蓝牙主设备中相应的应用。
在本发明实施例中,蓝牙设备通信装置BT-MCAM设置数据分发模块(DataSubscribe Distributor---DSD)模块使用数据代理订阅机制实现数据的定向推送。数据的分发方法如图6所示。
具体实现时,多通道实时并发流数据经过流数据解析模块(SDP)解析后,应用数据会被推送到数据分发模块(Data Subscribe Distributor---DSD),数据分发模块会创建相应的工作线程,并查阅本地的数据订阅列表,把应用数据定向发送给订阅者。数据分发模块支持两种性质的数据订阅:临时订阅:这种方式,只会把订阅者信息保存在内存中,并随着订阅者的消亡而消亡。持久化订阅:这种方式会把订阅者信息持久的保存在磁盘中。数据分发模块不但会持久化数据订阅者的信息,而且会根据蓝牙主机上应用程序的卸载信息,自动维护持久化订阅者信息,对于已经不存在的订阅者,会自动的实施清除。
对于没有被应用App订阅的应用数据,数据分发模块(DSD)会自动抛弃该应用数据。例如上图中的Data3,如果没有任何应用程序订阅它,那么DSD就会把它抛弃。这种方法有效的实现了多通道实时并发数据的定向发布,同时降低了应用App端获取多通道数据并发数据时的复杂度。应用App端只需向DSD发布订阅请求即可。
S316,蓝牙主设备的相应应用接收到应用数据后,展现应用数据。
S317,蓝牙主设备发送取消数据订阅请求。
S318,蓝牙设备通信装置发送中断连接请求以中断与蓝牙从设备之间的连接。
图7为本发明提供的蓝牙设备通信装置示意图。
一种蓝牙设备通信装置,所述装置包括:
接收模块701,用于接收蓝牙主设备中的第一应用发送的数据请求信息,所述数据请求信息至少包括与所述数据请求对应的第一蓝牙从设备的设备信息;
第一判断模块702,用于根据所述数据请求中包含的第一蓝牙从设备的设备信息以及保存的数据连接通道与蓝牙从设备之间的对应关系判断是否存在与所述第一蓝牙从设备对应的数据连接通道;
数据通信模块703,用于当判断存在与所述第一蓝牙从设备对应的数据连接通道时,则利用所述数据连接通道实现所述蓝牙主设备中的第一应用与所述第一蓝牙从设备间的数据通信;
通信连接建立模块704,用于当判断不存在与所述第一蓝牙从设备对应的数据连接通道时,则与所述第一蓝牙从设备建立数据连接通道;
通信连接管理模块705,用于保存建立的所述数据连接通道与所述第一蓝牙从设备之间的对应关系。
进一步的,通信连接建立模块包括:
第二判断模块,用于判断是否已与所述第一蓝牙从设备进行配对操作;
通信连接请求发送模块,用于当判断已与所述第一蓝牙从设备进行配对操作时,向所述第一蓝牙从设备发送通信连接请求以与所述第一蓝牙从设备建立数据连接通道。
进一步的,所通信连接建立模块还包括:
第三判断模块,用于当判断未与所述第一蓝牙从设备进行配对操作时,则根据所述第一蓝牙从设备的设备信息判断是否保存了与所述第一蓝牙从设备对应的通信数据信息;所述通信数据信息至少包括配对密钥信息;
配对请求发送模块,用于当判断保存了与所述第一蓝牙从设备对应的通信数据信息时,利用所述通信数据信息中包含的所述配对密钥信息向所述第一蓝牙从设备发送配对请求消息;
通信连接请求发送模块还用于当接收到所述第一蓝牙从设备发送的配对响应消息时,向所述第一蓝牙从设备发送通信连接请求以与所述第一蓝牙从设备建立数据连接通道。
进一步的,所述装置还包括:
第一提示模块,用于当判断未保存与所述第一蓝牙从设备对应的通信数据信息时,显示第一提示信息;其中,所述第一提示信息用于提示用户输入与所述第一蓝牙从设备对应的通信数据信息。
进一步的,所述通信连接管理模块还用于保存所述数据连接通道的引用计数,所述引用计数用于表明所述数据连接通道对应的应用的数量;当有新的应用使用所述数据连接通道时,所述数据连接通道的引用计数加1;当有与所述数据连接通道对应的应用退出时,所述数据连接通道的引用计数减1;当所述数据连接通道的引用计数为0且所述数据连接通道的引用计数为0的状态超过预设的空闲持续时间时,中断所述数据连接通道,释放与所述数据连接通道对应的系统资源,解除与所述蓝牙从设备的通信连接。
进一步的,所述装置还包括:
中断连接模块,用于当蓝牙从设备处于不可连接状态时,中断与所述蓝牙从设备建立的数据连接通道;
第二提示模块,用于当当蓝牙从设备处于不可连接状态时、中断与所述蓝牙从设备建立的数据连接通道时,显示第二提示信息,所述第二提示信息用于提示用户数据连接通道的状态。
进一步的,所述通信连接管理模块还用于当中断与所述蓝牙从设备的数据连接通道时,保存所述数据连接通道的引用计数信息以及连接持续时间信息;当再次建立与所述蓝牙从设备的数据连接通道时,根据上一次保存的所述数据连接通道的引用计数信息以及连接持续时间信息设置空闲持续时间。
数据通信模块包括:
第二接收模块,用于接收所述第一蓝牙从设备通过所述数据连接通道发送的应用数据;
数据解析模块,用于对所述应用数据进行解析;
数据分发模块,用于将解析后的应用数据发送至蓝牙主设备中对应的应用。
进一步的,数据解析模块包括:
确定模块,用于确定与所述应用数据对应的数据连接通道,根据保存的数据连接通道与蓝牙从设备之间的对应关系确定与所述数据连接通道对应的蓝牙从设备;
获取模块,用于获取与所述蓝牙从设备对应的预置的通信数据信息;所述预置的通信数据信息包括数据格式信息;
转换模块,用于利用所述数据格式信息对所述应用数据进行解析将其转换成预设的数据类型。
进一步的,所述装置还包括:
校验模块,用于在接收所述第一蓝牙从设备通过所述数据连接通道发送的应用数据之后、在对所述应用数据进行解析之前,利用预先保存的通信数据信息对所述应用数据进行长度校验和/或校验和校验;其中,所述通信数据信息包括校验信息。
进一步的,所述装置还包括:
数据重复请求模块,用于当校验错误时,向所述第一蓝牙从设备发送数据重发请求。
进一步的,所述校验模块具体用于利用校验信息计算校验和,将计算的校验和与预先保存的校验和值进行比较,如果相同,则确定校验正确;或者,从接收的应用数据中提取所述蓝牙从设备根据数据内容生成的校验和;利用校验信息计算校验和,将计算的校验和与提取的校验和进行比较,如果相同,则确定校验正确。
进一步的,所述装置还包括:
第四判断模块,用于在接收蓝牙主设备中的第一应用发送的数据请求信息之后,判断是否存在与所述数据请求对应的订阅信息;其中,所述订阅信息包括应用信息以及蓝牙从设备的设备信息;
数据分发模块还用于如果不存在与所述数据请求对应的订阅信息,则保存与所述数据请求对应的订阅信息。
进一步的,所述数据分发模块还用于利用预先保存的订阅信息,确定与所述第一蓝牙从设备对应的应用信息;利用所述应用信息确定目标应用,并向确定的目标应用发送解析后的应用数据。
进一步的,所述第一接收模块还用于接收蓝牙主设备中的第二应用发送的数据请求信息,所述数据请求信息至少包括与所述数据请求对应的第一蓝牙从设备的设备信息。
图8为本发明提供的应用场景示意图。
如图8所示,本发明提供的蓝牙设备通信装置可以实现蓝牙多通道的数据实时传输、解析和分发。其中,Bluetooth Host为蓝牙主设备,其包含了多个应用BTAPP1、BTAPP2、BTAPP3、BTAPP4、BTAPP5……BluetoothMulti-Chnanel Application Middleware为本发明提供的蓝牙设备通信装置(BT-MCAM),其包含的模块可以包括:数据分发模块(Data SubcribeDistributor,DSD)、数据解析模块(Stream Data Parser,SDP)、通信数据信息管理模块(Data Profile Manager,DBM)、数据缓存模块(Data Cache,DC)、通信连接管理模块(Bluetooth Connect Pool,BTCP)、以及数据通信模块。其中,BT Device1为第一蓝牙从设备,BT Device2为第二蓝牙从设备,BTDevice3为第三遍蓝牙从设备,BT Device4为第四蓝牙从设备,BT Device5为第五蓝牙从设备……由此,本发明提供的蓝牙设备通信装置可以实现蓝牙主设备中的多个应用与多个的蓝牙从设备间的数据通信与传输。
从图示所述应用场景可以看出,本发明提供的蓝牙设备通信方法和装置具有如下优点:
(1)本发明提供的方法和装置把蓝牙多通道实时通信数据的处理过程进行整合和优化,通过多通道实时流数据的读取、适配、校验、缓存、解析、分发等处理,实现了蓝牙多通道实时数据的统一处理,同时支持并发的数据通信处理。
(2)在本发明中,保存了蓝牙数据连接通道与蓝牙从设备的对应关系,当存在与蓝牙从设备对应的连接时,则无需重复建立连接。因此,有效的隐藏了不必要的蓝牙设备间建立连接通道的步骤,简化了用户操作,改善了用户体验。同时,通过连接池的管理,也为多通道蓝牙连接提供了稳定性、持续性的保障。
(3)本发明中,蓝牙设备通信装置通过记录其蓝牙连接池中相关连接的引用计数、持续时长、引用计数合计等信息,来计算相关连接(对应数据连接通道)的使用频率,对于使用频率较高的连接,动态的调整连接处于空闲状态时,连接保持的时长(即数据连接通道的空闲持续时间)。由此,有效提高了资源的复用率、提高了通信的效率。
(4)本发明实施例中,通过数据原语的定义和格式注入,自适应解析多通道实时并发二进制流数据。在本发明中,通过预先保存通信数据信息,通过数据解析模块识别并获取与接收的数据对应的数据格式信息,然后通过数据格式信息对二进制流进行数据分解,并转化成对应的、用户可阅读的数据。由此,有效解决了现有技术应用程序的代码需要依赖蓝牙从设备传输的应用数据的协议格式,不利于代码的复用的问题。
(5)本发明实施例中,实现了数据的定向发送,可以支持同一数据发送给不同的应用程序,也可以实现同一应用获取来自多个不同蓝牙从设备的数据。
(6)本发明实施例中,提供对数据完整性、正确性的校验,从而进一步保证了应用层所获取到的数据的正确性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种蓝牙设备通信方法,其特征在于,所述方法包括:
接收蓝牙主设备中的第一应用发送的数据请求信息,所述数据请求信息至少包括与所述数据请求对应的第一蓝牙从设备的设备信息;
根据所述数据请求中包含的第一蓝牙从设备的设备信息以及保存的数据连接通道与蓝牙从设备之间的对应关系判断是否存在与所述第一蓝牙从设备对应的数据连接通道;
当判断存在与所述第一蓝牙从设备对应的数据连接通道时,则利用所述数据连接通道实现所述蓝牙主设备中的第一应用与所述第一蓝牙从设备间的数据通信;
当判断不存在与所述第一蓝牙从设备对应的数据连接通道时,则与所述第一蓝牙从设备建立数据连接通道,并保存建立的所述数据连接通道与所述第一蓝牙从设备之间的对应关系。
2.根据权利要求1所述的方法,其特征在于,所述与所述第一蓝牙从设备建立数据连接通道包括:
判断是否已与所述第一蓝牙从设备进行配对操作;
当判断已与所述第一蓝牙从设备进行配对操作时,向所述第一蓝牙从设备发送通信连接请求以与所述第一蓝牙从设备建立数据连接通道。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当判断未与所述第一蓝牙从设备进行配对操作时,则根据所述第一蓝牙从设备的设备信息判断是否保存了与所述第一蓝牙从设备对应的通信数据信息;所述通信数据信息至少包括配对密钥信息;
当判断保存了与所述第一蓝牙从设备对应的通信数据信息时,利用所述通信数据信息中包含的所述配对密钥信息向所述第一蓝牙从设备发送配对请求消息;
当接收到所述第一蓝牙从设备发送的配对响应消息时,向所述第一蓝牙从设备发送通信连接请求以与所述第一蓝牙从设备建立数据连接通道。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当判断未保存与所述第一蓝牙从设备对应的通信数据信息时,显示第一提示信息;其中,所述第一提示信息用于提示用户输入与所述第一蓝牙从设备对应的通信数据信息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
保存所述数据连接通道的引用计数,所述引用计数用于表明所述数据连接通道对应的应用的数量;
当有新的应用使用所述数据连接通道时,所述数据连接通道的引用计数加1;
当有与所述数据连接通道对应的应用退出时,所述数据连接通道的引用计数减1;
当所述数据连接通道的引用计数为0且所述数据连接通道的引用计数为0的状态超过预设的空闲持续时间时,中断所述数据连接通道,释放与所述数据连接通道对应的系统资源,解除与所述蓝牙从设备的通信连接。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当蓝牙从设备处于不可连接状态时,中断与所述蓝牙从设备建立的数据连接通道;
显示第二提示信息,所述第二提示信息用于提示用户数据连接通道的状态。
7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
当中断与所述蓝牙从设备的数据连接通道时,保存所述数据连接通道的引用计数信息以及连接持续时间信息;
当再次建立与所述蓝牙从设备的数据连接通道时,根据上一次保存的所述数据连接通道的引用计数信息以及连接持续时间信息设置空闲持续时间。
8.根据权利要求1所述的方法,其特征在于,所述利用所述数据连接通道实现所述蓝牙主设备中的第一应用与所述第一蓝牙从设备间的数据通信包括:
接收所述第一蓝牙从设备通过所述数据连接通道发送的应用数据;
对所述应用数据进行解析,并将解析后的应用数据发送至蓝牙主设备中对应的应用。
9.根据权利要求8所述的方法,其特征在于,所述对所述应用数据进行解析包括:
确定与所述应用数据对应的数据连接通道,根据保存的数据连接通道与蓝牙从设备之间的对应关系确定与所述数据连接通道对应的蓝牙从设备;
获取与所述蓝牙从设备对应的预置的通信数据信息;所述预置的通信数据信息包括数据格式信息;
利用所述数据格式信息对所述应用数据进行解析将其转换成预设的数据类型。
10.根据权利要求8所述的方法,其特征在于,在接收所述第一蓝牙从设备通过所述数据连接通道发送的应用数据之后、在对所述应用数据进行解析之前,所述方法还包括:
利用预先保存的通信数据信息对所述应用数据进行长度校验和/或校验和校验;其中,所述通信数据信息包括校验信息;
当校验错误时,向所述第一蓝牙从设备发送数据重发请求;
当校验正确时,进入对所述应用数据进行解析的步骤。
11.根据权利要求10所述的方法,其特征在于,所述利用预先保存通信数据信息对所述应用数据进行校验和校验,具体包括:
利用校验信息计算校验和,将计算的校验和与预先保存的校验和值进行比较,如果相同,则确定校验正确;或者
从接收的应用数据中提取所述蓝牙从设备根据数据内容生成的校验和;
利用校验信息计算校验和,将计算的校验和与提取的校验和进行比较,如果相同,则确定校验正确。
12.根据权利要求8所述的方法,其特征在于,在接收蓝牙主设备中的第一应用发送的数据请求信息之后,所述方法还包括:
判断是否存在与所述数据请求对应的订阅信息;其中,所述订阅信息包括应用信息以及蓝牙从设备的设备信息;
如果不存在与所述数据请求对应的订阅信息,则保存与所述数据请求对应的订阅信息。
13.根据权利要求8或12所述的方法,其特征在于,所述将解析后的应用数据发送至蓝牙主设备中对应的应用包括:
利用预先保存的订阅信息,确定与所述第一蓝牙从设备对应的应用信息;
利用所述应用信息确定目标应用,并向确定的目标应用发送解析后的应用数据。
14.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收蓝牙主设备中的第二应用发送的数据请求信息,所述数据请求信息至少包括与所述数据请求对应的第一蓝牙从设备的设备信息;
根据所述数据请求中包含的第一蓝牙从设备的设备信息以及保存的数据连接通道与蓝牙从设备之间的对应关系判断是否存在与所述第一蓝牙从设备对应的数据连接通道;
当判断存在与所述第一蓝牙从设备对应的数据连接通道时,则利用所述数据连接通道实现所述蓝牙主设备中的第二应用与所述第一蓝牙从设备间的数据通信;
当判断不存在与所述第一蓝牙从设备对应的数据连接通道时,则与所述第一蓝牙从设备建立数据连接通道,并保存建立的所述数据连接通道与所述第一蓝牙从设备之间的对应关系。
15.一种蓝牙设备通信装置,其特征在于,所述装置包括:
接收模块,用于接收蓝牙主设备中的第一应用发送的数据请求信息,所述数据请求信息至少包括与所述数据请求对应的第一蓝牙从设备的设备信息;
第一判断模块,用于根据所述数据请求中包含的第一蓝牙从设备的设备信息以及保存的数据连接通道与蓝牙从设备之间的对应关系判断是否存在与所述第一蓝牙从设备对应的数据连接通道;
数据通信模块,用于当判断存在与所述第一蓝牙从设备对应的数据连接通道时,则利用所述数据连接通道实现所述蓝牙主设备中的第一应用与所述第一蓝牙从设备间的数据通信;
通信连接建立模块,用于当判断不存在与所述第一蓝牙从设备对应的数据连接通道时,则与所述第一蓝牙从设备建立数据连接通道;
通信连接管理模块,用于保存建立的所述数据连接通道与所述第一蓝牙从设备之间的对应关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310488733.XA CN103561479B (zh) | 2013-10-17 | 2013-10-17 | 一种蓝牙设备通信方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310488733.XA CN103561479B (zh) | 2013-10-17 | 2013-10-17 | 一种蓝牙设备通信方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103561479A true CN103561479A (zh) | 2014-02-05 |
CN103561479B CN103561479B (zh) | 2017-03-08 |
Family
ID=50015581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310488733.XA Active CN103561479B (zh) | 2013-10-17 | 2013-10-17 | 一种蓝牙设备通信方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103561479B (zh) |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888043A (zh) * | 2014-03-14 | 2014-06-25 | 嘉兴礼海电气科技有限公司 | 一种基于app的线性驱动器控制系统及控制方法 |
CN104022805A (zh) * | 2014-06-06 | 2014-09-03 | 深圳市爱美家电子科技有限公司 | 一种主从端蓝牙设备连接方法及装置 |
CN104216735A (zh) * | 2014-07-31 | 2014-12-17 | 北京升哲科技有限公司 | Beacon设备的控制方法和Beacon设备 |
CN105208518A (zh) * | 2015-09-29 | 2015-12-30 | 爱国者电子科技有限公司 | 无线路由设备、无线路由系统和通信方法 |
CN105282691A (zh) * | 2015-11-05 | 2016-01-27 | 广东欧珀移动通信有限公司 | 蓝牙设备的连接方法和装置 |
CN105306428A (zh) * | 2014-07-28 | 2016-02-03 | 国家电网公司 | 数据分发方法及装置 |
CN105338472A (zh) * | 2015-09-29 | 2016-02-17 | 爱国者电子科技有限公司 | 无线路由设备、无线路由系统、通信方法 |
CN105611573A (zh) * | 2015-12-21 | 2016-05-25 | 飞天诚信科技股份有限公司 | 一种蓝牙防重发的实现方法及装置 |
TWI565287B (zh) * | 2014-11-07 | 2017-01-01 | xiu-wen Zhang | To achieve the smart phone in the remote microphone hearing aid system and its use |
CN106303907A (zh) * | 2015-05-28 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 蓝牙通信方法及蓝牙通信装置 |
CN106686541A (zh) * | 2017-03-22 | 2017-05-17 | 北京小米移动软件有限公司 | 蓝牙中继方法及装置 |
CN106817668A (zh) * | 2015-11-27 | 2017-06-09 | 深圳悦喜智慧首饰有限公司 | 一种基于蓝牙的连接通信方法 |
CN107249170A (zh) * | 2017-06-13 | 2017-10-13 | 天地融科技股份有限公司 | 一种蓝牙设备安全通信的方法及系统 |
CN107257540A (zh) * | 2017-07-04 | 2017-10-17 | 飞天诚信科技股份有限公司 | 一种实现蓝牙设备与移动设备配对的方法及装置 |
CN107548017A (zh) * | 2016-06-24 | 2018-01-05 | 国民技术股份有限公司 | 一种蓝牙连接资源的管理方法和装置 |
CN105101463B (zh) * | 2015-06-09 | 2018-08-03 | 深圳市嘀嗒互动科技有限公司 | 一种基于ble的数据共享方法 |
WO2018152908A1 (zh) * | 2017-02-24 | 2018-08-30 | 深圳时空壶技术有限公司 | 一种可识别蓝牙耳机语音来源的方法及设备 |
TWI635756B (zh) * | 2016-07-12 | 2018-09-11 | 立創智能股份有限公司 | 建立並監控低功耗藍牙無線網絡之方法 |
CN105188022B (zh) * | 2015-09-29 | 2019-01-08 | 爱国者电子科技有限公司 | 无线路由设备和通信方法 |
CN109286923A (zh) * | 2018-10-11 | 2019-01-29 | 广州市果欧电子科技有限公司 | 一种基于蓝牙的通讯方法 |
CN109413620A (zh) * | 2018-09-03 | 2019-03-01 | 青岛海尔科技有限公司 | 管理能够与iOS设备进行通信的外部蓝牙设备的方法及装置 |
CN110012450A (zh) * | 2018-01-05 | 2019-07-12 | 深圳市文鼎创数据科技有限公司 | 蓝牙配对方法、装置、系统及计算机可读存储介质 |
CN111314217A (zh) * | 2019-12-09 | 2020-06-19 | 上海金融期货信息技术有限公司 | 一种多链路传输系统 |
CN111385774A (zh) * | 2018-12-12 | 2020-07-07 | 北京骑胜科技有限公司 | 一种蓝牙设备连接方法、连接装置、终端及计算机设备 |
CN111615090A (zh) * | 2020-04-27 | 2020-09-01 | Oppo(重庆)智能科技有限公司 | 蓝牙设备间的交互方法及装置、存储介质和电子设备 |
CN111629366A (zh) * | 2020-04-27 | 2020-09-04 | Oppo(重庆)智能科技有限公司 | 蓝牙设备间的交互方法及装置、存储介质和电子设备 |
CN112055342A (zh) * | 2019-08-30 | 2020-12-08 | 合肥炬芯智能科技有限公司 | 基于连接的蓝牙通信方法、系统及主设备 |
CN112449049A (zh) * | 2019-08-27 | 2021-03-05 | 广州皓醒湾科技有限公司 | 终端与蓝牙设备数据交互方法、系统及存储介质 |
CN113973397A (zh) * | 2020-07-10 | 2022-01-25 | 北京凌宇智控科技有限公司 | 一种设备配对方法、配对设备及设备配对系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621314A (zh) * | 2009-08-11 | 2010-01-06 | 中兴通讯股份有限公司 | 一种蓝牙手机及蓝牙手机配对绑定的方法 |
CN102130706A (zh) * | 2011-03-15 | 2011-07-20 | 华为终端有限公司 | 蓝牙多路切换装置和方法 |
CN102170679A (zh) * | 2011-05-28 | 2011-08-31 | 西安电子科技大学 | 基于Android系统的多机蓝牙群通信方法 |
US20120322379A1 (en) * | 2011-06-14 | 2012-12-20 | Samsung Electronics Co., Ltd. | Wireless local area communication method and terminal supporting the same |
-
2013
- 2013-10-17 CN CN201310488733.XA patent/CN103561479B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621314A (zh) * | 2009-08-11 | 2010-01-06 | 中兴通讯股份有限公司 | 一种蓝牙手机及蓝牙手机配对绑定的方法 |
CN102130706A (zh) * | 2011-03-15 | 2011-07-20 | 华为终端有限公司 | 蓝牙多路切换装置和方法 |
CN102170679A (zh) * | 2011-05-28 | 2011-08-31 | 西安电子科技大学 | 基于Android系统的多机蓝牙群通信方法 |
US20120322379A1 (en) * | 2011-06-14 | 2012-12-20 | Samsung Electronics Co., Ltd. | Wireless local area communication method and terminal supporting the same |
Cited By (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888043A (zh) * | 2014-03-14 | 2014-06-25 | 嘉兴礼海电气科技有限公司 | 一种基于app的线性驱动器控制系统及控制方法 |
CN104022805A (zh) * | 2014-06-06 | 2014-09-03 | 深圳市爱美家电子科技有限公司 | 一种主从端蓝牙设备连接方法及装置 |
CN104022805B (zh) * | 2014-06-06 | 2017-01-04 | 深圳市爱美家电子科技有限公司 | 一种主从端蓝牙设备连接方法及装置 |
CN105306428A (zh) * | 2014-07-28 | 2016-02-03 | 国家电网公司 | 数据分发方法及装置 |
CN104216735A (zh) * | 2014-07-31 | 2014-12-17 | 北京升哲科技有限公司 | Beacon设备的控制方法和Beacon设备 |
TWI565287B (zh) * | 2014-11-07 | 2017-01-01 | xiu-wen Zhang | To achieve the smart phone in the remote microphone hearing aid system and its use |
CN106303907A (zh) * | 2015-05-28 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 蓝牙通信方法及蓝牙通信装置 |
CN106303907B (zh) * | 2015-05-28 | 2021-03-02 | 腾讯科技(深圳)有限公司 | 蓝牙通信方法及蓝牙通信装置 |
CN105101463B (zh) * | 2015-06-09 | 2018-08-03 | 深圳市嘀嗒互动科技有限公司 | 一种基于ble的数据共享方法 |
CN105188022B (zh) * | 2015-09-29 | 2019-01-08 | 爱国者电子科技有限公司 | 无线路由设备和通信方法 |
CN105208518A (zh) * | 2015-09-29 | 2015-12-30 | 爱国者电子科技有限公司 | 无线路由设备、无线路由系统和通信方法 |
CN105338472A (zh) * | 2015-09-29 | 2016-02-17 | 爱国者电子科技有限公司 | 无线路由设备、无线路由系统、通信方法 |
CN105338472B (zh) * | 2015-09-29 | 2019-06-18 | 爱国者电子科技有限公司 | 无线路由设备、无线路由系统、通信方法 |
CN105282691A (zh) * | 2015-11-05 | 2016-01-27 | 广东欧珀移动通信有限公司 | 蓝牙设备的连接方法和装置 |
CN106817668A (zh) * | 2015-11-27 | 2017-06-09 | 深圳悦喜智慧首饰有限公司 | 一种基于蓝牙的连接通信方法 |
CN106817668B (zh) * | 2015-11-27 | 2020-10-20 | 深圳悦喜智慧首饰有限公司 | 一种基于蓝牙的连接通信方法 |
CN105611573A (zh) * | 2015-12-21 | 2016-05-25 | 飞天诚信科技股份有限公司 | 一种蓝牙防重发的实现方法及装置 |
CN105611573B (zh) * | 2015-12-21 | 2018-11-20 | 飞天诚信科技股份有限公司 | 一种蓝牙防重发的实现方法及装置 |
CN107548017B (zh) * | 2016-06-24 | 2021-03-05 | 国民技术股份有限公司 | 一种蓝牙连接资源的管理方法和装置 |
CN107548017A (zh) * | 2016-06-24 | 2018-01-05 | 国民技术股份有限公司 | 一种蓝牙连接资源的管理方法和装置 |
TWI635756B (zh) * | 2016-07-12 | 2018-09-11 | 立創智能股份有限公司 | 建立並監控低功耗藍牙無線網絡之方法 |
US10313866B2 (en) | 2016-07-12 | 2019-06-04 | Linctronix Ltd. | Method for establishing and monitoring bluetooth low energy wireless network |
WO2018152908A1 (zh) * | 2017-02-24 | 2018-08-30 | 深圳时空壶技术有限公司 | 一种可识别蓝牙耳机语音来源的方法及设备 |
US10609538B2 (en) | 2017-02-24 | 2020-03-31 | Shenzhen Timekettle Technologies Co., Ltd. | Method and device for identifying bluetooth headset voice source |
CN106686541A (zh) * | 2017-03-22 | 2017-05-17 | 北京小米移动软件有限公司 | 蓝牙中继方法及装置 |
CN107249170A (zh) * | 2017-06-13 | 2017-10-13 | 天地融科技股份有限公司 | 一种蓝牙设备安全通信的方法及系统 |
CN107257540A (zh) * | 2017-07-04 | 2017-10-17 | 飞天诚信科技股份有限公司 | 一种实现蓝牙设备与移动设备配对的方法及装置 |
US10880734B2 (en) | 2017-07-04 | 2020-12-29 | Feitian Technologies Co., Ltd. | Method for pairing Bluetooth device with mobile device and apparatus thereof |
CN110012450A (zh) * | 2018-01-05 | 2019-07-12 | 深圳市文鼎创数据科技有限公司 | 蓝牙配对方法、装置、系统及计算机可读存储介质 |
CN109413620A (zh) * | 2018-09-03 | 2019-03-01 | 青岛海尔科技有限公司 | 管理能够与iOS设备进行通信的外部蓝牙设备的方法及装置 |
CN109286923B (zh) * | 2018-10-11 | 2021-09-07 | 广州市果欧电子科技有限公司 | 一种基于蓝牙的通讯方法 |
CN109286923A (zh) * | 2018-10-11 | 2019-01-29 | 广州市果欧电子科技有限公司 | 一种基于蓝牙的通讯方法 |
CN111385774A (zh) * | 2018-12-12 | 2020-07-07 | 北京骑胜科技有限公司 | 一种蓝牙设备连接方法、连接装置、终端及计算机设备 |
CN112449049A (zh) * | 2019-08-27 | 2021-03-05 | 广州皓醒湾科技有限公司 | 终端与蓝牙设备数据交互方法、系统及存储介质 |
CN112055342A (zh) * | 2019-08-30 | 2020-12-08 | 合肥炬芯智能科技有限公司 | 基于连接的蓝牙通信方法、系统及主设备 |
CN112055342B (zh) * | 2019-08-30 | 2021-09-24 | 合肥炬芯智能科技有限公司 | 基于连接的蓝牙通信方法、系统及主设备 |
CN111314217A (zh) * | 2019-12-09 | 2020-06-19 | 上海金融期货信息技术有限公司 | 一种多链路传输系统 |
CN111314217B (zh) * | 2019-12-09 | 2021-12-17 | 上海金融期货信息技术有限公司 | 一种多链路传输系统 |
CN111629366A (zh) * | 2020-04-27 | 2020-09-04 | Oppo(重庆)智能科技有限公司 | 蓝牙设备间的交互方法及装置、存储介质和电子设备 |
CN111615090A (zh) * | 2020-04-27 | 2020-09-01 | Oppo(重庆)智能科技有限公司 | 蓝牙设备间的交互方法及装置、存储介质和电子设备 |
CN113973397A (zh) * | 2020-07-10 | 2022-01-25 | 北京凌宇智控科技有限公司 | 一种设备配对方法、配对设备及设备配对系统 |
CN113973397B (zh) * | 2020-07-10 | 2023-09-08 | 北京凌宇智控科技有限公司 | 一种设备配对方法、配对设备及设备配对系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103561479B (zh) | 2017-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103561479A (zh) | 一种蓝牙设备通信方法和装置 | |
CN102202289B (zh) | 一种通过移动终端远程调用软硬件资源的方法和系统 | |
CN108540433B (zh) | 用户身份校验方法及装置 | |
US10908889B2 (en) | Method, user equipment, and application server for downloading application | |
CN102821150A (zh) | 基于云服务的应用管理方法及云服务器 | |
CN112130475B (zh) | 设备控制方法、装置、终端和存储介质 | |
KR20160014038A (ko) | 컴퓨팅 디바이스 사이에서의 디바이스 연관 데이터의 동기화 | |
KR20130036838A (ko) | 개인화 클라우드 서비스 제공 시스템 및 방법 | |
CN113079139B (zh) | 基于区块链的共识组主节点确定方法、装置及系统 | |
CN103338391A (zh) | 一种实现移动终端和电视终端连接的方法、装置和系统 | |
KR20180050001A (ko) | 사물인터넷 기기의 펌웨어 업그레이드 시스템 및 방법 | |
CN101800985B (zh) | 鉴权方法及系统、终端、服务器与数据下载方法及装置 | |
CN112073488A (zh) | 处理请求的方法及装置 | |
CN113010238A (zh) | 一种微应用调用接口的权限确定方法、装置和系统 | |
CN111695098A (zh) | 多分布式集群访问方法及装置 | |
CN111787514A (zh) | 设备控制数据的获取方法及装置、存储介质、电子装置 | |
EP3015990B1 (en) | Information processing device, and destination information updating method and program | |
CN102281299A (zh) | 互动业务处理方法及业务控制层服务器 | |
RU2400016C2 (ru) | Способ и система для передачи данных, относящихся к теле- и звуковому вещанию, на мобильный модуль обработки данных | |
KR20040109977A (ko) | 무선인터넷에서 다운로드 중단된 데이터를 이어받는 방법 | |
CN109962962B (zh) | 一种套接字socket连接的方法及设备 | |
CN108966229A (zh) | 一种登陆无线路由器的方法及终端 | |
KR100586046B1 (ko) | 멀티미디어 서비스를 위한 시스템간 협상 방법 | |
CN114245161B (zh) | 一种直播推流方法、装置、存储介质及电子设备 | |
US20240048990A1 (en) | Bluetooth connection method and system, intelligent terminal, and computer storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: Room 2070, building 2, Lane 1800, Xinyang Road, Lingang New Area, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 200120 Patentee after: NEUSOFT XIKANG HEALTHCARE TECHNOLOGY Co.,Ltd. Address before: 100080, 12B01, 03, 05, 07, 09, 9 West Fourth Ring Road, Haidian District, Beijing Patentee before: NEUSOFT XIKANG HEALTHCARE TECHNOLOGY Co.,Ltd. |
|
CP02 | Change in the address of a patent holder |