一种POS终端与移动终端双模蓝牙兼容性提升方法与流程

文档序号:29571517发布日期:2022-04-09 04:04阅读:137来源:国知局
一种POS终端与移动终端双模蓝牙兼容性提升方法与流程
一种pos终端与移动终端双模蓝牙兼容性提升方法
技术领域
1.本发明应用于蓝牙兼容性提升领域,具体是一种pos终端与移动终端双模蓝牙兼容性提升方法。


背景技术:

2.随着现代金融支付的发展,越来越多的消费场景中,需要pos(point of sales)终端与移动终端进行短距离数据通信,完成支付过程中的数据传输。蓝牙作为一种短距离无线通信技术,有着连接稳定、成本低的特点,已经广泛使用在了pos终端与移动终端的短距离数据通信中。蓝牙协议作为开放式的全球规范,发展至今形成了两套较为成熟的协议方案:经典蓝牙(蓝牙3.0版本之前)和低功耗蓝牙(蓝牙4.0版本之后),其中适用于数据传输的蓝牙协议为经典蓝牙的spp服务和低功耗蓝牙的gatt服务。当前移动终端中主流的操作系统为android os和ios,其中android os的原生代码完全支持spp服务,android 4.3版本以上才支持gatt服务;ios 7.0版本以上才支持gatt服务,且不直接支持spp服务的连接,需要pos终端额外使用mfi认证的蓝牙模块。
3.因此双模蓝牙设备(同时支持经典蓝牙和低功耗蓝牙)已经成为pos终端中的标准配置,随之引入了与移动终端的双模蓝牙兼容性问题,严重影响用户的使用体验,需要一种提升pos终端与移动终端双模蓝牙兼容性的方法。
4.现有技术中有采用统一双模蓝牙设备mac地址的方法,避免用户使用移动终端误连接的发生,但是没有解决spp和gatt服务连接异常率高的问题,此时蓝牙并不能成功连接上;现有技术中有采用降低扫描间隔的方法,提高扫描过程中蓝牙设备的发现次数,但是对提高连接过程中的成功率没有帮助。
5.现有技术中的主要缺点在于:(1)服务连接异常率较高,双模蓝牙设备在可进行配对连接状态时,gatt服务处于广播的状态,移动终端可搜索获取到广播中包含的蓝牙设备信息,此时若搜索到的广播flag中配置为支持经典蓝牙这一连接功能,移动终端或将连接经典蓝牙的spp服务,导致gatt服务始终无法连接上,进而导致蓝牙配对连接的失败。(2)配对连接的成功率较低,尤其是与未使用规范蓝牙协议栈的设备进行配对连接时更为明显,双模蓝牙设备的协议栈较单模设备来看,涉及的一些附属协议更为丰富,但是考虑蓝牙在完成支付过程中的数据传输这一使用场景时,并不需要所有的交互协议请求都进行同意处理,例如主从角色切换(role switch)、呼吸模式(sniff mode)等。


技术实现要素:

6.本发明所要解决的技术问题是针对现有技术的不足,提供一种pos终端与移动终端双模蓝牙兼容性提升方法。
7.为解决上述技术问题,本发明的一种pos终端与移动终端双模蓝牙兼容性提升方法,具体包括如下步骤:
8.pos终端对双模蓝牙模块进行初始化配置;
9.移动终端搜寻并发现pos终端spp服务或接收gatt服务广播,发起对pos终端的配对连接请求;
10.进行配对连接,同时双模蓝牙模块在协议交互的过程中判断是否为附属协议;
11.pos终端获取双模蓝牙模块的服务连接状态;
12.pos终端启用对应服务,与移动终端配对连接;
13.pos终端与移动终端建立数据收发通道。
14.作为一种可能的实施方式,进一步的,所述pos终端对双模蓝牙模块进行初始化配置步骤包括:生成spp服务的mac地址,并写入初始化配置;其中,gatt服务的mac地址,配置为static属性后修改为与spp服务相同的mac地址;相同的spp服务与gatt服务的蓝牙名称均相同设置。
15.作为一种可能的实施方式,进一步的,所述pos终端对双模蓝牙模块进行初始化配置步骤包括:gatt服务的广播flag配置,其二进制位bit1和bit2配置为1的通用广播模式和不支持经典蓝牙连接功能,并根据二进制与十进制的转化得广播flag的值配置为6。
16.作为一种可能的实施方式,进一步的,所述移动终端搜寻并发现pos终端spp服务或接收gatt服务广播,发起对pos终端的配对连接请求步骤具体包括:pos终端spp服务处于可发现的状态,gatt服务处于发送广播的状态,移动终端进行pos终端的蓝牙搜索并配对连接。
17.作为一种可能的实施方式,进一步的,所述进行配对连接,同时双模蓝牙模块在协议交互的过程中判断是否为附属协议步骤具体包括:双模蓝牙模块解析交互报文,判断是否为附属协议,若是则拒绝,若否则同意。
18.作为一种可能的实施方式,进一步的,所述pos终端获取双模蓝牙模块的服务连接状态步骤具体包括:pos终端对双模蓝牙模块的服务连接反馈状态值进行判断,若是移动终端所请求的服务则不处理,若所反馈的状态值不是所期望获取的状态值,则结束此次连接,重新下发连接请求至双模蓝牙模块。
19.作为一种可能的实施方式,进一步的,所述pos终端启用对应服务,与移动终端配对连接步骤具体包括:双模蓝牙模块返回成功的服务连接状态,pos终端判断与移动终端建立正确的服务连接状态,pos终端关闭spp与gatt服务的可发现与广播。
20.作为一种可能的实施方式,进一步的,所述pos终端与移动终端建立数据收发通道步骤具体包括pos终端根据所连接的服务,选择数据收发通道进行数据的发送与接收。
21.本发明采用以上技术方案,具有以下有益效果:
22.现有技术中的双模蓝牙模块与移动终端配对连接时的spp和gatt服务连接异常率高、配对连接的成功率较低,本发明通过配置gatt服务中的广播flag,使其广播的信息中不支持经典蓝牙连接功能,保证移动终端需要连接gatt服务时排除连接spp服务的可能,在配对连接阶段,实时判断双模蓝牙设备的反馈状态,并且直接拒绝附属交互协议,保证了服务连接的正确性和成功率,提升了pos终端与移动终端双模蓝牙兼容性。
附图说明
23.下面结合附图与具体实施方式对本发明做进一步详细的说明:
24.图1为本发明原理流程示意图;
25.图2为本发明广播flag的配置原则示意图;
26.图3为本发明移动终端与pos终端搜索及连接服务的示意图。
具体实施方式
27.为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述。
28.本发明提供了一种pos终端与移动终端双模蓝牙兼容性提升方法,如图1所示,其中方法步骤包括:
29.步骤s1,pos终端对双模蓝牙模块进行初始化配置,若初始化配置成功则执行步骤s2,若不成功则继续执行步骤s1。
30.具体实施时,本发明中将随机生成一组spp服务的mac地址,并且写入进初始化配置中,对于gatt服务的mac地址,配置为static属性后修改为与spp服务相同的mac地址;相同地spp服务与gatt服务的蓝牙名称也进行相同的设置,保证pos终端蓝牙服务对外的一致性,间接提高了移动终端搜索时的可发现性,提高了搜索效率。
31.进一步的,gatt服务的广播flag配置,如图2所示,广播flag值其二进制位bit1和bit2配置为1,即配置为通用广播模式和不支持经典蓝牙连接功能,根据二进制与十进制的转化公式计算,可得广播flag的值配置为6。
32.步骤s2,移动终端发现pos终端spp服务或接收到gatt服务的广播时,发起对pos终端的配对连接请求。
33.具体实施时,如图3所示,pos终端初始化配置双模蓝牙模块后,spp服务处于可发现的状态,gatt服务处于发送广播的状态,移动终端在搜索其他蓝牙设备时,依此可以搜索到pos终端的蓝牙,并选择进行配对连接。
34.步骤s3,连接过程中双模蓝牙模块在协议交互的过程中判断是否为附属协议。
35.具体实施时,双模蓝牙模块解析交互报文,判断是否为主从角色切换(role switch)、呼吸模式(sniff mode)等附属协议,若是则直接拒绝,若不是则同意。直接拒绝附属协议的方式,能有效提高连接过程中的协议交互速度,同时防止移动终端未使用规范蓝牙协议栈而导致的,配对连接过程中协议栈崩溃的风险,提高移动终端与pos终端的连接成功率。
36.步骤s4,pos终端时刻获取蓝牙模块的服务连接状态。
37.具体实施时,pos终端对双模蓝牙模块的服务连接反馈状态值进行判断,若是移动终端所请求的服务则不进行处理,若所反馈的状态值不是所期望获取的状态值,则结束此次连接,重新下发连接请求至双模蓝牙模块。
38.步骤s5,pos终端启用了正确的服务后,完成与移动终端的配对连接。
39.具体实施时,当双模蓝牙模块返回成功的服务连接状态后,pos终端即认为与移动终端建立起正确的服务连接状态,此时pos终端关闭spp与gatt服务的可发现与广播,禁止其他设备的搜索连接。
40.步骤s6,pos终端与移动终端建立起数据收发的通道。
41.具体实施时,pos终端根据所连接的服务,选择数据收发通道进行数据的发送与接收。
42.综上所述,本发明提供了一种提升pos终端与移动终端双模蓝牙兼容性的方法,方法包括配置gatt服务中的广播flag,使其广播的信息中不支持经典蓝牙连接功能,保证移动终端需要连接gatt服务时排除连接spp服务的可能,在配对连接阶段,实时判断双模蓝牙设备的反馈状态,并且直接拒绝附属交互协议,保证了服务连接的正确性和成功率,提升了pos终端与移动终端双模蓝牙兼容性。
43.其中所述pos终端为蓝牙从设备,内置有双模蓝牙模块,同时支持经典蓝牙的spp服务和低功耗蓝牙的gatt服务,所述移动终端为蓝牙主设备,支持android os或者ios操作系统,该方法包括以下步骤:首先,pos终端对双模蓝牙模块进行初始化配置,其中配置广播flag不支持经典蓝牙的连接功能;其次,作为蓝牙主设备移动终端发现pos终端spp服务或接收到gatt服务的广播时,发起对pos终端的配对连接请求,其中android os发起spp或gatt服务的连接请求,ios发起gatt服务的连接请求;再次,连接过程中pos终端时刻获取蓝牙模块的服务连接状态,判断是否连接上了正确的服务,若不正确则重新连接所请求的服务;最后,在pos终端启用了正确的服务后,完成与移动终端的配对连接,建立起数据收发的通道。
44.为解决现有技术中所存在的缺点,本发明采用的另一种技术方案为:一种提升pos终端与移动终端双模蓝牙兼容性的方法,其中所述pos终端为蓝牙从设备,内置有双模蓝牙模块,同时支持经典蓝牙的spp服务和低功耗蓝牙的gatt服务,所述移动终端为蓝牙主设备,支持android os或者ios操作系统,该方法包括以下步骤:首先,pos终端对双模蓝牙模块进行初始化配置,其中配置广播flag不支持经典蓝牙的连接功能;其次,作为蓝牙主设备移动终端发现pos终端spp服务或接收到gatt服务的广播时,发起对pos终端的配对连接请求,其中android os发起spp或gatt服务的连接请求,ios发起gatt服务的连接请求;再次,连接过程中双模蓝牙模块在协议交互的过程中判断是否为附属协议,例如主从角色切换(role switch)、呼吸模式(sniff mode)等,若是则直接拒绝,进行一下个协议的交互。最后,在pos终端启用了正确的服务后,完成与移动终端的配对连接,建立起数据收发的通道。
45.以上所述为本发明的实施例,对于本领域的普通技术人员而言,根据本发明的教导,在不脱离本发明的原理和精神的情况下凡依本发明申请专利范围所做的均等变化、修改、替换和变型,皆应属本发明的涵盖范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1