本发明涉及经典蓝牙和ble混合通信技术。
背景技术:
专利文献cn109037530a,2018年12月26日,公开了一种单车音频播放器。这是一种安装在共享单车上的音频播放器,用于为共享单车的使用者播放音乐和向共享单车的使用者推送定向音频广告。该音频播放器可以通过蓝牙和共享单车的使用者的手机进行连接,从而成为手机的蓝牙播放器,播放通话语音和手机中的音乐播放器所播放的音乐。这种共享单车上的蓝牙播放器不同于一般的蓝牙音箱和蓝牙耳机,一般的蓝牙音箱和蓝牙耳机和手机进行连接前首先需要进行配对,配对后手机可以直接进行连接,一次配对后可以进行多次连接,配对相当于将蓝牙设备和手机之间关系绑定。而这种共享单车上的蓝牙播放器显而易见地不适合采用这种模式,因为共享单车的使用人每一次使用的并不是同一台共享单车,将共享单车上的蓝牙播放器和手机配对绑定没有必要,也没有意义,同一个用户只有很小的概率才会再次使用到同一台共享单车。其次的问题在于,用户可能面对多台共享单车,每台共享单车上的音频播放器设备名称都相同或者类似,绑定后,用户也无法区分手机上所绑定的音频播放器对应的是哪一台共享单车上的音频播放器。第三个问题在于,如果让用户自己选择手机所搜索到的蓝牙设备进行连接,用户也无法进行选择,因为用户无法区分当前手机上所搜索到的音频播放器是否是自己正在使用的共享单车上的音频播放器。也就是说,现有技术下,蓝牙配对连接方式并不适用于共享设备或公共设备。
技术实现要素:
本发明所要解决的问题:现有技术下蓝牙配对连接方式并适用于共享设备或公共设备。
为解决上述问题,本发明采用的方案如下:
根据本发明的一种蓝牙自动连接的方法,主蓝牙设备通过ble获取从蓝牙设备的经典蓝牙信息,然后根据所述经典蓝牙信息与从蓝牙设备建立经典蓝牙连接;所述经典蓝牙信息至少包括从蓝牙设备的经典蓝牙mac地址。
进一步,根据本发明的的蓝牙自动连接的方法,所述从蓝牙设备的ble广播报文包含所述从蓝牙设备的经典蓝牙mac地址;所述主蓝牙设备根据所接收的所述从蓝牙设备的ble广播报文中所包含的所述从蓝牙设备的经典蓝牙mac地址与所述从蓝牙设备经典蓝牙连接。
进一步,根据本发明的蓝牙自动连接的方法,包括以下步骤:
s1:主蓝牙设备选择从蓝牙设备,并与之建立ble连接;
s2:主蓝牙设备通过ble向从蓝牙设备发送经典蓝牙信息请求;从蓝牙设备通过ble接收到经典蓝牙信息请求后,通过ble向主蓝牙设备发送从蓝牙设备的经典蓝牙信息;所述经典蓝牙信息包括从蓝牙设备的经典蓝牙mac地址;
s3:主蓝牙设备接收到从蓝牙设备的经典蓝牙信息后,根据所述从蓝牙设备的经典蓝牙mac地址与从蓝牙设备进行经典蓝牙的连接。
进一步,根据本发明的蓝牙自动连接的方法,所述步骤s1包括以下步骤:
s11:主蓝牙设备接收各个从蓝牙设备所广播的ble广播信息,同时获取各个从蓝牙设备所发送的ble信号强度;所述ble广播信息至少包括服务uuid或特征uuid;
s12:主蓝牙设备根据各个从蓝牙设备的服务uuid或特征uuid进行筛选,筛选出指定服务uuid或特征uuid的从蓝牙设备;
s13:主蓝牙设备从所筛选出的从蓝牙设备中选取ble信号强度最大的从蓝牙设备,并与所选取出的从蓝牙设备建立ble连接。
进一步,根据本发明的蓝牙自动连接的方法,还包括以下步骤:
s41:主蓝牙设备判断是否与从蓝牙设备建立经典蓝牙连接;倘若连接失败,则重新尝试与从蓝牙设备进行经典蓝牙的配对和连接;倘若连接成功,则等待t1时间后,与从蓝牙设备断开ble连接后转步骤s42;
s42:重复步骤s1和s2后,主蓝牙设备接收到从蓝牙设备的经典蓝牙信息后,判断是否和之前的经典蓝牙信息是否一致;如果不一致,则断开经典蓝牙连接后转步骤s3。
根据本发明的一种蓝牙自动连接的从蓝牙设备装置,该装置包括用于通过ble向主蓝牙设备发送从蓝牙设备的经典蓝牙信息的模块;所述经典蓝牙信息包括从蓝牙设备的经典蓝牙mac地址。
根据本发明的一种蓝牙自动连接的主蓝牙设备装置,该装置包括以下模块:
用于通过ble获取从蓝牙设备的经典蓝牙mac地址的模块,以及
用于根据所获取的经典蓝牙mac地址与从蓝牙设备进行经典蓝牙连接的模块。
进一步,根据本发明的蓝牙自动连接的主蓝牙设备装置,所述用于通过ble获取从蓝牙设备的经典蓝牙mac地址的模块包括以下模块:
mm1,用于:选择从蓝牙设备,并与之建立ble连接;
mm2,用于:通过ble向从蓝牙设备发送经典蓝牙信息请求;
mm3,用于:接收从蓝牙设备所发送的经典蓝牙信息;所述经典蓝牙信息包括从蓝牙设备的经典蓝牙mac地址。
根据本发明的一种蓝牙自动连接的系统,该系统包括主蓝牙设备装置和从蓝牙设备装置;所述主蓝牙设备包括以下模块:
用于通过ble获取从蓝牙设备的经典蓝牙mac地址的模块,以及
用于根据所获取的经典蓝牙mac地址与从蓝牙设备进行经典蓝牙连接的模块;
所述从蓝牙设备包括:
用于通过ble向主蓝牙设备发送从蓝牙设备的经典蓝牙mac地址的模块。
进一步,根据本发明的蓝牙自动连接的系统,所述用于通过ble获取从蓝牙设备的经典蓝牙mac地址的模块包括以下模块:
mm1,用于:选择从蓝牙设备,并与之建立ble连接;
mm2,用于:通过ble向从蓝牙设备发送经典蓝牙信息请求;
mm3,用于:接收从蓝牙设备所发送的经典蓝牙信息;
所述用于通过ble向主蓝牙设备发送从蓝牙设备的经典蓝牙mac地址的模块包括以下模块:
ms1,用于:通过ble接收主蓝牙设备所发送的经典蓝牙信息请求;
ms2,用于:通过ble向主蓝牙设备发送从蓝牙设备的经典蓝牙信息;
所述经典蓝牙信息包括从蓝牙设备的经典蓝牙mac地址。
本发明的技术效果如下:本发明不同于现有技术下蓝牙设备的连接方式,而适用于蓝牙共享设备或蓝牙公共设备的连接,避免了用户对蓝牙共享设备的选择困扰。
附图说明
图1是本发明实施例的使用场合示意图。
具体实施方式
下面结合附图对本发明做进一步详细说明。
图1中,1是用户手机,2是背景技术中的音频播放器。用户手机1面对多台音频播放器2。用户手机1需要通过经典蓝牙连接其中一台音频播放器2。多台音频播放器2对于用户来说难以通过设备名称进行区分,为此,本实施例采用如下方法:
主蓝牙设备选择ble信号强度最大的指定类型的从蓝牙设备,建立ble连接;然后通过ble获取从蓝牙设备的经典蓝牙信息,经典蓝牙信息包括从蓝牙设备的设备名称和mac地址以及连接密码;主蓝牙设备接收到从蓝牙设备的经典蓝牙信息后,和从蓝牙设备建立经典蓝牙的配对和连接,最后,验证所连接从蓝牙设备是否正确,如果不正确,根据重新建立经典蓝牙的配对和连接。
上述方法应用至图1场合中,主蓝牙设备相当于用户手机1,从蓝牙设备相当于音频播放器2。显而易见地,上述方法不仅限于图1中的应用场合。显而易见地,上述方法中,主蓝牙设备和从蓝牙设备的蓝牙模块都能够支持ble。ble也就是低功耗蓝牙。具体到图1的应用场合中,也就是,音频播放器2的蓝牙模块由经典蓝牙模块和ble模块所组成。音频播放器2的经典蓝牙模块和ble模块具有不同的mac地址,但具有相同的服务uuid和相同的特征uuid,以及相同的设备名称。
上述方法可以概括为四个步骤:步骤s1,也就是,建立ble连接的步骤;步骤s2,也就是获取经典蓝牙信息的步骤;步骤s3,也就是建立经典蓝牙的配对和连接的步骤;步骤s4,也就是验证连接的步骤。下面对上述四个步骤进一步详细说明。
步骤s1,建立ble连接的步骤,也就是,主蓝牙设备选择ble信号强度最大的指定类型的从蓝牙设备,然后和所选择的从蓝牙设备建立ble连接。所指定的类型根据从蓝牙设备的服务uuid或特征uuid确定。具体过程如下:
步骤s11:主蓝牙设备接收各个从蓝牙设备所广播的ble广播信息,同时获取各个从蓝牙设备所发送的ble信号强度;ble广播信息至少包括服务uuid或特征uuid。从蓝牙设备的蓝牙模块启动后,作为广播者按一定时间间隔向外广播可连接的非定向广播信息。这里的ble广播信息,也就是,可连接的非定向广播信息,也即,adv_invpdu报文。adv_invpdu报文的广播时间间隔本实施例设为100ms。adv_invpdu报文中包含有从蓝牙设备的blemac地址、服务uuid和/或特征uuid。主蓝牙设备的蓝牙模块启动后,则作为扫描者或观察者扫描并接收各个从蓝牙设备所广播的ble广播信息。众所周知uuid是一个128位的数据。
步骤s12:主蓝牙设备根据各个从蓝牙设备的服务uuid或特征uuid进行筛选,筛选出指定服务uuid或特征uuid的从蓝牙设备。步骤s11中,主蓝牙设备作为扫描者扫描从蓝牙设备所广播的ble广播信息通常需要花费一定的时间,本实施例中,该时间设置为1~10s。因此,步骤s11中,主蓝牙设备通常可以扫描到多个从蓝牙设备所广播的ble广播信息,比如在图1的应用场合中,作为主蓝牙设备的用户手机1可以扫描到很多个附近从蓝牙设备所广播的ble广播信息,这些从蓝牙设备未必是共享单车上的音频播放器2。这时,需要从这些附近的从蓝牙设备中选择出属于音频播放器2的从蓝牙设备。判断从蓝牙设备是否属于音频播放器2通过ble广播信息中的服务uuid或特征uuid。音频播放器2的蓝牙模块预先设置了特定服务uuid或特征uuid。主蓝牙设备只需要判断ble广播信息中的服务uuid或特征uuid是否是指定的uuid即可。
步骤s13:主蓝牙设备从所筛选出的从蓝牙设备中选取ble信号强度最大的从蓝牙设备,并与所选取出的从蓝牙设备建立ble连接。
步骤s2,获取经典蓝牙信息的步骤,也就是,主蓝牙设备通过ble向从蓝牙设备发送经典蓝牙信息请求;从蓝牙设备通过ble接收到经典蓝牙信息请求后,通过ble向主蓝牙设备发送从蓝牙设备的经典蓝牙信息;经典蓝牙信息包括从蓝牙设备的设备名称、mac地址和连接密码。这里的连接密码通常是指经典蓝牙中的pin码,这里的mac地址是从蓝牙设备的经典蓝牙mac地址。步骤s2中,主蓝牙设备和从蓝牙设备通过ble交互时可以加密,也可以不加密。加密时,主蓝牙设备向从蓝牙设备发送经典蓝牙信息请求时,可以附带公钥,从蓝牙设备向主蓝牙设备发送从蓝牙设备的经典蓝牙信息时,可以将经典蓝牙信息通过公钥加密。主蓝牙设备接收到加密后的经典蓝牙信息后,可以通过私钥进行解密。
步骤s3,建立经典蓝牙的配对和连接的步骤,也就是,主蓝牙设备接收到从蓝牙设备的经典蓝牙信息后,根据的从蓝牙设备的设备名称和mac地址以经典蓝牙的方式搜索从蓝牙设备,然后根据的从蓝牙设备的连接密码与从蓝牙设备进行经典蓝牙的配对和连接。“根据的从蓝牙设备的设备名称和mac地址以经典蓝牙的方式搜索从蓝牙设备,然后根据的从蓝牙设备的连接密码与从蓝牙设备进行经典蓝牙的配对和连接”是一个现有的经典蓝牙连接过程,本说明书不再赘述。
步骤s4,验证连接的步骤,也就是,验证所连接从蓝牙设备是否正确,如果不正确,根据重新建立经典蓝牙的配对和连接。具体过程如下:
步骤s41:主蓝牙设备判断是否与从蓝牙设备建立经典蓝牙连接;倘若连接失败,则重新尝试与从蓝牙设备进行经典蓝牙的配对和连接;倘若连接成功,则等待t1时间后,与从蓝牙设备断开ble连接后转步骤s42;
步骤s42:重复步骤s1和s2后,主蓝牙设备接收到从蓝牙设备的经典蓝牙信息后,判断是否和之前的经典蓝牙信息是否一致;如果不一致,则断开经典蓝牙连接后转步骤s3。
步骤s1和步骤s2归纳起来就是通过ble找出信号强度最大的指定类型的从蓝牙设备并获取相应的经典蓝牙信息。步骤s41和步骤s42过程的意思就是等待t1时间后,通过ble找出信号强度最大的指定类型的从蓝牙设备并获取相应的经典蓝牙信息,再判断信号强度最大的指定类型的从蓝牙设备是否和当前已经建立经典蓝牙连接的从蓝牙设备是同一个,如果不是的话,和新找到的从蓝牙设备建立经典蓝牙连接。这是考虑到步骤s11中获取各个从蓝牙设备所发送的ble信号强度时,得到的ble信号强度仅仅是一个瞬时数据,随机性和受干扰性比较大。具体到图1的应用场合中,用户手机1面对多台共享单车上的音频播放器2时,虽然用户手机1比较靠近用户所使用的共享单车上的音频播放器2,但用户手机1接收到的ble信号强度最大的可能并不是该音频播放器2。但经过t1时间后,用户骑上共享单车后,由于用户手机1远离其他共享单车上的音频播放器2,导致ble信号强度最大的肯定是所使用的共享单车上的音频播放器2。本实施例中,t1时间通常设定为1~5分钟。
需要指出的是,上述实施例是本发明较佳的实施方式。本领域技术人员理解,基于上述实施例的启示,根据不同的应用场合可以对上述实施例做一些调整:
首先,上述实施例的获取经典蓝牙信息的步骤中,经典蓝牙信息包括从蓝牙设备的设备名称和mac地址以及连接密码。本领域技术人员理解,经典蓝牙信息只需要包括从蓝牙设备的经典蓝牙mac地址即可,由此在建立经典蓝牙的配对和连接的步骤中,主蓝牙设备可以直接根据从蓝牙设备的经典蓝牙mac地址与从蓝牙设备进行经典蓝牙的连接即可。
其次,上述实施例的获取经典蓝牙信息的步骤中,主蓝牙设备选择ble信号强度最大的指定类型的从蓝牙设备建立ble连接。本领域技术人员理解,主蓝牙设备选择从蓝牙设备时也可以采用其他方式:比如,作为从蓝牙设备的音频播放器2安装在共享单车上时,可以在服务器上将音频播放器2和共享单车绑定;当用户使用共享单车时,主蓝牙设备可以根据所使用的共享单车在服务器上找出所绑定的音频播放器2建立ble连接;再比如,当主蓝牙设备搜索到的指定类型从蓝牙设备仅有一个,主蓝牙设备无需再选择ble信号强度最大的从蓝牙设备,可以直接与该从蓝牙设备建立ble连接;再比如,还可以通过其他辅助方式选择从蓝牙设备。
再次,上述实施例中,步骤s4的验证连接是可选步骤。本领域技术人员理解,在某些应用场合下,并不需要该步骤。
此外,上述实施例需要建立ble连接,才能获得从蓝牙设备的经典蓝牙mac地址。在另一可选的方案中,可以不需要建立ble连接。不建立ble连接的情况下,从蓝牙设备的蓝牙模块启动后,作为广播者按一定时间间隔向外广播可连接的非定向广播信息,该可连接的非定向广播信息直接可以携带有经典蓝牙mac地址,由此,主蓝牙设备根据所接收的可连接的非定向广播信息中所包含的经典蓝牙mac地址与从蓝牙设备进行经典蓝牙的连接,此时主蓝牙设备的处理过程如下:
首先,主蓝牙设备接收各个从蓝牙设备所广播的ble广播信息,同时获取各个从蓝牙设备所发送的ble信号强度;之后,主蓝牙设备提取出各个ble广播信息中的经典蓝牙mac地址,以及服务uuid或特征uuid后;然后主蓝牙设备根据各个从蓝牙设备的服务uuid或特征uuid进行筛选,筛选出指定服务uuid或特征uuid的从蓝牙设备;最后,主蓝牙设备从所筛选出的从蓝牙设备中选取ble信号强度最大的从蓝牙设备,根据相应的ble广播信息所提取的经典蓝牙mac地址与所选取的从蓝牙设备进行经典蓝牙的连接。