一种提高POS机与移动终端蓝牙兼容性的方法及装置

申请号 CN201410628361.0 申请日 2014-11-10 公开(公告)号 CN104469658A 公开(公告)日 2015-03-25
申请人 福建联迪商用设备有限公司; 发明人 张炽成; 吴衍;
摘要 本 发明 公开一种提高POS机与移动终端蓝牙兼容性的方法,该方法通过设置所述POS机的蓝牙4.0的地址类型为public型,使蓝牙4.0地址沿用蓝牙2.1的地址;通过设置POS机的蓝牙2.1的查询扫描类型设定为interlaced,减小POS机蓝牙2.1的查询扫描的扫描窗口的间隔进行查询扫描操作;以及通过减小POS机呼叫扫描窗口的间隔进行呼叫扫描操作;提高POS机的可发现性和提高移动终端与POS机之间的可连接性。本发明还公开一种提高POS机与移动终端蓝牙兼容性的装置。
权利要求

1.一种提高POS机与移动终端蓝牙兼容性的方法,其中,所述移动终端为蓝牙主设备,POS机为蓝牙从设备,POS机的蓝牙模为双模蓝牙模块,同时支持蓝牙2.1和蓝牙4.0,其特征在于,包括以下步骤:
查询步骤:
设置所述POS机的蓝牙4.0的地址类型为public型,使蓝牙4.0地址沿用蓝牙2.1的地址;
移动终端向外发送查询消息进行查询操作;
设置POS机的蓝牙2.1的查询扫描类型设定为interlaced,减小POS机蓝牙2.1的查询扫描的扫描窗口的间隔进行查询扫描操作;
POS机判断是否接收到所述查询消息,当接收到所述查询消息时向所述移动终端发送FHS报文,进入呼叫连接步骤;
呼叫连接步骤:
移动终端接收到所述FHS报文后进行呼叫操作;
POS机减小呼叫扫描窗口的间隔进行呼叫扫描操作;
通过所述呼叫操作和呼叫扫描操作,移动终端与POS机建立蓝牙底层连接;
当蓝牙底层连接建立完成后,移动终端与POS机建立传输层连接。
2.根据权利要求1所述的提高POS机与移动终端蓝牙兼容性的方法,其特征在于,当移动终端与POS机之间的传输层连接断开时,POS机启动一定时器
若在所述定时器溢出前POS机未接收到移动终端发送的重新连接的请求,则POS断开与移动终端的蓝牙底层连接,否则保持所述蓝牙底层连接,并重新建立移动终端与POS机之间的传输层连接。
3.根据权利要求2所述的提高POS机与移动终端蓝牙兼容性的方法,其特征在于,所述移动终端进行呼叫操作时减小发送呼叫信息的呼叫窗口的间隔进行呼叫操作。
4.根据权利要求2所述的提高POS机与移动终端蓝牙兼容性的方法,其特征在于,所述“减小POS机蓝牙2.1的查询扫描的扫描窗口的间隔进行查询扫描操作”具体为:
POS机使用32个跳频频率进行查询扫描,将所述32个跳频频率分为两个16个跳频的部分,每隔1.28s设置两个紧挨着的第一扫描窗口和第二扫描窗口,所述第一扫描窗口的跳频为fk,第二扫描窗口的跳频为(fk+16)mod 32,其中,所述K值为16个跳频频率的编号,从1到16。
5.根据权利要求2所述的提高POS机与移动终端蓝牙兼容性的方法,其特征在于,所述“移动终端与POS机建立蓝牙底层连接”具体包括:
移动终端通过所述呼叫信息向POS机发送ID包1;
POS机通过呼叫扫描获取所述ID包1,在获取到所述ID包1后POS机从呼叫扫描状态进入应答状态并向移动终端发送ID包2;
移动终端接收所述移动终端发送的ID包2,在收到所述ID包2后进入应答状态并向POS机发送FHS报文;
POS机接收到所述FHS报文后向移动终端发送ID包3,移动终端与POS机蓝牙底层连接建立完成。
6.一种提高POS机与移动终端蓝牙兼容性的方法,其中,所述移动终端为蓝牙主设备,POS机为蓝牙从设备,POS机的蓝牙模块为双模蓝牙同时支持蓝牙2.1和蓝牙4.0,其特征在于,包括以下步骤:
设置所述POS机的蓝牙4.0的地址类型为public型,使蓝牙4.0地址沿用蓝牙2.1的地址;
移动终端进行呼叫操作;
设置POS机的蓝牙2.1的呼叫扫描类型设定为interlaced,减小POS机蓝牙2.1的呼叫扫描的扫描窗口的间隔进行呼叫扫描操作;
移动终端与POS机建立蓝牙底层连接;
当蓝牙底层连接建立完成后,移动终端与POS机建立传输层连接。
7.根据权利要求6所述的提高POS机与移动终端蓝牙兼容性的方法,其特征在于,当移动终端与POS机之间的传输层连接断开时,POS机启动一定时器;
若在所述定时器溢出前POS机未接收到移动终端发送的重新连接请求,则POS断开所述蓝牙底层连接,否则保持所述蓝牙底层连接,并重新建立移动终端与POS机之间的传输层连接。
8.根据权利要求7所述的提高POS机与移动终端蓝牙兼容性的方法,其特征在于,所述移动终端进行呼叫操作时减小发送呼叫信息的呼叫窗口的间隔进行呼叫操作。
9.一种提高POS机与移动终端蓝牙兼容性的装置,其中,所述移动终端为蓝牙主设备,POS机为蓝牙从设备,POS机的蓝牙模块为双模蓝牙同时支持蓝牙2.1和蓝牙4.0,其特征在于,包括查询单元和呼叫连接单元;
所述查询单元用于设置所述POS机的蓝牙4.0的地址类型为public型,使蓝牙4.0地址沿用蓝牙2.1的地址;
用于控制移动终端向外发送查询消息进行查询操作;
用于设置POS机的蓝牙2.1的查询扫描类型设定为interlaced,减小POS机蓝牙2.1的查询扫描的扫描窗口的间隔,POS机进行查询扫描操作;
以及用于控制POS机判断是否接收到所述查询消息,当接收到所述查询消息时向所述移动终端发送FHS报文,进入呼叫连接步骤;
所述呼叫连接单元用于控制移动终端接收到所述FHS报文后进行呼叫操作;
用于控制POS机减小呼叫扫描窗口的间隔进行呼叫扫描操作;
用于控制移动终端与POS机建立蓝牙底层连接;
以及用于当蓝牙底层连接建立完成后,控制移动终端与POS机建立传输层连接。

说明书全文

一种提高POS机与移动终端蓝牙兼容性的方法及装置

技术领域

[0001] 本发明涉及蓝牙通讯领域,特别是涉及一种提高POS机与移动终端蓝牙兼容性的方法及装置。

背景技术

[0002] 在传统电子金融支付行业,金融POS(point of sale)机起着举足轻重的作用,但是随着移动电子商务的发展,手机消费渐渐成为人们目前消费一种重要支付手段,越来越多的POS机使用蓝牙和用户手机进行通信。但是随之而来的问题就是POS机和手机之间使用蓝牙通信的兼容性问题,蓝牙协议发展至今已经从多数设备使用的蓝牙2.1慢慢向低功耗的蓝牙4.0做过渡,手机领域里的两大阵营:android和ios也主要是利用这两种协议的蓝牙做为自己的蓝牙工具,所以POS设备的蓝牙不仅需要同时支持蓝牙2.1和蓝牙4.0,而且在扫描连接通信上都要做到兼容大部分(90%以上)的android手机和所有的(iphone4s以上手机才能支持蓝牙4.0)iphone手机,只有做到这样的兼容性覆盖率POS设备的蓝牙兼容性才算合格,才能提高POS机的用户体验。因此需要有一种提升POS设备和手机蓝牙兼容性的方法来提高POS设备手机兼容性和用户体验。
[0003] 目前市面上的蓝牙设备大都良莠不齐,其中的蓝牙协议栈也是五花八,在POS行业由于传输的数据不是那么大量,因此走的蓝牙上层协议主要是基于蓝牙2.1的RFCOMM协议和基于蓝牙4.0的GATT协议就可以满足POS设备和手机的通信要求。为了兼容市面上的大部分android和ios手机,目前的POS设备的蓝牙模基本是以双模的为主,即既支持蓝牙2.1也支持蓝牙4.0。
[0004] 现有的这种双模的蓝牙兼容性方案比较成熟的有,将蓝牙4.0的蓝牙地址设为random类型的方案,这种方案将双模模块的蓝牙2.1地址与蓝牙4.0的地址分开,两者的地址值不同,支持蓝牙双模的手机在搜索该种POS机蓝牙的时候会搜索出两个蓝牙设备,一个是蓝牙2.1设备一个是蓝牙4.0设备,两个地址是不一样的,这种方案的好处是蓝牙2.1和蓝牙4.0分开,防止手机蓝牙使用蓝牙2.1的协议接口误连到蓝牙4.0的设备,造成连接问题。
[0005] 但是现有的双模蓝牙兼容性方案还存在很多缺点,在蓝牙的扫描连接上为人诟病,主要有以下几点:
[0006] 1)可发现性差,双模模块的蓝牙2.1设备的查询扫描scan type类型默认为standard,这种类型的查询扫描性能较差。同时双模模块的蓝牙4.0设备地址设为random类型,这样的话蓝牙2.1地址与蓝牙4.0地址分开,用户使用手机搜出来的设备是两个设备,如果用户使用的是手机的蓝牙2.1功能,那么搜索就只能等待搜索出蓝牙2.1的设备,而蓝牙2.1设备的可发现性要弱于蓝牙4.0的设备的那种广播模式,因此这种方案也会造成双模设备的蓝牙2.1可发现性很差。
[0007] 2)连接性差,双模设备的连接分为蓝牙2.1的RFCOMM连接和蓝牙4.0的GATT连接,连接性差主要是在蓝牙2.1的连接上,蓝牙2.1的底层连接page存在呼叫不上的问题,直接导致上层连接无法进行。

发明内容

[0008] 本发明所要解决的技术问题是:提供一种提高POS机与移动终端蓝牙兼容性的方法及装置,该方法能有效提高POS机与移动终端蓝牙连接的成功率和连接时间。
[0009] 为了解决上述技术问题,本发明采用的技术方案为:一种提高POS机与移动终端蓝牙兼容性的方法,其中,所述移动终端为蓝牙主设备,POS机为蓝牙从设备,POS机的蓝牙模块为双模蓝牙模块,同时支持蓝牙2.1和蓝牙4.0,该方法包括以下步骤:查询步骤:设置所述POS机的蓝牙4.0的地址类型为public型,使蓝牙4.0地址沿用蓝牙2.1的地址;移动终端向外发送查询消息进行查询操作;设置POS机的蓝牙2.1的查询扫描类型设定为interlaced,减小POS机蓝牙2.1的查询扫描的扫描窗口的间隔进行查询扫描操作;POS机判断是否接收到所述查询消息,当接收到所述查询消息时向所述移动终端发送FHS报文,进入呼叫连接步骤;呼叫连接步骤:移动终端接收到所述FHS报文后进行呼叫操作;
[0010] POS机减小呼叫扫描窗口的间隔进行呼叫扫描操作;通过所述呼叫操作和呼叫扫描操作,移动终端与POS机建立蓝牙底层连接;当蓝牙底层连接建立完成后,移动终端与POS机建立传输层连接。
[0011] 为解决上述技术问题,本发明提供的另一技术方案为:一种提高POS机与移动终端蓝牙兼容性的方法,其中,所述移动终端为蓝牙主设备,POS机为蓝牙从设备,POS机的蓝牙模块为双模蓝牙同时支持蓝牙2.1和蓝牙4.0,该方法包括以下步骤:设置所述POS机的蓝牙4.0的地址类型为public型,使蓝牙4.0地址沿用蓝牙2.1的地址;移动终端进行呼叫操作;设置POS机的蓝牙2.1的呼叫扫描类型设定为interlaced,减小POS机蓝牙2.1的呼叫扫描的扫描窗口的间隔进行呼叫扫描操作;移动终端与POS机建立蓝牙底层连接;当蓝牙底层连接建立完成后,移动终端与POS机建立传输层连接。
[0012] 为解决上述技术问题,本发明提供的另一技术方案为:一种提高POS机与移动终端蓝牙兼容性的装置,其中,所述移动终端为蓝牙主设备,POS机为蓝牙从设备,POS机的蓝牙模块为双模蓝牙同时支持蓝牙2.1和蓝牙4.0,该装置包括查询单元和呼叫连接单元;所述查询单元用于设置所述POS机的蓝牙4.0的地址类型为public型,使蓝牙4.0地址沿用蓝牙2.1的地址;用于控制移动终端向外发送查询消息进行查询操作;用于设置POS机的蓝牙2.1的查询扫描类型设定为interlaced,减小POS机蓝牙2.1的查询扫描的扫描窗口的间隔,POS机进行查询扫描操作;以及用于控制POS机判断是否接收到所述查询消息,当接收到所述查询消息时向所述移动终端发送FHS报文,进入呼叫连接步骤;所述呼叫连接单元用于控制移动终端接收到所述FHS报文后进行呼叫操作;用于控制POS机减小呼叫扫描窗口的间隔进行呼叫扫描操作;用于控制移动终端与POS机建立蓝牙底层连接;以及用于当蓝牙底层连接建立完成后,控制移动终端与POS机建立传输层连接。
[0013] 本发明的有益效果在于:区别于现有POS机的蓝牙可发现性和可连接性差,以及POS机的双模模块的蓝牙具有两个地址,容易造成误连接,本发明通过将POS机蓝牙4.0的地址类型设置为public型,使其与蓝牙2.1使用相同的地址,避免了误连接的发生,并且在移动终端与POS机查询时将POS机的查询扫描的扫描类型设置为interlaced,并减小扫描窗口的间隔(interval),提高查询扫描响应速率,提高蓝牙设备的可发现性,以及在呼叫连接时减小POS机呼叫扫描窗口之间的间隔,提高POS设备的连接成功率,同时也可以缩短连接的时间。附图说明
[0014] 图1为本发明一实施方式提高POS机与移动终端蓝牙兼容性的方法的步骤示意图;
[0015] 图2为本发明一实施方式提高POS机与移动终端蓝牙兼容性的方法的步骤示意图;
[0016] 图3为本发明一实施方式提高POS机与移动终端蓝牙兼容性的装置的功能结构框图
[0017] 图4为本发明一实施方式中蓝牙2.1的查询步骤状态迁移图;
[0018] 图5为现有技术中蓝牙2.1主设备与从设备查询步骤的时序示意图;
[0019] 图6为本发明一实施方式中蓝牙2.1主设备与从设备查询步骤的时序示意图;
[0020] 图7为本发明一实施方式中蓝牙2.1呼叫连接步骤状态迁移图;
[0021] 图8为本发明一实施方式中蓝牙2.1呼叫连接步骤的时序示意图;
[0022] 标号说明:
[0023] 10、查询单元;20、呼叫连接单元。

具体实施方式

[0024] 为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
[0025] 名词解释
[0026] public型:共用型地址,BT2.1和BT4.0共用一个地址的意思。
[0027] interlaced:交织的扫描类型,扫描窗口中的频率为交织存在。
[0028] interval:间隔,两个窗口的间隔。
[0029] 本发明最关键的构思在于:本发明通过使POS机蓝牙4.0与蓝牙2.1使用相同的地址,避免误连接,通过在查询时将POS机的查询扫描方式修改为interlaced,减小扫描窗口的间隔来提高蓝牙设备的可发现性,以及通过呼叫连接时减小蓝牙设备的呼叫扫描窗口的间隔提高蓝牙可连接性。
[0030] 请参照图1,一种提高POS机与移动终端蓝牙兼容性的方法,其中,所述移动终端为蓝牙主设备,POS机为蓝牙从设备,POS机的蓝牙模块为双模蓝牙模块,同时支持蓝牙2.1和蓝牙4.0,该方法包括以下步骤:
[0031] 查询步骤:
[0032] S11、设置所述POS机的蓝牙4.0的地址类型为public型,使蓝牙4.0地址沿用蓝牙2.1的地址;
[0033] S12、移动终端向外发送查询消息进行查询操作;
[0034] S13、设置POS机的蓝牙2.1的查询扫描类型设定为interlaced,减小POS机蓝牙2.1的查询扫描的扫描窗口的间隔进行查询扫描操作;
[0035] S14、POS机判断是否接收到所述查询消息,当接收到所述查询消息时向所述移动终端发送FHS报文,进入呼叫连接步骤;
[0036] 呼叫连接步骤:
[0037] S21、移动终端接收到所述FHS报文后进行呼叫操作;
[0038] S22、POS机减小呼叫扫描窗口的间隔进行呼叫扫描操作;
[0039] S23、通过所述呼叫操作和呼叫扫描操作,移动终端与POS机建立蓝牙底层连接;
[0040] S24、当蓝牙底层连接建立完成后,移动终端与POS机建立传输层连接。
[0041] 从上述描述可知,本发明的有益效果在于:本发明将POS机蓝牙4.0的地址类型设置为public型,使蓝牙4.0的地址直接沿用蓝牙2.1的地址,因此使用蓝牙2.1的移动终端在进行连接配对时(即搜索时)会发现两个蓝牙设备,即POS机的蓝牙4.0和蓝牙2.1,但这两个蓝牙设备的MAC地址是相同的,因此,即选择POS机的蓝牙4.0进行连接配对也是可以的,避免了蓝牙无法连接或误连接情况的发生;并且本发明通过设置POS机蓝牙2.1查询扫描的扫描类型,将其修改为intdrlaced,并缩扫描窗口之间的间隔(即interval),使查询扫描响应更及时迅速,从而提高POS机蓝牙2.1的可发现性;进一步的,本发明还通过缩小呼叫连接时POS机蓝牙2.1呼叫扫描的扫描窗口的间隔(即interval),使POS机的蓝牙2.1的呼叫扫描更快速及时,提高蓝牙呼叫连接的成功率。
[0042] 在本发明中,在蓝牙协议栈初始化的时候,host端(CPU)发送设置的HCI命令给control(蓝牙芯片),其中的HCI命令就包括了扫描类型的设置和扫描窗口的interval值,这样到蓝牙协议栈启动成功之后扫描类型的设置和扫描窗口的interval值就生效了。所述移动终端包括android或者IOS手机。
[0043] 进一步的,在本实施方式中,当移动终端与POS机之间的传输层连接断开时,POS机启动一定时器
[0044] 若在所述定时器溢出前POS机未接收到移动终端发送的重新连接的请求,则POS断开与移动终端的蓝牙底层连接,否则保持所述蓝牙底层连接,并重新建立移动终端与POS机之间的传输层连接。
[0045] 其中定时器的溢出时长可以根据实际需要选择,在本实施方式中所述定时器的溢出时长设定为5秒钟。
[0046] 由上述描述可知,当移动终端主动断开连接后,移动终端与POS机蓝牙连接的上层的连接先断开(即传输层连接先断开),这时POS机不主动断开蓝牙的底层连接,等待手机来主动断开底层连接,只有当定时器溢出时移动终端还不主动断开蓝牙底层连接,POS机才会去断开蓝牙底层连接,这样做的好处是当一次连接断开后,如果手机又立即发起下一次连接,蓝牙的底层连接仍然是还存在的,这时候蓝牙的连接只需要做上层连接,这样的话连接的耗时就主要是在上层连接上,而上层连接的耗时是要远远短于底层连接的,所以移动终端和POS的蓝牙连接时间在多次重复连接的时候有很明显的提高。
[0047] 请参阅图5,在现有技术中,为了发现其他设备,主设备(移动终端)处于查询状态,在这个状态,它在不同的跳频频率上重复发送查询消息,查询消息使用的是固定的32个查询跳频频率,将32个查询跳频序列频率分为两个16跳的部分,这两个部分分别为两个10ms的A、B序列。若是主设备一直未收到从设备的响应,将在A组的16个频道上一直重复广播查询信号,至少重复256次。之后主设备切换到B组上广播,B组广播完切换到A组,这样至少会换3个组以上,这是为了收集理想环境的所有响应。
[0048] 从设备(POS机)要进入查询扫描状态,查询扫描也用到和查询一样的32个跳频频率,也是将32个查询跳频序列频率分为两个16跳的部分。跳频序列的选择由查询扫描节点的本地时钟确定,每1.28s改变一次,一次扫描窗口为11.25ms。当从设备的查询扫描窗口跟主设备的查询窗口吻合,从设备则立即进入查询响应状态,使用FHS报文进行响应,完成一次查询发现过程。
[0049] 进一步的,请参阅图6,在本实施方式中,采用interlaced方式进行查询扫描,其中,所述“减小POS机蓝牙2.1的查询扫描的扫描窗口的间隔进行查询扫描操作”具体为:
[0050] POS机使用32个跳频频率进行查询扫描,将所述32个跳频频率分为两个16个跳频的部分,每隔1.28s设置两个紧挨着的第一扫描窗口和第二扫描窗口,所述第一扫描窗口的跳频为fk,第二扫描窗口的跳频为(fk+16)mod 32,其中,所述K的值为16个跳频频率的编号,从1到16。即本实施方式中扫描窗口不再是1.28s只有一个,而是每隔1.28s有两个紧挨着的扫描窗口,这两个扫描窗口的跳频也不一样,原来的扫描窗口频率还是为fk,多出来的那个扫描窗口的跳频是按公式(fk+16)mod 32来计算,而1.28s之后的扫描窗口跳频的递增顺序不变依然是fk+1。
[0051] 由上述描述可知,从上图可以看出,从设备在查询扫描过程中的不同,可以看出每1.28s扫描窗口从原来的一个变成两个,且跳频频率序列从原来的fk、fk+1······fk+n变成fk、(fk+16)mod 32、fk+1、(fk+1+16)mod 32······fk+n、(fk+n+16)mod 32,这样就呈现出扫描跳频互相交织的状态,这样的好处是多出来的交织扫描窗口可以让从设备更快地扫描到主设备的查询跳频,增加从设备的可发现性。
[0052] 请参阅图7,所述“移动终端与POS机建立蓝牙底层连接”具体包括:
[0053] 移动终端通过所述呼叫信息向POS机发送ID包1;
[0054] POS机通过呼叫扫描获取所述ID包1,在获取到所述ID包2后POS机从呼叫扫描状态进入应答状态并向移动终端发送ID包2;
[0055] 移动终端接收所述移动终端发送的ID包2,在收到所述ID包后2进入应答状态并向POS机发送FHS报文;
[0056] POS机接收到所述FHS报文后向移动终端发送ID包3,移动终端与POS机蓝牙底层连接建立完成。
[0057] 进一步的,在一实施方式中,所述移动终端进行呼叫操作时减小发送呼叫信息的呼叫窗口的间隔进行呼叫操作,从而提高呼叫连接的成功率。
[0058] 请参阅图2;本发明提供的另一技术方案为:一种提高POS机与移动终端蓝牙兼容性的方法,其中,所述移动终端为蓝牙主设备,POS机为蓝牙从设备,POS机的蓝牙模块为双模蓝牙同时支持蓝牙2.1和蓝牙4.0,该方法包括以下步骤:
[0059] S31、设置所述POS机的蓝牙4.0的地址类型为public型,使蓝牙4.0地址沿用蓝牙2.1的地址;
[0060] S32、移动终端进行呼叫操作;
[0061] S33、设置POS机的蓝牙2.1的呼叫扫描类型设定为interlaced,减小POS机蓝牙2.1的呼叫扫描的扫描窗口的间隔进行呼叫扫描操作;
[0062] S34、移动终端与POS机建立蓝牙底层连接;
[0063] S35、当蓝牙底层连接建立完成后,移动终端与POS机建立传输层连接。
[0064] 本技术方案适用于移动终端与POS机之前已经蓝牙连接过,并且双方都存储有在先连接的信息,因此可以不用查询步骤直接进行呼叫连接步骤。
[0065] 从上述描述可知,本发明的有益效果在于:本发明将POS机蓝牙4.0的地址类型设置为public型,使蓝牙4.0的地址直接沿用蓝牙2.1的地址,避免了蓝牙无法连接或误连接情况的发生;并且本发明通过设置POS机蓝牙2.1呼叫扫描的的扫描类型,将其修改为intdrlaced,并缩扫描窗口之间的间隔(即interval),使POS机的蓝牙2.1的呼叫扫描更快速及时,提高蓝牙呼叫连接的成功率。
[0066] 进一步的,在一实施方式中,当移动终端与POS机之间的传输层连接断开时,POS机启动一定时器;
[0067] 若在所述定时器溢出前POS机未接收到移动终端发送的重新连接请求,则POS断开所述蓝牙底层连接,否则保持所述蓝牙底层连接,并重新建立移动终端与POS机之间的传输层连接。
[0068] 由以上描述可知,本实施方式可以有效减小移动终端与POS机蓝牙连接中断时再次连接的时间长度,同时也有利用提高蓝牙连接的稳定性
[0069] 在一实施方式中,所述移动终端进行呼叫操作时减小发送呼叫信息的呼叫窗口的间隔进行呼叫操作,从而提高呼叫连接的成功率。
[0070] 请参阅图3,本发明提供的另一技术方案为:一种提高POS机与移动终端蓝牙兼容性的装置,其中,所述移动终端为蓝牙主设备,POS机为蓝牙从设备,POS机的蓝牙模块为双模蓝牙同时支持蓝牙2.1和蓝牙4.0,该装置包括查询单元10和呼叫连接单元20;
[0071] 所述查询单元10用于设置所述POS机的蓝牙4.0的地址类型为public型,使蓝牙4.0地址沿用蓝牙2.1的地址;
[0072] 用于控制移动终端向外发送查询消息进行查询操作;
[0073] 用于设置POS机的蓝牙2.1的查询扫描类型设定为interlaced,减小POS机蓝牙2.1的查询扫描的扫描窗口的间隔,POS机进行查询扫描操作;
[0074] 以及用于控制POS机判断是否接收到所述查询消息,当接收到所述查询消息时向所述移动终端发送FHS报文,进入呼叫连接步骤;
[0075] 所述呼叫连接单元20用于控制移动终端接收到所述FHS报文后进行呼叫操作;
[0076] 用于控制POS机减小呼叫扫描窗口的间隔进行呼叫扫描操作;
[0077] 用于控制移动终端与POS机建立蓝牙底层连接;
[0078] 以及用于当蓝牙底层连接建立完成后,控制移动终端与POS机建立传输层连接。
[0079] 从上述描述可知,本发明将POS机蓝牙4.0的地址类型设置为public型,使蓝牙4.0的地址直接沿用蓝牙2.1的地址,避免了蓝牙无法连接或误连接情况的发生;并且本发明通过设置POS机蓝牙2.1查询扫描的扫描类型,将其修改为intdrlaced,并缩扫描窗口之间的间隔(即interval),使POS机的蓝牙2.1的呼叫扫描更快速及时,提高蓝牙设备的可发现性,以及在呼叫连接时减小呼叫扫描窗口的间隔,提高蓝牙设备的呼叫连接成功性。
[0080] 请参照图4至图8,本发明的具体实施例一为:提高手机与POS设备蓝牙连接的方法。
[0081] 本实施方式中,POS设备采用双模的蓝牙方案,同时支持蓝牙2.1和蓝牙4.0,对于android手机使用蓝牙2.1进行连接通信,对于ios手机使用蓝牙4.0进行连接通信,提高兼容性主要表现在蓝牙的扫描连接成功率的提高上。
[0082] 本实施方式的主要从以下三个方面提升蓝牙连接的兼容性:
[0083] 1)双模的蓝牙设备的地址类型选择。
[0084] 在现有技术中,在双模的蓝牙设备中,蓝牙2.1的地址是固定的,蓝牙4.0的地址有两种选择,一种是random address,另一种是public address,第一种选择的设置效果是双模蓝牙设备被双模的android手机搜索的时候,会搜索出两个蓝牙地址不同的设备,一个为蓝牙2.1设备,一个为蓝牙4.0设备,当调用蓝牙2.1的软件接口的时候,必须要选中蓝牙2.1的设备,蓝牙4.0的接口也是一样的,如果选错了连接就会失败,因此这样做的话就需要双模蓝牙设备要有两个不一样的名字分别用于蓝牙2.1和蓝牙4.0防止用户选错设备。
[0085] 在本实施方式中采用的是第二种蓝牙地址选择即设置蓝牙4.0的地址类型为public address,这样的效果是双模蓝牙设备蓝牙2.1和蓝牙4.0的地址相同,双模的android手机使用蓝牙2.1的接口搜索的时候,有时候也会搜出两个蓝牙设备出来,但是这两个蓝牙设备名字和蓝牙地址完全相同,只是设备类型不同,一种是dual mode设备(蓝牙4.0),一种classic设备(蓝牙2.1),android手机使用蓝牙2.1的接口随便选择以上的哪一个设备都可以正常的连接配对通信,这样做的好处是防止用户误点造成的异常连接,而且另一个好处是由于蓝牙4.0的广播效果是强于蓝牙2.1的查询扫描效果的,因此双模的android手机使用蓝牙2.1的接口第一时间搜索出来会是POS设备的蓝牙4.0设备,即以上的dual mode设备,而手机蓝牙2.1的连接配对操作只需要使用蓝牙2.1的MAC地址,而扫描出来的蓝牙dual设备的MAC与蓝牙classic设备(即蓝牙2.1设备)的MAC是相同的,因此选择蓝牙dual设备进行蓝牙2.1的连接配对通信操作也是可以的,因此这一点又从另一个方面上提升了POS设备的蓝牙可发现性。
[0086] 2)蓝牙设备的可发现性加强。
[0087] 双模蓝牙设备的可发现性主要包括蓝牙2.1的可发现性和蓝牙4.0的广播,蓝牙4.0设备的广播强度一般是可以满足需求的,本实施方式主要是对蓝牙2.1设备的可发现性进行提高。
[0088] 蓝牙2.1设备的查询阶段状态迁移如图4;
[0089] 可见,POS设备作为从设备,它的可发现性体现在查询扫描的响应速度上,[0090] 蓝牙2.1的查询过程见图5;
[0091] 可见,为了发现其他设备,主设备(手机)处于查询状态,在这个状态,它在不同的跳频频率上重复发送查询消息,使用的是固定的32个查询跳频频率,将32个查询跳频序列频率分为两个16跳的部分,这两个部分分别为两个10ms的A、B序列。若是主设备一直未收到从设备的响应,将在A组的16个频道上一直重复广播查询信号,至少重复256次。之后主设备切换到B组上广播,B组广播完切换到A组,这样至少会换3个组以上,这是为了收集理想环境的所有响应。
[0092] 从设备(POS设备)要进入查询扫描状态,查询扫描也用到和查询一样的32个跳频频率,也是将32个查询跳频序列频率分为两个16跳的部分。跳频序列的选择由查询扫描节点的本地时钟确定,每1.28s改变一次,一次扫描窗口为11.25ms。当从设备的查询扫描窗口跟主设备的查询窗口吻合,从设备则立即进入查询响应状态,使用FHS报文进行响应,完成一次查询发现过程。
[0093] 从上面的查询原理过程可以看出,要想加强从设备的可发现性,查询扫描状态的加强是很重要的一种方式,而查询扫描它又分为两种方式,一种是standard方式,一种是interlaced方式,第一种方式是大部分蓝牙2.1设备的默认查询扫描方式,它的原理是一个扫描窗口里只有一种跳频,如果想要变化频率要等下一个扫描窗口的到来,而两个扫描窗口的interval是固定的为1.28s。这种方式的过程图为上图的蓝牙2.1的查询过程。
[0094] 本实施方式使用第二种方式,即interlaced方式,它的原理是扫描窗口不再是1.28s只有一个,而是每隔1.28s有两个紧挨着的扫描窗口,这两个扫描窗口的跳频也不一样,原来的扫描窗口频率还是为fk,多出来的那个扫描窗口的跳频是按公式(fk+16)mod 32来计算,而1.28s之后的扫描窗口跳频的递增顺序不变依然是fk+1。这种方式的过程图见图
6。
[0095] 从上图6可以看出,从设备在查询扫描过程中的不同,可以看出每1.28s扫描窗口从原来的一个变成两个,且跳频频率序列从原来的fk、fk+1······fk+n变成fk、(fk+16)mod 32、fk+1、(fk+1+16)mod 32······fk+n、(fk+n+16)mod 32,这样就呈现出扫描跳频互相交织的状态,这样的好处是多出来的交织扫描窗口可以让从设备更快地扫描到主设备的查询跳频,增加从设备的可发现性。
[0096] 同时本实施方式还将两个扫描窗口之间的interval时间缩短,这样也达到增强从设备可发现性的效果,当然本方案选择的查询扫描interlaced方式和扫描窗口interval的缩短虽然提高了蓝牙芯片的功耗,但是本方案的实现却是严格控制蓝牙芯片的功耗在可接受范围内。
[0097] 3)蓝牙设备的可连接性加强。
[0098] 可连接性的增强旨在提高连接成功率和缩短连接时间上,蓝牙4.0设备的连接没有蓝牙2.1那么复杂,因此连接成功率可优化的空间不大,本方案主要是针对双模蓝牙的蓝牙2.1设备的连接成功率做提高的工作,蓝牙2.1的连接主要分为两个阶段,一个是底层page阶段,一个是上层连接阶段。
[0099] 蓝牙2.1设备的呼叫连接状态迁移如图7;
[0100] 蓝牙2.1的连接成功率很大程度上依赖于呼叫阶段page的成功率,而POS设备作为从设备,它的呼叫阶段成功率体现在呼叫扫描的响应速度上。
[0101] 蓝牙2.1的呼叫过程如图8;
[0102] 从图8的呼叫过程可见,为了连接从设备,主设备(手机)处于呼叫状态,这个状态跟查询状态相似,使用的是固定的32个呼叫跳频频率,将32个呼叫跳频序列频率分为两个16个跳频的部分,这两个部分分别为两个10ms的A、B序列。若主设备一直未收到从设备的响应时,将在A组的16个频道上一直重复广播呼叫信息,最多重复次数为256次。在重复256次后,主设备将转换到B组上继续广播。
[0103] 从设备(POS设备)要进入呼叫扫描状态,在每一个扫描窗口,设备应该以一个单一跳频频率来监听,它根据自身的MAC地址决定的呼叫跳频序列来选择扫描频率,每1.28s选择一个不同的频率。当从设备成功接收到一个呼叫信息,即从设备的呼叫扫描窗口跟主设备的呼叫窗口吻合,从设备就进入到呼叫应答过程,然后再进行应答操作,完成一次呼叫过程。
[0104] 从上面的呼叫原理过程可以看出,要想加强从设备的可连接性,呼叫扫描状态的加强是很重要的一种方式,本方案对从设备的扫描窗口之间的interval做缩短以而来提高从设备的呼叫扫描响应,提高POS设备的连接成功率,同时也可以缩短连接的时间。
[0105] 在重复连接的过程中,本方案又做了一个连接上的优化创新,就是当手机主动断开连接后,通常是只断开蓝牙2.1和蓝牙4.0的上层连接,而底层的连接很大一部分是等着POS端去断开,这时候本方案的做法是POS设备不主动去断开蓝牙底层连接,而等待手机去断开底层连接,如果手机没有及时地做这个步骤,这样当手机下一次很快发起重连的时候,由于底层连接并没有断开,上层连接很快就能建立好,因此连接时间也能大大缩短。而如果手机断开上层连接后不再进行下一次连接,POS设备这时候会启动一个定时器,5s之后如果没有任何操作,POS设备将会将蓝牙的底层连接断开,这一点既提高了重复连接的效率缩短连接时间,又保证设备和手机双方断开连接一段时间后蓝牙的上层和底层连接都可以断开。
[0106] 综上所述,本发明提供的提高POS机与移动终端蓝牙兼容性的方法及装置即能够防止蓝牙2.1与蓝牙4.0误连接,又能够提高POS机蓝牙2.1的可发现性和可连接性,同时还提高了移动终端与POS机蓝牙连接的稳定性和中断后再连接的时间效率。
[0107] 以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
QQ群二维码
意见反馈