电子设备蓝牙设置方法及装置、蓝牙连接方法
【专利摘要】本发明提供的电子设备蓝牙设置方法及装置、蓝牙连接方法,能够在安装不同操作系统的电子设备之间建立连续、稳定的蓝牙连接,特别适合于在IOS系统电子设备和Android系统电子设备之间建立连续、稳定的低功耗蓝牙连接。
【专利说明】
电子设备蓝牙设置方法及装置、蓝牙连接方法
技术领域
[0001]本发明涉及电子设备蓝牙设置方法及装置、蓝牙连接方法。
【背景技术】
[0002]微型电子计算机、移动终端等电子设备在日常生活中发挥着越来越重要的作用,越来越多的人拥有两个或两个以上的电子设备。如何在不同的电子设备之间传输数据、发送消息通知,已经成为一个重要问题。
[0003]利用网络(因特网、通信网络等)可以实现电子设备之间的数据传输,但对于中国这样面积广阔、地理情况复杂的国家而言,网络的覆盖面积还不能完全满足需求,同时网络传输在实时性、流量等方面都存在缺陷。为了克服网络传输的缺陷,蓝牙技术被开发出来,在移动终端等电子设备上得到了较为广泛的应用。蓝牙技术分为传统蓝牙和低功耗蓝牙两种,对应不同的协议。低功耗蓝牙协议包括通用访问协议(GAP)、通用属性协议(GATT)等。低功耗蓝牙正逐步取代传统蓝牙成为蓝牙技术的主流。
[0004]目前移动终端使用的操作系统主要有两种,美国苹果公司开发的1S系统和开源的安卓(Android)系统。如果某一电子设备与1S系统电子设备进行传统蓝牙连接,需要通过MFI认证。而利用现有的1S系统蓝牙基础库和Android系统蓝牙基础库,Android系统电子设备与1S系统电子设备尚不能实现稳定的低功耗蓝牙连接。鉴于此,对于1S系统电子设备和Andro id系统电子设备,如果Android系统电子设备没有通过MFI认证,就不能建立稳定的蓝牙连接。
[0005]在说明书“【背景技术】”部分公开的内容,有助于本领域技术人员理解本发明的技术方案,但不应据此认为这些内容一定属于现有技术或公知常识。
【发明内容】
[0006]为了克服“【背景技术】”部分所反映的缺陷,在电子设备之间建立连续、稳定的蓝牙连接,本发明提供电子设备蓝牙设置方法及装置、蓝牙连接方法。
[0007]电子设备蓝牙设置方法,包括:
[0008]基于第一操作系统的蓝牙基础库,封装可供应用(所述应用指操作系统中的软件或程序)使用的静态蓝牙库;
[0009]在第二操作系统的蓝牙基础库添加GATT描述符及符值。所述的GATT描述符,指与执行GATT协议相关,但在第二操作系统的蓝牙基础库中并不存在,需要额外添加的描述符。
[0010]进一步的,静态蓝牙库提供的接口包括:设定蓝牙服务的令牌、开始及停止扫描、蓝牙连接状态的监控函数与回调函数。
[0011]进一步的,封装通过实现第一操作系统蓝牙基础库的回调函数完成。
[0012]进一步的,第一操作系统为1S系统,第二操作系统为Android系统。
[0013]进一步的,GATT描述符为Android系统的封装类BluetoothGattDescriptor。
[0014]实现电子设备蓝牙设置方法,可以利用电子设备蓝牙设置装置。电子设备蓝牙设置装置,包括封装模块,用于基于第一操作系统的蓝牙基础库,封装可供应用使用的静态蓝牙库。电子设备蓝牙设置装置,包括添加模块,用于在第二操作系统的蓝牙基础库添加GATT描述符及符值。
[0015]电子设备蓝牙连接方法,包括:
[0016]按照电子设备蓝牙设置方法进行电子设备蓝牙设置;
[0017]第一操作系统电子设备(即安装第一操作系统进行管理的电子设备)与第二操作系统电子设备设定蓝牙服务的令牌值;
[0018]启动第一操作系统中使用静态蓝牙库的应用;
[0019]第一操作系统电子设备扫描带有设定令牌值的蓝牙服务,第二操作系统电子设备开启带有设定令牌值的蓝牙服务广播,第一操作系统电子设备和第二操作系统电子设备通过扫描与广播建立蓝牙连接;
[0020]第一操作系统电子设备以特定的时间间隔注册蓝牙服务的特征值。
[0021]进一步的,第一操作系统电子设备和第二操作系统电子设备分别监控蓝牙连接状态,若断开则重新建立连接。
[0022]进一步的,特定的时间间隔为20毫秒。
[0023]由于电子设备蓝牙连接方法,是在之前所述的电子设备蓝牙设置方法的基础上实现的,为了避免不必要的重复,电子设备蓝牙连接方法中的一些描述进行了省略。本领域技术人员通过对照,能够对电子设备蓝牙连接方法有清晰、完整的认识。同理,电子设备蓝牙设置装置是用于实现电子设备蓝牙设置方法的,电子设备蓝牙设置装置的一些描述也进行了省略。
[0024]本发明技术方案中,“包括”、“用于”等词语应按照开放式表达方式理解。本领域技术人员通过阅读本说明书并结合现有技术或公知常识能够获知的内容,本说明书中不再赘述。
[0025]本发明提供的电子设备蓝牙设置方法及装置、蓝牙连接方法,能够在安装不同操作系统的电子设备之间建立连续、稳定的蓝牙连接,特别适用于电子设备的操作系统为1S系统等特殊操作系统导致传统方法无法建立连续、稳定的蓝牙连接的情形。
【附图说明】
[0026]图1为【具体实施方式】中1S系统电子设备和Android系统电子设备建立蓝牙连接的角色与分层结构示意图。
[0027]图2为【具体实施方式】中电子设备蓝牙连接方法的流程图。
【具体实施方式】
[0028]下面对本发明的实施方式进行进一步的具体说明。但应注意,本发明的范围并不局限于所描述的具体技术方案。任何对所描述的具体技术方案中的技术要素进行相同或等同替换获得的技术方案或本领域技术人员在所描述的具体技术方案的基础上不经过创造性劳动就可以获得的技术方案,都应当视为落入本发明的保护范围。
[0029]两个或两个以上的电子设备之间可以建立蓝牙连接。为了简单起见,考虑只有两个电子设备(该电子设备一般为移动终端)的情形,其中一个安装1S系统进行管理,称为1S系统电子设备,另一个安装Andro id系统进行管理,称为Android系统电子设备。1S系统比较特殊,为了在1S系统电子设备和Android系统电子设备之间建立蓝牙连接,需要对电子设备进行设置,具体的设置方法包括:
[0030]基于1S系统的蓝牙基础库,封装可供应用(这里的应用,指1S系统中的一个或多个软件或程序)使用的静态蓝牙库(有时也称蓝牙静态程序库,可以简称为kiki库K1S系统的蓝牙基础库中包括已经定义好的监控函数与回调函数,对kiki库的封装可以通过实现1S系统蓝牙基础库的回调函数来完成。kiki库应当提供必要的接口,这些接口包括:设定蓝牙服务的令牌(token)、开始及停止扫描、蓝牙连接状态的监控函数与回调函数。
[0031 ] 在Android系统的蓝牙基础库添加GATT描述符及符值。GATT描述符选取为Android系统的封装类BluetoothGattDescriptor。根据Android系统的设置,BluetoothGattDescriptor的符值的取值范围是有限的,本领域技术人员可以在有限的符值取值范围内进行试验,选取效果较好的符值。
[0032]以上所述的1S系统封装kiki库和Android系统的蓝牙基础库添加GATT描述符及符值两个步骤,相互平行,互不干扰,但在1S系统电子设备与Android系统电子设备建立蓝牙连接之前,两个步骤都要完成,否则1S系统电子设备与Android系统电子设备之间无法建立连续、稳定的蓝牙连接。如果1S系统的应用中使用kiki库,则该应用启动后,1S系统电子设备可以被识别为一个低功耗蓝牙连接的从设备。而Android系统的蓝牙基础库添加GATT描述符及符值后,Android系统电子设备可以被识别为一个低功耗蓝牙连接的主设备。基于此,1S系统电子设备和Android系统电子设备建立蓝牙连接的角色与分层结构如图1所示。GATT描述符确定为BluetoothGattDescr iptor后,通过选取适合的符值,可以保证1S系统电子设备和Andr ο i d系统电子设备之间的蓝牙连接持续而稳定。
[0033]实现电子设备蓝牙设置方法,可以利用电子设备蓝牙设置装置。电子设备蓝牙设置装置,包括封装模块,用于基于1S系统的蓝牙基础库,封装可供应用使用的静态蓝牙库;电子设备蓝牙设置装置,包括添加模块,用于在Android系统的蓝牙基础库添加GATT描述符及符值。以上所述的封装模块,可以在1S系统中编写专用的程序实现;以上所述的添加模块,可以在Android系统中编写专用的程序实现。
[0034]在电子设备蓝牙设置的基础上,可以进行电子设备蓝牙连接,具体连接方法如图2所示,包括:
[0035]S201:按照电子设备蓝牙设置方法进行电子设备蓝牙设置;
[0036]S202:1OS系统电子设备与Android系统电子设备设定蓝牙服务的令牌(token)值;
[0037]S203:启动1S系统中使用静态蓝牙库(kiki库)的应用;
[0038]S204:1OS系统电子设备扫描带有设定令牌(token)值的蓝牙服务,Android系统电子设备开启带有设定令牌(token)值的蓝牙服务广播,1S系统电子设备和Android系统电子设备通过扫描与广播建立蓝牙连接;
[0039]S205:10S系统电子设备以特定的时间间隔注册蓝牙服务的特征值。
[0040]蓝牙服务特征值的设置,遵照GATT等协议中的规定。注册可以视为获取特征值的过程。1S系统电子设备以特定的时间间隔注册蓝牙服务的特征值,指的是1S系统电子设备和Android系统电子设备通过扫描与广播建立蓝牙连接后,经过特定的时间间隔,1S系统电子设备再获取蓝牙服务的特征值。这样可以保证所有特征值都被识别,不会遗漏部分需要注册的特征值。特定的时间间隔,可以取20毫秒。如果时间间隔少于20毫秒,可能造成1S系统电子设备遗漏一些应当获取的特征值,从而影响蓝牙连接的稳定性。
[0041 ] 以上方法还可以包括S206: 1S系统电子设备和Android系统电子设备分别监控蓝牙连接状态,若断开则重新建立连接。重新建立连接的具体方法是重复以上所述的S204和S205步骤。
[0042]由于1S系统的特殊性,1S系统电子设备和Android系统电子设备之间利用传统技术无法建立蓝牙连接,或者刚刚连接上就断开(假连接)。本发明技术方案,通过在Android系统的蓝牙基础库添加GATT描述符及符值,并设置1S系统电子设备注册蓝牙服务特征值的合理时间间隔,实现了在1S系统电子设备和Android系统电子设备之间建立连续、稳定的蓝牙连接,特别适合于在1S系统电子设备和Android系统电子设备之间建立连续、稳定的低功耗蓝牙连接。
[0043]本领域技术人员在以上所描述的具体技术方案的基础上,完全可以构造出其他方案。例如,第一操作系统和第二操作系统,可以采用1S系统和Android系统之外的其他操作系统,电子设备蓝牙设置方法和蓝牙连接方法进行相应的改变。在此不一一列举。
【主权项】
1.电子设备蓝牙设置方法,其特征在于,所述的设置方法包括: 基于第一操作系统的蓝牙基础库,封装可供应用使用的静态蓝牙库; 在第二操作系统的蓝牙基础库添加GATT描述符及符值。2.根据权利要求1所述的设置方法,其特征在于,所述的静态蓝牙库提供的接口包括:设定蓝牙服务的令牌、开始及停止扫描、蓝牙连接状态的监控函数与回调函数。3.根据权利要求1所述的设置方法,其特征在于,所述的封装通过实现第一操作系统蓝牙基础库的回调函数完成。4.根据权利要求1-3任一项所述的设置方法,其特征在于,所述的第一操作系统为1S系统,所述的第二操作系统为Android系统。5.根据权利要求4所述的设置方法,其特征在于,所述的GATT描述符为Android系统的封装类 BluetoothGattDescr iptor。6.电子设备蓝牙设置装置,其特征在于,所述的装置包括封装模块,所述的封装模块用于基于第一操作系统的蓝牙基础库,封装可供应用使用的静态蓝牙库。7.电子设备蓝牙设置装置,其特征在于,所述的装置包括添加模块,所述的添加模块用于在第二操作系统的蓝牙基础库添加GATT描述符及符值。8.电子设备蓝牙连接方法,其特征在于,所述的连接方法包括: 按照权利要求1-5任一项所述的设置方法进行电子设备蓝牙设置; 第一操作系统电子设备与第二操作系统电子设备设定蓝牙服务的令牌值; 启动第一操作系统中使用静态蓝牙库的应用; 第一操作系统电子设备扫描带有设定令牌值的蓝牙服务,第二操作系统电子设备开启带有设定令牌值的蓝牙服务广播,第一操作系统电子设备和第二操作系统电子设备通过扫描与广播建立蓝牙连接; 第一操作系统电子设备以特定的时间间隔注册蓝牙服务的特征值。9.根据权利要求8所述的连接方法,其特征在于,所述的连接方法还包括:第一操作系统电子设备和第二操作系统电子设备分别监控蓝牙连接状态,若断开则重新建立连接。10.根据权利要求8所述的连接方法,其特征在于,所述的特定的时间间隔为20毫秒。
【文档编号】H04B5/00GK106059635SQ201610562232
【公开日】2016年10月26日
【申请日】2016年7月15日
【发明人】唐宇, 温健, 盛亚坤
【申请人】北京海誉动想科技股份有限公司