CN105517110A - 一种连接蓝牙设备的方法及装置 - Google Patents
一种连接蓝牙设备的方法及装置 Download PDFInfo
- Publication number
- CN105517110A CN105517110A CN201510824405.1A CN201510824405A CN105517110A CN 105517110 A CN105517110 A CN 105517110A CN 201510824405 A CN201510824405 A CN 201510824405A CN 105517110 A CN105517110 A CN 105517110A
- Authority
- CN
- China
- Prior art keywords
- bluetooth
- terminal
- feature
- low energy
- module
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/16—Discovering, processing access restriction or access information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/11—Allocation or use of connection identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/08—Access restriction or access information delivery, e.g. discovery data delivery
- H04W48/10—Access restriction or access information delivery, e.g. discovery data delivery using broadcasted information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开一种连接蓝牙设备的方法及装置,属于通讯领域,所述方法包括:判断终端是否扫描到与预设服务标识对应的蓝牙广播数据,是则从与预设服务标识对应的蓝牙广播数据中提取蓝牙设备名称,否则提示扫描失败,结束;判断提取到的蓝牙设备名称与目标蓝牙设备名称是否相同,是则根据提取到的蓝牙设备名称,与对应的蓝牙设备连接,否则继续判断终端是否扫描到与预设服务标识对应的蓝牙广播数据。采用本发明的技术方案,在分体式蓝牙设备与IOS***的终端连接后,当分体式蓝牙设备更换不同的功能模块,终端与新的功能模块进行连接时,终端可以不依赖缓存而及时更新新的功能模块的标识,进而终端成功扫描并连接新的功能模块。
Description
技术领域
本发明涉及通信领域,尤其涉及一种连接蓝牙设备的方法及装置。
背景技术
分体式蓝牙设备由蓝牙模块和功能模块两部分构成,蓝牙模块是功能模块与终端之间建立连接的桥梁,功能模块是执行分体式蓝牙设备功能的主要单元,一个蓝牙模块可以连接多个不同的功能模块。
现有技术中,在分体式蓝牙设备与IOS***的终端连接后,当分体式蓝牙设备更换不同的功能模块,终端与新的功能模块进行连接时,终端的缓存中保存的仍然是原来已连接功能模块的Mac地址,终端读取出的是原来已连接功能模块的标识,而不能及时更新新的功能模块的标识,从而导致终端扫描及连接新的功能模块的操作失败。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种连接蓝牙设备的方法及装置。
本发明提供一种连接蓝牙设备的方法,包括:
步骤S1:判断终端是否扫描到与预设服务标识对应的蓝牙广播数据,是则执行步骤S2,否则提示扫描失败,结束;
步骤S2:从所述与预设服务标识对应的蓝牙广播数据中提取蓝牙设备名称,判断提取到的蓝牙设备名称与目标蓝牙设备名称是否相同,是则执行步骤S3,否则返回步骤S1;
步骤S3:根据所述提取到的蓝牙设备名称,与对应的蓝牙设备连接。
可选地,所述步骤S1具体为:判断是否接收到来自所述终端的扫描成功通知,如果是,则确定所述终端扫描到与预设服务标识对应的蓝牙广播数据;否则,确定所述终端没有扫描到预设服务标识对应的蓝牙广播数据;
或者,
接收所述终端获取到的蓝牙广播数据,判断所述获取到的蓝牙广播数据中是否包含与预设服务标识对应的蓝牙广播数据,如果是,则确定所述终端扫描到与预设服务标识对应的蓝牙广播数据;否则,确定所述终端没有扫描到与预设服务标识对应的蓝牙广播数据。
所述扫描成功通知,具体为:所述终端的***回调的第一函数接口的通知。
可选地,所述步骤S1之前,还包括:
判断所述终端的内部环境是否支持蓝牙低功耗,是则设置所述预设服务标识,否则提示不支持所述蓝牙低功耗,结束。
所述判断所述终端的内部环境是否支持蓝牙低功耗,具体为:
执行以下操作中的至少一项:
判断是否获得所述蓝牙低功耗的授权;
判断所述终端的硬件是否支持所述蓝牙低功耗;
判断所述终端的***是否支持所述蓝牙低功耗;
判断所述终端是否开启蓝牙功能;
如果执行的判断的结果均为是,则确定所述终端的内部环境支持所述蓝牙低功耗,否则,确定所述终端的内部环境不支持所述蓝牙低功耗。
可选地,所述判断所述终端的内部环境是否支持蓝牙低功耗之前,包括:监听所述终端的内部环境的状态。
所述监听所述终端的内部环境的状态,具体为:在所述终端的***中注册监听函数,实例化蓝牙低功耗中央管理器,并向蓝牙低功耗中央管理器中注册监听对象来实时监听所述终端的内部环境的状态。
所述判断是否获得所述蓝牙低功耗的授权,具体为:检测是否接收到所述监听函数的第一返回值,是则未获得所述蓝牙低功耗的授权,否则获得所述蓝牙低功耗的授权;
所述判断所述终端的硬件是否支持所述蓝牙低功耗,具体为:检测是否接收到所述监听函数的第二返回值,是则所述终端的硬件不支持所述蓝牙低功耗,否则所述终端的硬件支持所述蓝牙低功耗;
所述判断所述终端的***是否支持所述蓝牙低功耗,具体为:检测是否接收到所述监听函数的第三返回值,是则所述终端的***不支持所述蓝牙低功耗,否则所述终端的***支持所述蓝牙低功耗;
所述判断所述终端是否开启蓝牙功能,具体为:检测接收到的所述监听函数的返回值的类型,若为第四返回值,则所述终端已开启蓝牙功能,若为第五返回值,则所述终端未开启蓝牙功能。
可选地,所述设置所述预设服务标识之前,还包括:
步骤B1:判断所述终端是否已连接蓝牙设备,是则执行步骤B2,否则设置所述预设服务标识;
步骤B2:判断所述已连接蓝牙设备的名称是否与所述目标蓝牙设备名称相同,是则提示连接成功,结束,否则断开所述已连接蓝牙设备,设置所述预设服务标识。
可选地,所述步骤S3包括:
步骤C1:根据所述提取到的蓝牙设备名称,连接对应的蓝牙设备的服务;
步骤C2:根据所述提取到的蓝牙设备名称,扫描所述对应的蓝牙设备的服务下的特征;
步骤C3:当扫描到的特征为接收数据特征时,记录扫描到的特征为所述接收数据特征,将其标记为写特征,当扫描到的特征为发送数据特征时,记录扫描到的特征为所述发送数据特征,将其标记为读特征。
所述步骤C1具体为:接收到终端***检测到与所述提取到的蓝牙设备名称对应的蓝牙设备的服务的通知后,根据所述提取到的蓝牙设备名称,连接对应的蓝牙设备的服务。
所述步骤C2具体为:接收到终端检测到与所述提取到的蓝牙设备名称对应的蓝牙设备的服务下的特征的通知后,根据所述提取到的蓝牙设备名称,扫描对应的蓝牙设备的服务下的特征。
所述步骤C3具体为:
步骤C3-1:提取扫描到的特征的标识;
步骤C3-2:判断提取到的特征的标识是否为预设接收数据标识和/或预设发送数据标识,若为所述预设接收数据标识,则执行步骤C3-3,若为所述预设发送数据标识,则执行步骤C3-4,否则执行步骤C3-5;
步骤C3-3:记录所述提取到的特征的标识对应的特征为所述接收数据特征,将其标记为写特征,执行步骤C3-5;
步骤C3-4:记录所述提取到的特征的标识对应的特征为所述发送数据特征,将其标记为读特征,执行步骤C3-5;
步骤C3-5:判断所述接收数据特征和所述发送数据特征是否均已记录,是则提示连接成功,结束,否则执行步骤C3-6;
步骤C3-6:判断所述提取到的特征的标识对应的特征是否为最后一个特征,是则提示连接失败,结束,否则提取下一个扫描到的特征的标识,返回步骤C3-2。
本发明还提供一种连接蓝牙设备的装置,包括:
第一判断模块,用于判断终端是否扫描到与预设服务标识对应的蓝牙广播数据;
提取模块,用于当所述第一判断模块判断终端扫描到与预设服务标识对应的蓝牙广播数据时,从所述与预设服务标识对应的蓝牙广播数据中提取蓝牙设备名称;
提示模块,用于当所述第一判断模块判断终端未扫描到与预设服务标识对应的蓝牙广播数据时,提示扫描失败,结束;
第二判断模块,用于判断所述提取模块提取到的蓝牙设备名称与目标蓝牙设备名称是否相同;
连接模块,用于当所述第二判断模块判断所述提取模块提取到的蓝牙设备名称与所述目标蓝牙设备名称相同时,根据所述提取模块提取到的蓝牙设备名称,与对应的蓝牙设备连接;
所述第一判断模块,还用于当所述第二判断模块判断所述提取到的蓝牙设备名称与所述目标蓝牙设备名称不同时,判断终端是否扫描到与预设服务标识对应的蓝牙广播数据。
可选地,所述第一判断模块,具体用于判断是否接收到来自所述终端的扫描成功通知,如果是,则确定所述终端扫描到与预设服务标识对应的蓝牙广播数据;否则,确定所述终端没有扫描到与预设服务标识对应的蓝牙广播数据;
或者,
接收所述终端获取到的蓝牙广播数据,判断所述获取到的蓝牙广播数据中是否包含与预设服务标识对应的蓝牙广播数据,如果是,则确定所述终端扫描到与预设服务标识对应的蓝牙广播数据;否则,确定所述终端没有扫描到预设服务标识对应的蓝牙广播数据。
所述第一判断模块,具体用于判断是否接收到来自所述终端的***回调的第一函数接口的通知。
可选地,所述装置还包括:
第三判断模块,用于判断所述终端的内部环境是否支持蓝牙低功耗;
设置模块,用于当所述第三模块判断所述终端的内部环境支持所述蓝牙低功耗时,设置所述预设服务标识;
所述提示模块,还用于当所述第三判断模块判断所述终端的内部环境不支持所述蓝牙低功耗时,提示不支持所述蓝牙低功耗,结束。
所述第三判断模块,具体用于执行以下操作中的至少一项:
判断是否获得所述蓝牙低功耗的授权;
判断所述终端的硬件是否支持所述蓝牙低功耗;
判断所述终端的***是否支持所述蓝牙低功耗;
判断所述终端是否开启蓝牙功能;
如果执行的判断的结果均为是,则确定所述终端的内部环境支持所述蓝牙低功耗,否则,确定所述终端的内部环境不支持所述蓝牙低功耗。
可选地,所述装置还包括:
监听模块,用于监听所述终端的内部环境的状态。
所述监听模块,具体用于在所述终端的***中注册监听函数,实例化蓝牙低功耗中央管理器,并向蓝牙低功耗中央管理器中注册监听对象来实时监听所述终端的内部环境的状态。
所述第三判断模块具体包括:
第一检测子模块,用于检测是否接收到所述监听函数的第一返回值,是则未获得所述蓝牙低功耗的授权,否则获得所述蓝牙低功耗的授权;
第二检测子模块,用于检测是否接收到所述监听函数的第二返回值,是则所述终端的硬件不支持所述蓝牙低功耗,否则所述终端的硬件支持所述蓝牙低功耗;
第三检测子模块,用于检测是否接收到所述监听函数的第三返回值,是则所述终端的***不支持所述蓝牙低功耗,否则所述终端的***支持所述蓝牙低功耗;
第四检测子模块,用于检测接收到的所述监听函数的返回值的类型,若为第四返回值,则所述终端已开启蓝牙功能,若为第五返回值,则所述终端未开启蓝牙功能。
可选地,所述装置还包括:
第四判断模块,用于判断所述终端是否已连接蓝牙设备;
第五判断模块,用于当所述第四判断模块判断所述终端已连接蓝牙设备时,判断所述已连接蓝牙设备的名称与所述目标蓝牙设备名称是否相同;
断开模块,用于当所述第五判断模块判断所述已连接蓝牙设备的名称与所述目标蓝牙设备名称不同时,断开所述已连接蓝牙设备,触发所述设置模块
所述设置模块,具体用于当所述第四判断模块判断所述终端未连接蓝牙设备时,设置所述预设服务标识;
所述提示模块,还用当所述第五判断模块判断所述已连接蓝牙设备的名称与所述目标蓝牙设备名称相同时,提示连接成功。
可选地,所述连接模块包括:
连接子模块,用于根据所述提取到的蓝牙设备名称,连接对应的蓝牙设备的服务;
扫描子模块,用于根据所述提取到的蓝牙设备名称,扫描所述对应的蓝牙设备的服务下的特征;
记录子模块,用于当扫描到的特征为接收数据特征时,记录扫描到的特征为所述接收数据特征,将其标记为写特征;用于当扫描到的特征为发送数据特征时,记录扫描到的特征为所述发送数据特征,将其标记为读特征。
所述连接子模块,具体用于接收到终端***检测到与所述提取到的蓝牙设备名称对应的蓝牙设备的服务的通知后,根据所述提取到的蓝牙设备名称,连接对应的蓝牙设备的服务。
所述扫描子模块,具体用于接收到所述终端***检测到与所述提取到的蓝牙设备名称对应的蓝牙设备的服务下的特征的通知后,根据所述提取到的蓝牙设备名称,扫描对应的蓝牙设备的服务下的特征。
所述记录子模块包括:
提取单元,用于提取扫描到的特征的标识;
第一判断单元,用于判断提取到的特征的标识是否为预设接收数据标识和/或预设发送数据标识;
所述记录子模块,具体用于当所述第一判断单元判断所述提取到的特征的标识是所述预设接收数据标识时,记录所述提取到的特征的标识对应的特征为所述接收数据特征,将其标记为所述写特征;
所述记录子模块,具体用于当所述第一判断单元判断所述提取到的特征的标识是所述预设发送数据标识时,记录所述提取到的特征的标识对应的特征为所述发送数据特征,将其标记为所述读特征;
第二判断单元,用于判断所述接收数据特征和所述发送数据特征是否均已记录;
所述提示模块,还用于当所述第二判断单元判断所述接收数据特征及所述发送数据特征均已记录时,提示连接成功;
第三判断单元,用于当所述第二判断单元判断所述接收数据特征和所述发送数据特征未全部记录时,判断所述提取到的特征的标识对应的特征是否为最后一个特征;
所述提示模块,还用于当所述第三判断单元判断所述提取到的特征的标识对应的特征是最后一个特征时,提示连接失败;
所述提取单元,还用于当所述第三判断单元判断所述提取到的特征标识对应的特征不是最后一个特征时,提取下一个扫描到的特征的标识。
本发明技术方案的有益效果为:在分体式蓝牙设备与IOS***的终端连接后,当分体式蓝牙设备更换不同的功能模块,终端与新的功能模块进行连接时,终端可以不依赖缓存而及时更新新的功能模块的标识,进而终端成功扫描并连接新的功能模块。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种连接蓝牙设备的方法流程图;
图2为本发明实施例二提供的一种连接蓝牙设备的方法流程图;
图3为本发明实施例三提供的一种连接蓝牙设备的装置方框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
分体式蓝牙设备开启电源后,在未与终端连接前,会自动广播广告包形式的蓝牙广播数据,使终端通过蓝牙广播数据检测到蓝牙设备;蓝牙广播数据中包含的信息有蓝牙设备的名称、蓝牙设备的当前连接状态、蓝牙设备的当前的服务及服务标识。
实施例一
本发明实施例一提供一种连接蓝牙设备的方法,如图1所示,包括:
步骤101:判断终端是否扫描到与预设服务标识对应的蓝牙广播数据,执行步骤102,否则提示扫描失败,结束;
具体地,可以判断是否接收到来自终端的扫描成功通知,如果是,则确定终端扫描到与预设服务标识对应的蓝牙广播数据;否则,确定终端没有扫描到预设服务标识对应的蓝牙广播数据;也可以接收终端获取到的蓝牙广播数据,判断获取到的蓝牙广播数据中是否包含与预设服务标识对应的蓝牙广播数据,如果是,则确定终端扫描到与预设服务标识对应的蓝牙广播数据;否则,确定终端没有扫描到预设服务标识对应的蓝牙广播数据;
在本实施例中,扫描成功通知,具体为:终端的***回调的第一函数接口通知;
本实施例中,接收到来自终端的扫描成功通知之前,还包括:终端获取蓝牙广播数据,并判断出获取到的蓝牙广播数据包含与预设服务标识对应的蓝牙广播数据;
在本实施例中,步骤101之前还包括:判断终端的内部环境是否支持蓝牙低功耗,是则设置预设服务标识,否则提示不支持蓝牙低功耗,结束;
在本实施例中,低功耗蓝牙设备包括三个部分:服务(Service)、特征(Characteristic)、描述符(Descriptor),三个部分均由标识来唯一标记;服务下对应有多个特征,特征是终端与低功耗蓝牙设备进行信息交互的数据;
进一步地,判断终端的内部环境是否支持蓝牙低功耗具体为:
执行以下操作中的至少一项:
判断是否获得蓝牙低功耗的授权;
判断终端的硬件是否支持蓝牙低功耗;
判断终端的***是否支持蓝牙低功耗;
判断终端是否开启蓝牙功能;
如果执行的判断的结果均为是,则确定终端的内部环境支持蓝牙低功耗,否则,确定终端的内部环境不支持蓝牙低功耗;
在本实施例中,判断终端的内部环境是否支持蓝牙低功耗之前包括:在终端的***中注册监听函数,实例化蓝牙低功耗中央管理器,并向蓝牙低功耗中央管理器中注册监听对象来实时监听终端的内部环境的状态;
判断是否获得蓝牙低功耗授权,具体为:检测是否接收到监听函数的第一返回值,是则未获得蓝牙低功耗的授权,否则获得蓝牙低功耗的授权;
判断终端的硬件是否支持蓝牙低功耗,具体为:检测是否接收到监听函数的第二返回值,是则终端的硬件不支持蓝牙低功耗,否则终端的硬件支持蓝牙低功耗;
判断终端的***是否支持蓝牙低功耗,具体为:检测是否接收到监听函数的第三返回值,是则终端的***不支持蓝牙低功耗,否则终端的***支持蓝牙低功耗;
判断终端是否开启蓝牙功能,具体为:检测接收到的监听函数的返回值的类型,若为第四返回值,则终端已开启蓝牙功能,若为第五返回值,则终端未开启蓝牙功能;
优选的,第一返回值为CBCentralManagerStateUnauthorized;
第二返回值为CBCentralManagerStateUnsupported;
第三返回值为CBCentralManagerStateUnsupported;
第四返回值为CBCentralManagerStatePoweredOn;
第五返回值为CBCentralManagerStatePoweredOff;
在本实施例中,要连接的低功耗蓝牙设备为目标蓝牙设备,设置预设服务标识之前包括:
步骤B1:判断终端是否已连接蓝牙设备,是则执行步骤B2,否则设置预设的服务标识;
步骤B2:判断已连接蓝牙设备的名称是否与目标蓝牙设备名称相同,是则提示连接成功,结束,否则断开已连接蓝牙设备,设置预设服务标识;
优选的,设置预设服务标识=46540001-0001-00c3-0000-465453414645,默认的,接收数据特征标识=46540001-0002-00c3-0000-465453414645,发送数据特征标识=46540001-0003-00c3-0000-465453414645。
步骤102:从与预设服务标识对应的蓝牙广播数据中提取蓝牙设备名称,判断提取到的蓝牙设备名称与目标蓝牙设备名称是否相同,是则执行步骤103,否则返回步骤101;
在本实施例中,蓝牙广播数据中包含的信息有蓝牙设备名称、蓝牙设备当前连接状态、蓝牙设备当前的服务及服务标识,提取蓝牙设备名称,判断提取到的蓝牙设备名称与目标蓝牙设备名称是否相同。
步骤103:根据提取到的蓝牙设备名称,与对应的蓝牙设备连接。
在本实施例中,根据提取到的蓝牙设备名称,与对应的蓝牙设备连接包括:根据提取到的蓝牙设备名称,连接对应的蓝牙设备的服务及扫描对应的蓝牙设备的服务下的特征,记录接收数据特征和发送数据特征,并分别标记为写特征和读特征。
实施例二
本发明实施例二提供一种连接蓝牙设备的方法,如图2所示,当终端接收到用户的触发信息时,执行步骤201:
步骤201:判断是否获得BLE(英文全称:BluetoothLowEnergy,中文全称:蓝牙低功耗)的授权,是则执行步骤202,否则提示未授权,结束;
在本实施例中,步骤201之前,还包括:在终端的***中注册监听函数,实例化BLE中央管理器,并向BLE中央管理器中注册监听对象来实时监听终端的内部环境的状态;
判断是否获得BLE的授权具体为:检测是否接收到监听函数的第一返回值,是则表示未获得BLE的授权,否则表示获得BLE的授权;
优选的,第一返回值为CBCentralManagerStateUnauthorized;
在本实施例中,BLE蓝牙设备,包括三个部分:服务(Service)、特征(Characteristic)、描述符(Descriptor),三个部分均由标识来唯一标记;服务下对应有多个特征,一个特征可包含多个描述符,特征是终端与蓝牙设备进行信息交互的数据。
步骤202:判断终端的硬件是否支持BLE,是则执行步骤203,否则提示不支持BLE,结束;
具体地,检测是否接收到监听函数的第二返回值,是则表示终端的硬件不支持BLE,否则表示终端的硬件支持BLE;
优选的,第二返回值为CBCentralManagerStateUnsupported。
步骤203:判断终端的***是否支持BLE,是则执行步骤204,否则提示不支持BLE,结束;
具体地,检测是否接收到监听函数的第三返回值,是则表示终端的***不支持BLE,否则表示终端的***支持BLE;
在本实施例中,支持BLE的终端的***为IOS***;
优选的,第三返回值为CBCentralManagerStateUnsupported。
步骤204:判断终端是否开启蓝牙功能,是则执行步骤206,否则执行步骤205;
具体地,检测监听函数的返回值的类型,如监听函数的返回值为第四返回值,则终端已开启蓝牙功能,如监听函数的返回值为第五返回值时,则终端未开启蓝牙功能;
优选的,第四返回值为CBCentralManagerStatePoweredOn,第五返回值为CBCentralManagerStatePoweredOff。
步骤205:判断等待开启蓝牙功能的时长是否超过第一预设时长,是则结束,否则提示开启蓝牙功能,返回步骤204;
步骤206:判断终端是否已连接与目标蓝牙设备名称相同的蓝牙设备,是则提示连接成功,否则执行步骤207;
在本实施例中,要连接的BLE蓝牙设备为目标蓝牙设备;
步骤206之前还包括:判断终端是否已连接蓝牙设备,是则执行步骤206,否则执行步骤207;在步骤206中判断为否时执行步骤207之前还包括:断开已连接蓝牙设备。
步骤207:在终端的***中设置预设服务标识;
在本实施例中,蓝牙设备的服务对应的标识,简称为服务标识;蓝牙设备的服务下的每个特征对应一个标识,统称为特征标识;蓝牙设备的服务下的接收数据特征对应接收数据标识;蓝牙设备的服务下的发送数据特征对应发送数据标识;
具体地,在终端的***中设置预设服务标识,例如,设置预设服务标识=46540001-0001-00c3-0000-465453414645,默认的,接收数据标识=46540001-0002-00c3-0000-465453414645,发送数据标识=46540001-0003-00c3-0000-465453414645;
进一步地,在终端的***中设置预设服务标识之后,终端获取蓝牙广播数据,根据预设服务标识扫描获取到的蓝牙广播数据;
在本实施例中,蓝牙广播数据中包含的信息有蓝牙设备名称、蓝牙设备当前连接状态、蓝牙设备当前的服务及服务标识;
在本实施中,根据预设服务标识扫描获取到的蓝牙广播数据具体为:根据预设服务标识扫描获取到的蓝牙广播数据中蓝牙设备当前的服务标识。
步骤208:判断终端是否扫描到与预设服务标识对应的蓝牙广播数据,是则执行步骤210,否则执行步骤209;
具体地,检测是否接收到终端***回调的第一函数接口的通知,是则终端扫描到与预设服务标识对应的蓝牙广播数据,否则终端未扫描到与预设服务标识对应的蓝牙广播数据。
步骤209:判断扫描时间是否超过第二预设时长,是则提示扫描超时,结束,否则返回步骤208;
步骤210:从与预设服务标识对应的蓝牙广播数据中提取蓝牙设备名称;
在本实施例中,蓝牙广播数据中包含的信息有蓝牙设备名称、蓝牙设备当前连接状态、蓝牙设备当前的服务及服务标识,提取蓝牙广播数据中的蓝牙设备名称。
步骤211:判断提取到的蓝牙设备名称与目标蓝牙设备名称是否相同,是则执行步骤212,否则返回步骤209;
步骤212:根据提取到的蓝牙设备名称,连接对应的蓝牙设备;
具体地,当提取的蓝牙设备名称与目标蓝牙设备名称相同时,调用第二函数接口,连接与提取的蓝牙设备名称对应的蓝牙设备,第二函数接口为:
-(void)connectPeripheral:(CBPeripheral*)peripheraloptions:(nullableNSDictionary<NSString*,id>*)options。
步骤213:判断与提取到的蓝牙设备名称对应的蓝牙设备是否连接成功,是则执行步骤214,否则提示连接失败,结束;
步骤213具体为:检测终端***回调的函数接口类型,如终端***回调的函数接口类型为第三函数接口,则与提取到的蓝牙设备名称对应的蓝牙设备连接成功,如终端***回调的函数接口类型为第四函数接口,则与提取到的蓝牙设备名称对应的蓝牙设备连接失败;
具体地,在本实施例中,第三函数接口为:
-(void)centralManager:(CBCentralManager*)centraldidConnectPeripheral:(CBPeripheral*)peripheral;
第四函数接口为:
-(void)centralManager:(CBCentralManager*)centraldidFailToConnectPeripheral:(CBPeripheral*)aPeripheralerror:(NSError*)error。
步骤214:连接当前连接的蓝牙设备的服务;
在本实施例中,连接当前连接的蓝牙设备的服务前还包括:接收终端***回调的第五函数接口通知,第五函数接口为:
-(void)peripheral:(CBPeripheral*)peripheraldidDiscoverServices:(nullableNSError*)error;
步骤214具体为:接收到终端设***检测到当前连接的蓝牙设备的服务的通知后,连接当前连接的蓝牙设备的服务。
步骤215:判断连接服务是否成功,是则执行步骤217,否则执行步骤216;
具体地,连接服务成功后,将自动去扫描当前连接的蓝牙设备的服务下的特征,即执行步骤217。
步骤216:判断连接时间是否超过第三预设时长,是则提示连接超时,结束,否则返回步骤208;
步骤217:扫描当前连接的蓝牙设备的服务下的特征;
在本实施例中,蓝牙设备的服务下的特征包括蓝牙设备名称、蓝牙设备连接状态、蓝牙设备地址、接收数据、发送数据等;
在本实施例中,扫描当前连接的蓝牙设备的服务下的特征之前还包括:接收终端***回调的第六函数接口通知,第六函数接口为:
-(void)peripheral:(CBPeripheral*)aPeripheraldidDiscoverCharacteristicsForService:(CBService*)serviceerror:(NSError*)error;
步骤217具体为:接收到终端检测到当前连接的蓝牙设备的服务下的特征的通知后,扫描当前连接的蓝牙设备的服务下的特征;
在本实施例中,扫描蓝牙设备的服务下的特征具体为:遍历服务下的特征数组。
步骤218:判断是否扫描完当前连接的蓝牙设备的服务下的所有特征,是则执行步骤220,否则执行步骤219;
在本实施例中,步骤218具体为:判断是否遍历完服务下的特征数组,是则扫描完当前连接的蓝牙设备的服务下的所有特征,否则未扫描完当前连接的蓝牙设备的服务下的所有特征。
步骤219:判断扫描时间是否超过第四预设时长,是则提示扫描超时,结束,否则返回步骤217;
步骤220:提取所有特征的标识,并将第一个特征作为当前特征;
具体地,特征数组记录着每一个特征及每一个特征的标识,相应地,当扫描到特征数组中的特征时,提取扫描到的特征的标识。
步骤221:判断当前特征的标识是否为预设接收数据标识,是则执行步骤222,否则执行步骤223;
具体地,本实施例中的目标蓝牙设备的服务标识预先设定,例如将目标蓝牙设备的接收数据标识设定为46540001-0002-00c3-0000-465453414645,步骤221具体为:判断当前特征的标识是否为46540001-0002-00c3-0000-465453414645,是则执行步骤222,否则执行步骤223。
步骤222:记录当前特征为接收数据,将当前特征标记为写特征,执行步骤225;
在本实施例中,接收数据是指蓝牙设备接收数据,即终端向蓝牙设备发送数据,记录当前特征为接收数据,并将其标记为写特征,后续将通过该特征来发送数据给蓝牙设备,将当前特征标记为写特征具体地可以通过下述代码来实现:
if([aChar.UUIDisEqual:[CBUUIDUUIDWithString:UUIDSTR_C3_TRANS_RX]]){
[myPeripheralsetTransparentDataWriteChar:aChar]。
步骤223:判断当前特征的标识是否为预设发送数据标识,是则执行步骤224,否则将下一个特征作为当前特征,返回步骤221;
具体地,本实施例中的目标蓝牙设备的服务标识预先设定,例如将目标蓝牙设备的发送数据标识设定为46540001-0003-00c3-0000-465453414645,步骤223具体为:判断提取的特征的标识是否为46540001-0003-00c3-0000-465453414645,是则执行步骤224,否则将下一个特征作为当前特征,返回步骤221。
步骤224:记录当前特征为发送数据,将当前特征标记为读特征,执行步骤225;
在本实施例中,发送数据指终端接收数据,即蓝牙设备向终端发送数据,记录当前特征为发送数据,并将其标记为读特征,后续终端将通过该特征来接收数据,将当前特征标记为读特征具体地可以通过下述代码来实现:
步骤225:判断接收数据特征和发送数据特征是否均已记录,是则提示连接成功,结束,否则执行步骤226;
在本实施例中,判断接收数据特征及发送数据特征是否均已记录具体为:判断是否标记了写特征和读特征。
步骤226:判断当前特征是否为最后一个特征,是则提示连接不成功,结束,否则将下一个特征作为当前特征,返回步骤221。
需要说明的是,在本发明的另一种实现方式中,上述步骤207至步骤216可以替换为:
步骤A1:接收终端获取到的蓝牙广播数据;
在本实施例中,步骤A1之前还包括:终端获取蓝牙广播数据。
步骤A2:设置预设服务标识;
步骤A3:根据预设服务标识扫描接收到的蓝牙广播数据;
在本实施例中,蓝牙广播数据中包含的信息有蓝牙设备名称、蓝牙设备当前连接状态、蓝牙设备当前的服务及服务标识;
在本实施例中,步骤A3具体为:根据预设的服务标识扫描接收的到蓝牙广播数据中蓝牙设备当前的服务标识。
步骤A4:判断是否扫描到与预设服务标识对应的蓝牙广播数据,是则执行步骤A6,否则执行步骤A5;
在本实施例中,步骤A4具体为:判断是否扫描到与预设服务标识相同的蓝牙设备当前的服务标识,是则扫描到与预设服务标识对应的蓝牙广播数据,执行步骤A6,否则未扫描到与预设服务标识对应的蓝牙广播数据,执行步骤A5。
步骤A5:判断扫描时间是否超过第二预设时长,是则提示扫描超时,结束,否则返回步骤A3;
步骤A6:从与预设服务标识对应的蓝牙广播数据中提取蓝牙设备名称,判断提取到的蓝牙设备名称与目标蓝牙设备名称是否相同,是则执行步骤A7,否则返回步骤A5;
步骤A7:根据提取到的蓝牙设备名称,连接对应的蓝牙设备;
步骤A8:判断提取到的蓝牙设备名称对应的蓝牙设备是否连接成功,是则执行步骤A9,否则提示连接失败,结束;
步骤A9:连接当前连接的蓝牙设备的服务,判断连接服务是否成功,是则执行步骤218,否则执行步骤A10;
在本实施例中,步骤A9具体为:接收到终端***检测到当前连接的蓝牙设备的服务的通知后,连接当前连接的蓝牙设备的服务。
步骤A10:判断连接时间是否超过第三预设时长,是则提示连接超时,结束,否则返回步骤A3。
实施例三
本发明实施例三提供一种连接蓝牙设备的装置,如图3所示,包括:
第一判断模块301,用于判断终端是否扫描到与预设服务标识对应的蓝牙广播数据;
提取模块302,用于当第一判断模块301判断终端扫描到与预设服务标识对应的蓝牙广播数据时,从与预设服务标识对应的蓝牙广播数据中提取蓝牙设备名称;
提示模块303,用于当第一判断模块301判断终端未扫描到与预设服务标识对应的蓝牙广播数据时,提示扫描失败,结束;
第二判断模块304,用于判断提取模块提取到的蓝牙设备名称与目标蓝牙设备名称是否相同;
连接模块305,用于当第二判断模块304判断提取模块提取到的蓝牙设备名称与目标蓝牙设备名称相同时,根据提取模块提取到的蓝牙设备名称,与对应的蓝牙设备连接;
在本实施例中,第一判断模块301,还用于当第二判断模块304判断提取到的蓝牙设备名称与目标蓝牙设备名称不同时,判断终端是否扫描到与预设服务标识对应的蓝牙广播数据。
在本实施例中,第一判断模块301,具体用于判断是否接收到来自终端的扫描成功通知,如果是,则确定终端扫描到与预设服务标识对应的蓝牙广播数据;否则,确定终端没有扫描到与预设服务标识对应的蓝牙广播数据;
或者,
接收终端获取到的蓝牙广播数据,判断获取到的蓝牙广播数据中是否包含与预设服务标识对应的蓝牙广播数据,如果是,则确定终端扫描到与预设服务标识对应的蓝牙广播数据;否则,确定终端没有扫描到预设服务标识对应的蓝牙广播数据。
在本实施例中,第一判断模块,具体用于判断是否接收到来自终端的***回调的第一函数接口的通知。
本实施例的装置还包括:
第三判断模块,用于判断终端的内部环境是否支持蓝牙低功耗;
设置模块,用于当第三模块判断终端的内部环境支持蓝牙低功耗时,设置预设服务标识;
在本实施例中,提示模块303,还用于当第三判断模块判断终端的内部环境不支持蓝牙低功耗时,提示不支持蓝牙低功耗,结束。
在本实施例中,第三判断模块,具体用于执行以下操作:
判断是否获得蓝牙低功耗的授权;
判断终端的硬件是否支持蓝牙低功耗;
判断终端的***是否支持蓝牙低功耗;
判断终端是否开启蓝牙功能;
如果执行的判断的结果均为是,则确定终端的内部环境支持蓝牙低功耗,否则,确定终端的内部环境不支持蓝牙低功耗。
本实施例的装置还包括:
监听模块,用于监听终端的内部环境的状态。
在本实施例中,监听模块,具体用于在终端的***中注册监听函数,实例化蓝牙低功耗中央管理器,并向蓝牙低功耗中央管理器中注册监听对象来实时监听终端的内部环境的状态。
进一步地,在本实施例中,第三判断模块具体包括:
第一检测子模块,用于检测是否接收到监听函数的第一返回值,是则未获得蓝牙低功耗的授权,否则获得蓝牙低功耗的授权;
第二检测子模块,用于检测是否接收到监听函数的第二返回值,是则终端的硬件不支持蓝牙低功耗,否则终端的硬件支持蓝牙低功耗;
第三检测子模块,用于检测是否接收到监听函数的第三返回值,是则终端的***不支持蓝牙低功耗,否则终端的***支持蓝牙低功耗;
第四检测子模块,用于检测接收到的监听函数的返回值的类型,若为第四返回值,则终端已开启蓝牙功能,若为第五返回值,则终端未开启蓝牙功能。
本实施例的装置还包括:
第四判断模块,用于判断终端是否已连接蓝牙设备;
在本实施例中,设置模块,还用于当第四判断模块判断终端未连接蓝牙设备时,设置预设服务标识;
第五判断模块,用于当第四判断模块判断终端已连接蓝牙设备时,判断已连接蓝牙设备的名称与目标蓝牙设备名称是否相同;
在本实施例中,提示模块303,还用当第五判断模块判断已连接蓝牙设备的名称与目标蓝牙设备名称相同时,提示连接成功;
断开模块,用于当第五判断模块判断已连接蓝牙设备的名称与目标蓝牙设备名称不同时,断开已连接蓝牙设备,触发设置模块。
在本实施例中,连接模块305包括:
连接子模块,用于根据提取到的蓝牙设备名称,连接对应的蓝牙设备的服务;
扫描子模块,用于根据提取到的蓝牙设备名称,扫描对应的蓝牙设备的服务下的特征;
记录子模块,用于当扫描到的特征为接收数据特征时,记录扫描到的特征为接收数据特征,将其标记为写特征;用于当扫描到的特征为发送数据特征时,记录扫描到的特征为发送数据特征,将其标记为读特征。
在本实施例中,连接子模块,具体用于接收到终端***检测到与提取到的蓝牙设备名称对应的蓝牙设备的服务的通知后,根据提取到的蓝牙设备名称,连接对应的蓝牙设备的服务。
在本实施例中,扫描子模块,具体用于接收到终端***检测到与提取到的蓝牙设备名称对应的蓝牙设备的服务下的特征的通知后,根据提取到的蓝牙设备名称,扫描对应的蓝牙设备的服务下的特征。
在本实施例中,记录子模块包括:
提取单元,用于提取扫描到的特征的标识;
第一判断单元,用于判断提取到的特征的标识是否为预设接收数据标识和/或预设发送数据标识;
在本实施例中,记录子模块,具体用于当第一判断单元判断提取到的特征的标识是预设接收数据标识时,记录提取到的特征的标识对应的特征为接收数据特征,将其标记为写特征;
在本实施例中,记录子模块,具体用于当第一判断单元判断提取到的特征的标识是预设发送数据标识时,记录提取到的特征的标识对应的特征为发送数据特征,将其标记为读特征;
第二判断单元,用于判断接收数据特征和发送数据特征是否均已记录;
在本实施例中,提示模块303,还用于当第二判断单元判断接收数据特征及发送数据特征均已记录时,提示连接成功;
第三判断单元,用于当第二判断单元判断接收数据特征和发送数据特征未全部记录时,判断提取到的特征的标识对应的特征是否为最后一个特征;
在本实施例中,提示模块303,还用于当第三判断单元判断提取到的特征的标识对应的特征是最后一个特征时,提示连接失败;
在本实施例中,提取单元,还用于当第三判断单元判断提取到的特征标识对应的特征不是最后一个特征时,提取扫描到的特征的标识。
通过本发明的技术方案,在分体式蓝牙设备与终端连接后,当分体式蓝牙设备更换不同的功能模块,终端与新的功能模块进行连接时,终端可以不依赖缓存而及时更新新的功能模块的标识,进而终端成功扫描并连接新的功能模块。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (26)
1.一种连接蓝牙设备的方法,其特征在于,包括:
步骤S1:判断终端是否扫描到与预设服务标识对应的蓝牙广播数据,是则执行步骤S2,否则提示扫描失败,结束;
步骤S2:从所述与预设服务标识对应的蓝牙广播数据中提取蓝牙设备名称,判断提取到的蓝牙设备名称与目标蓝牙设备名称是否相同,是则执行步骤S3,否则返回步骤S1;
步骤S3:根据所述提取到的蓝牙设备名称,与对应的蓝牙设备连接。
2.根据权利要求1所述的方法,其特征在于,
所述步骤S1具体为:判断是否接收到来自所述终端的扫描成功通知,如果是,则确定所述终端扫描到与预设服务标识对应的蓝牙广播数据;否则,确定所述终端没有扫描到预设服务标识对应的蓝牙广播数据;
或者,
接收所述终端获取到的蓝牙广播数据,判断所述获取到的蓝牙广播数据中是否包含与预设服务标识对应的蓝牙广播数据,如果是,则确定所述终端扫描到与预设服务标识对应的蓝牙广播数据;否则,确定所述终端没有扫描到与预设服务标识对应的蓝牙广播数据。
3.根据权利要求2所述的方法,其特征在于,所述扫描成功通知,具体为:所述终端的***回调的第一函数接口的通知。
4.根据权利要求1所述的方法,其特征在于,所述步骤S1之前,还包括:
判断所述终端的内部环境是否支持蓝牙低功耗,是则设置所述预设服务标识,否则提示不支持所述蓝牙低功耗,结束。
5.根据权利要求4所述的方法,其特征在于,所述判断所述终端的内部环境是否支持蓝牙低功耗,具体为:
执行以下操作中的至少一项:
判断是否获得所述蓝牙低功耗的授权;
判断所述终端的硬件是否支持所述蓝牙低功耗;
判断所述终端的***是否支持所述蓝牙低功耗;
判断所述终端是否开启蓝牙功能;
如果执行的判断的结果均为是,则确定所述终端的内部环境支持所述蓝牙低功耗,否则,确定所述终端的内部环境不支持所述蓝牙低功耗。
6.根据权利要求5所述的方法,其特征在于,所述判断所述终端的内部环境是否支持蓝牙低功耗之前,包括:监听所述终端的内部环境的状态。
7.根据权利要求6所述的方法,其特征在于,所述监听所述终端的内部环境的状态,具体为:在所述终端的***中注册监听函数,实例化蓝牙低功耗中央管理器,并向蓝牙低功耗中央管理器中注册监听对象来实时监听所述终端的内部环境的状态。
8.根据权利要求7所述的方法,其特征在于,所述判断是否获得所述蓝牙低功耗的授权,具体为:检测是否接收到所述监听函数的第一返回值,是则未获得所述蓝牙低功耗的授权,否则获得所述蓝牙低功耗的授权;
所述判断所述终端的硬件是否支持所述蓝牙低功耗,具体为:检测是否接收到所述监听函数的第二返回值,是则所述终端的硬件不支持所述蓝牙低功耗,否则所述终端的硬件支持所述蓝牙低功耗;
所述判断所述终端的***是否支持所述蓝牙低功耗,具体为:检测是否接收到所述监听函数的第三返回值,是则所述终端的***不支持所述蓝牙低功耗,否则所述终端的***支持所述蓝牙低功耗;
所述判断所述终端是否开启蓝牙功能,具体为:检测接收到的所述监听函数的返回值的类型,若为第四返回值,则所述终端已开启蓝牙功能,若为第五返回值,则所述终端未开启蓝牙功能。
9.根据权利要求4所述的方法,其特征在于,所述设置所述预设服务标识之前,还包括:
步骤B1:判断所述终端是否已连接蓝牙设备,是则执行步骤B2,否则设置所述预设服务标识;
步骤B2:判断所述已连接蓝牙设备的名称是否与所述目标蓝牙设备名称相同,是则提示连接成功,结束,否则断开所述已连接蓝牙设备,设置所述预设服务标识。
10.根据权利要求1所述的方法,其特征在于,所述步骤S3包括:
步骤C1:根据所述提取到的蓝牙设备名称,连接对应的蓝牙设备的服务;
步骤C2:根据所述提取到的蓝牙设备名称,扫描所述对应的蓝牙设备的服务下的特征;
步骤C3:当扫描到的特征为接收数据特征时,记录扫描到的特征为所述接收数据特征,将其标记为写特征,当扫描到的特征为发送数据特征时,记录扫描到的特征为所述发送数据特征,将其标记为读特征。
11.根据权利要求10所述的方法,其特征在于,所述步骤C1具体为:接收到终端***检测到与所述提取到的蓝牙设备名称对应的蓝牙设备的服务的通知后,根据所述提取到的蓝牙设备名称,连接对应的蓝牙设备的服务。
12.根据权利要求10所述的方法,其特征在于,所述步骤C2具体为:接收到终端***检测到与所述提取到的蓝牙设备名称对应的蓝牙设备的服务下的特征的通知后,根据所述提取到的蓝牙设备名称,扫描对应的蓝牙设备的服务下的特征。
13.根据权利要求10所述的方法,其特征在于,所述步骤C3具体为:
步骤C3-1:提取扫描到的特征的标识;
步骤C3-2:判断提取到的特征的标识是否为预设接收数据标识和/或预设发送数据标识,若为所述预设接收数据标识,则执行步骤C3-3,若为所述预设发送数据标识,则执行步骤C3-4,否则执行步骤C3-5;
步骤C3-3:记录所述提取到的特征的标识对应的特征为所述接收数据特征,将其标记为写特征,执行步骤C3-5;
步骤C3-4:记录所述提取到的特征的标识对应的特征为所述发送数据特征,将其标记为读特征,执行步骤C3-5;
步骤C3-5:判断所述接收数据特征和所述发送数据特征是否均已记录,是则提示连接成功,结束,否则执行步骤C3-6;
步骤C3-6:判断所述提取到的特征的标识对应的特征是否为最后一个特征,是则提示连接失败,结束,否则提取下一个扫描到的特征的标识,返回步骤C3-2。
14.一种连接蓝牙设备的装置,其特征在于,包括:
第一判断模块,用于判断终端是否扫描到与预设服务标识对应的蓝牙广播数据;
提取模块,用于当所述第一判断模块判断终端扫描到与预设服务标识对应的蓝牙广播数据时,从所述与预设服务标识对应的蓝牙广播数据中提取蓝牙设备名称;
提示模块,用于当所述第一判断模块判断终端未扫描到与预设服务标识对应的蓝牙广播数据时,提示扫描失败,结束;
第二判断模块,用于判断所述提取模块提取到的蓝牙设备名称与目标蓝牙设备名称是否相同;
连接模块,用于当所述第二判断模块判断所述提取模块提取到的蓝牙设备名称与所述目标蓝牙设备名称相同时,根据所述提取模块提取到的蓝牙设备名称,与对应的蓝牙设备连接;
所述第一判断模块,还用于当所述第二判断模块判断所述提取到的蓝牙设备名称与所述目标蓝牙设备名称不同时,判断终端是否扫描到与预设服务标识对应的蓝牙广播数据。
15.根据权利要求14所述的装置,其特征在于,所述第一判断模块,具体用于判断是否接收到来自所述终端的扫描成功通知,如果是,则确定所述终端扫描到与预设服务标识对应的蓝牙广播数据;否则,确定所述终端没有扫描到与预设服务标识对应的蓝牙广播数据;
或者,
接收所述终端获取到的蓝牙广播数据,判断所述获取到的蓝牙广播数据中是否包含与预设服务标识对应的蓝牙广播数据,如果是,则确定所述终端扫描到与预设服务标识对应的蓝牙广播数据;否则,确定所述终端没有扫描到预设服务标识对应的蓝牙广播数据。
16.根据权利要求15所述的装置,其特征在于,所述第一判断模块,具体用于判断是否接收到来自所述终端的***回调的第一函数接口的通知。
17.根据权利要求14所述的装置,其特征在于,还包括:
第三判断模块,用于判断所述终端的内部环境是否支持蓝牙低功耗;
设置模块,用于当所述第三模块判断所述终端的内部环境支持所述蓝牙低功耗时,设置所述预设服务标识;
所述提示模块,还用于当所述第三判断模块判断所述终端的内部环境不支持所述蓝牙低功耗时,提示不支持所述蓝牙低功耗,结束。
18.根据权利要求17所述的装置,其特征在于,所述第三判断模块,具体用于执行以下操作中的至少一项:
判断是否获得所述蓝牙低功耗的授权;
判断所述终端的硬件是否支持所述蓝牙低功耗;
判断所述终端的***是否支持所述蓝牙低功耗;
判断所述终端是否开启蓝牙功能;
如果执行的判断的结果均为是,则确定所述终端的内部环境支持所述蓝牙低功耗,否则,确定所述终端的内部环境不支持所述蓝牙低功耗。
19.根据权利要求18所述的装置,其特征在于,还包括:
监听模块,用于监听所述终端的内部环境的状态。
20.根据权利要求19所述的装置,其特征在于,所述监听模块,具体用于在所述终端的***中注册监听函数,实例化蓝牙低功耗中央管理器,并向蓝牙低功耗中央管理器中注册监听对象来实时监听所述终端的内部环境的状态。
21.根据权利要求20所述的装置,其特征在于,所述第三判断模块具体包括:
第一检测子模块,用于检测是否接收到所述监听函数的第一返回值,是则未获得所述蓝牙低功耗的授权,否则获得所述蓝牙低功耗的授权;
第二检测子模块,用于检测是否接收到所述监听函数的第二返回值,是则所述终端的硬件不支持所述蓝牙低功耗,否则所述终端的硬件支持所述蓝牙低功耗;
第三检测子模块,用于检测是否接收到所述监听函数的第三返回值,是则所述终端的***不支持所述蓝牙低功耗,否则所述终端的***支持所述蓝牙低功耗;
第四检测子模块,用于检测接收到的所述监听函数的返回值的类型,若为第四返回值,则所述终端已开启蓝牙功能,若为第五返回值,则所述终端未开启蓝牙功能。
22.根据权利要求17所述的装置,其特征在于,还包括:
第四判断模块,用于判断所述终端是否已连接蓝牙设备;
第五判断模块,用于当所述第四判断模块判断所述终端已连接蓝牙设备时,判断所述已连接蓝牙设备的名称与所述目标蓝牙设备名称是否相同;
断开模块,用于当所述第五判断模块判断所述已连接蓝牙设备的名称与所述目标蓝牙设备名称不同时,断开所述已连接蓝牙设备,触发所述设置模块;
所述设置模块,具体用于当所述第四判断模块判断所述终端未连接蓝牙设备时,设置所述预设服务标识;
所述提示模块,还用当所述第五判断模块判断所述已连接蓝牙设备的名称与所述目标蓝牙设备名称相同时,提示连接成功。
23.根据权利要求14所述的装置,其特征在于,所述连接模块包括:
连接子模块,用于根据所述提取到的蓝牙设备名称,连接对应的蓝牙设备的服务;
扫描子模块,用于根据所述提取到的蓝牙设备名称,扫描所述对应的蓝牙设备的服务下的特征;
记录子模块,用于当扫描到的特征为接收数据特征时,记录扫描到的特征为所述接收数据特征,将其标记为写特征;用于当扫描到的特征为发送数据特征时,记录扫描到的特征为所述发送数据特征,将其标记为读特征。
24.根据权利要求23所述的装置,其特征在于,所述连接子模块,具体用于接收到终端***检测到与所述提取到的蓝牙设备名称对应的蓝牙设备的服务的通知后,根据所述提取到的蓝牙设备名称,连接对应的蓝牙设备的服务。
25.根据权利要求23所述的装置,其特征在于,所述扫描子模块,具体用于接收到终端***检测到与所述提取到的蓝牙设备名称对应的蓝牙设备的服务下的特征的通知后,根据所述提取到的蓝牙设备名称,扫描对应的蓝牙设备的服务下的特征。
26.根据权利要求23所述的装置,其特征在于,所述记录子模块包括:
提取单元,用于提取扫描到的特征的标识;
第一判断单元,用于判断提取到的特征的标识是否为预设接收数据标识和/或预设发送数据标识;
所述记录子模块,具体用于当所述第一判断单元判断提取到的特征的标识是所述预设接收数据标识时,记录所述提取到的特征的标识对应的特征为所述接收数据特征,将其标记为写特征;
所述记录子模块,具体用于当所述第一判断单元判断提取到的特征的标识是所述预设发送数据标识时,记录所述提取到的特征的标识对应的特征为所述发送数据特征,将其标记为读特征;
第二判断单元,用于判断所述接收数据特征和所述发送数据特征是否均已记录;
所述提示模块,还用于当所述第二判断单元判断所述接收数据特征及所述发送数据特征均已记录时,提示连接成功;
第三判断单元,用于当所述第二判断单元判断所述接收数据特征和所述发送数据特征未全部记录时,判断所述提取到的特征的标识对应的特征是否为最后一个特征;
所述提示模块,还用于当所述第三判断单元判断所述提取到的特征的标识对应的特征是最后一个特征时,提示连接失败;
所述提取单元,还用于当所述第三判断单元判断所述提取到的特征标识对应的特征不是最后一个特征时,提取下一个扫描到的特征的标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510824405.1A CN105517110B (zh) | 2015-11-24 | 2015-11-24 | 一种连接蓝牙设备的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510824405.1A CN105517110B (zh) | 2015-11-24 | 2015-11-24 | 一种连接蓝牙设备的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105517110A true CN105517110A (zh) | 2016-04-20 |
CN105517110B CN105517110B (zh) | 2019-03-29 |
Family
ID=55724660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510824405.1A Active CN105517110B (zh) | 2015-11-24 | 2015-11-24 | 一种连接蓝牙设备的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105517110B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106131810A (zh) * | 2016-06-20 | 2016-11-16 | 飞天诚信科技股份有限公司 | 一种连接蓝牙双模设备的方法及装置 |
CN106211355A (zh) * | 2016-06-15 | 2016-12-07 | 飞天诚信科技股份有限公司 | 一种控制数据交互的设备、***及其工作方法 |
US9973922B1 (en) | 2017-03-23 | 2018-05-15 | Honda Motor Co., Ltd. | User identification from user data associated with a mobile communication device |
CN110267248A (zh) * | 2019-06-28 | 2019-09-20 | 阿里巴巴集团控股有限公司 | Ble通信方法、装置、设备及存储介质 |
CN111542040A (zh) * | 2020-07-07 | 2020-08-14 | 飞天诚信科技股份有限公司 | 一种增强蓝牙连接稳定性的方法及装置 |
US10856347B2 (en) | 2019-06-28 | 2020-12-01 | Advanced New Technologies Co., Ltd. | Wireless communications method, apparatus, device, and storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102654831A (zh) * | 2011-03-04 | 2012-09-05 | 百度在线网络技术(北京)有限公司 | 一种集中控制web页面事件与状态的装置和方法 |
CN204231671U (zh) * | 2014-09-29 | 2015-03-25 | 樊明延 | 一种蓝牙信标装置和无线局域网终端认证接入*** |
CN104540190A (zh) * | 2014-12-30 | 2015-04-22 | 广州视源电子科技股份有限公司 | 与蓝牙设备配对的方法和*** |
CN104539324A (zh) * | 2014-12-25 | 2015-04-22 | 惠州Tcl移动通信有限公司 | 一种蓝牙低功耗组网互连方法及*** |
-
2015
- 2015-11-24 CN CN201510824405.1A patent/CN105517110B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102654831A (zh) * | 2011-03-04 | 2012-09-05 | 百度在线网络技术(北京)有限公司 | 一种集中控制web页面事件与状态的装置和方法 |
CN204231671U (zh) * | 2014-09-29 | 2015-03-25 | 樊明延 | 一种蓝牙信标装置和无线局域网终端认证接入*** |
CN104539324A (zh) * | 2014-12-25 | 2015-04-22 | 惠州Tcl移动通信有限公司 | 一种蓝牙低功耗组网互连方法及*** |
CN104540190A (zh) * | 2014-12-30 | 2015-04-22 | 广州视源电子科技股份有限公司 | 与蓝牙设备配对的方法和*** |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106211355A (zh) * | 2016-06-15 | 2016-12-07 | 飞天诚信科技股份有限公司 | 一种控制数据交互的设备、***及其工作方法 |
CN106211355B (zh) * | 2016-06-15 | 2019-12-20 | 飞天诚信科技股份有限公司 | 一种控制数据交互的设备、***及其工作方法 |
CN106131810A (zh) * | 2016-06-20 | 2016-11-16 | 飞天诚信科技股份有限公司 | 一种连接蓝牙双模设备的方法及装置 |
CN106131810B (zh) * | 2016-06-20 | 2020-06-02 | 飞天诚信科技股份有限公司 | 一种连接蓝牙双模设备的方法及装置 |
US9973922B1 (en) | 2017-03-23 | 2018-05-15 | Honda Motor Co., Ltd. | User identification from user data associated with a mobile communication device |
CN110267248A (zh) * | 2019-06-28 | 2019-09-20 | 阿里巴巴集团控股有限公司 | Ble通信方法、装置、设备及存储介质 |
CN111683359A (zh) * | 2019-06-28 | 2020-09-18 | 阿里巴巴集团控股有限公司 | Ble通信方法、装置、设备及存储介质 |
US10856347B2 (en) | 2019-06-28 | 2020-12-01 | Advanced New Technologies Co., Ltd. | Wireless communications method, apparatus, device, and storage medium |
CN111542040A (zh) * | 2020-07-07 | 2020-08-14 | 飞天诚信科技股份有限公司 | 一种增强蓝牙连接稳定性的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105517110B (zh) | 2019-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105517110A (zh) | 一种连接蓝牙设备的方法及装置 | |
US11516177B1 (en) | Detecting and remediating non-responsive customer premise equipment | |
CN103152374A (zh) | 获知终端在线状态的方法与装置 | |
CN105338178A (zh) | 基于双卡双待单通终端的通信方法及装置 | |
CN101656974A (zh) | 一种sim卡兼容性自动化测试方法及装置 | |
CN113115351A (zh) | 一种网络异常的处理方法、处理装置、终端设备及介质 | |
CN108601018B (zh) | 网络通信功能异常的处理方法、应用处理器及移动终端 | |
US8923841B2 (en) | Method for identifying a mobile telephone | |
CN102833782A (zh) | 一种错误码信息获取方法、装置及*** | |
CN108419258B (zh) | 网络通信功能异常的处理方法、调制解调器及移动终端 | |
CN108738054B (zh) | 网络通信功能异常的处理方法、调制解调器、移动终端及存储介质 | |
CN101820368A (zh) | 以太网链路故障检测方法及装置 | |
CN103051484B (zh) | 会话业务处理方法、***和会话边缘控制器 | |
WO2020007250A1 (zh) | 伪基站识别开关控制方法、装置、移动终端及存储介质 | |
CN104581796B (zh) | 一种m2m应用请求的发送方法、cse和*** | |
US9825901B2 (en) | Method, device, and system for acquiring internet protocol address | |
US9654369B2 (en) | Mobile terminal network port management method and device | |
CN103200148A (zh) | 一种ip pbx注册方法、装置和*** | |
CN106657864A (zh) | 视频通话***和视频通话中切换分辨率的方法 | |
CN101394348B (zh) | 分组域和电路域位置信息同步的方法、装置及*** | |
ES2359160T3 (es) | Sistema, aparato y método de prueba de línea de abonado. | |
CN105577464A (zh) | 双栈用户网络检测方法、装置和*** | |
CN111030879A (zh) | 一种广域网端口的故障检测方法及通信终端设备 | |
WO2022087972A1 (zh) | 多媒体播放盒、通信方法和*** | |
CN111417115B (zh) | 基于数据链路的免密认证方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |