掌桥专利:专业的专利平台
掌桥专利
首页

通信方法、系统及相关设备

文献发布时间:2024-04-18 19:58:21


通信方法、系统及相关设备

技术领域

本申请涉及通信技术领域,尤其涉及一种通信方法、系统及相关设备。

背景技术

随着终端技术的发展,当前市场上的配件设备(例如蓝牙鼠标、蓝牙键盘、手写笔、蓝牙音箱等蓝牙配件设备)越来越多,这些配件设备可以与主机设备(例如平板、个人电脑、大屏等)建立通信连接(例如蓝牙通信连接)来实现数据交互,但是,目前配件设备的使用场景仍然有较大的局限性,用户体验差。

发明内容

本申请实施例提供了一种通信方法、系统及相关设备,可以使得多个配件设备协同实现对应场景下的差异化功能,简化用户操作,提高用户体验。

第一方面,本申请实施例提供了一种通信方法,应用于通信系统,该通信系统包括第一主机设备、第一配件设备、第二配件设备,该方法包括:第一配件设备与第一主机设备建立第一通信连接;第二配件设备与第一主机设备建立第二通信连接;第一配件设备检测到用户触发第一事件,响应于第一事件,第一配件设备基于第一通信连接向第一主机设备发送第一数据,第一数据中包括第一事件的信息;第一主机设备基于第二通信连接向第二配件设备发送第一事件的信息;第二配件设备接收第一主机设备发送的第一事件的信息,并基于第一事件的信息执行响应操作。

通过实施第一方面提供的方法,在多个配件设备与主机设备建立通信连接(例如蓝牙通信连接)的情况下,可以基于主机设备的路由功能(例如蓝牙路由功能)为这多个配件设备提供数据通信通道,这样,这多个配件设备之间可以进行数据通信,从而使得这多个配件设备可以协同实现对应场景下的差异化功能,简化用户操作,提高用户体验。

在一种可能的实现方式中,第一数据中还包括一个或多个配件设备的设备信息,一个或多个配件设备的设备信息中包括第二配件设备的设备信息,第二配件设备的设备信息用于第一主机设备确定将第一事件的信息发送给第二配件设备。

这样,第一主机设备可以根据第二配件设备的设备信息来确定将第一事件的信息发送给第二配件设备。

在一种可能的实现方式中,通信系统还包括第二主机设备,第一事件为将焦点主机设备由第一主机设备切换到第二主机设备的事件,第一事件的信息中包括第二主机设备的设备信息,第二配件设备基于第一事件的信息执行响应操作,具体包括:第二配件设备基于第二主机设备的设备信息发送第一回连广播消息;在第二主机设备接收到第一回连广播消息的情况下,第二配件设备将焦点主机设备由第一主机设备切换到第二主机设备,第二配件设备与第二主机设备建立第三通信连接。

这样,用户可以一键将所有配件设备的焦点主机设备由第一主机设备切换到第二主机设备,方便快捷。

在一种可能的实现方式中,第一配件设备为键盘,第二配件设备为鼠标,第一事件为按下调节每英寸点数DPI的按键的事件,第一事件的信息中包括调节DPI的按键的键值,第二配件设备基于第一事件的信息执行响应操作,具体包括:第二配件设备基于调节DPI的按键的键值调节第二配件设备的DPI。

这样,用户可以通过键盘来调节鼠标的DPI。

在一种可能的实现方式中,调节DPI的按键包括DPI按键,或,增加DPI的组合按键,或,减小DPI的组合按键,第二配件设备基于调节DPI的按键的键值调节第二配件设备的DPI,具体包括:在调节DPI的按键为DPI按键的情况下,第二配件设备基于DPI按键的键值增加或减小第二配件设备的DPI;或,在调节DPI的按键为增加DPI的组合按键的情况下,第二配件设备基于增加DPI的组合按键的键值增加第二配件设备的DPI;或,在调节DPI的按键为减小DPI的组合按键的情况下,第二配件设备基于减小DPI的组合按键的键值减小第二配件设备的DPI。

这样,用户可以通过键盘上的DPI按键,或,DPI的组合按键来增加或减小鼠标的DPI。

在一种可能的实现方式中,第一配件设备为键盘,第二配件设备为鼠标,第一事件为按下调节灯效的按键的事件,第一事件的信息中包括调节灯效的按键的键值,第二配件设备基于第一事件的信息执行响应操作,具体包括:第二配件设备基于调节灯效的按键的键值调节第二配件设备的灯效。

这样,用户可以通过键盘来调节鼠标的灯效(例如灯效的亮度、模式等)。

在一种可能的实现方式中,调节灯效的按键包括增加亮度LightUp按键,或,降低亮度LightDown按键,或,增加亮度的组合按键,或,降低亮度的组合按键,第二配件设备基于调节灯效的按键的键值调节第二配件设备的灯效,具体包括:在调节灯效的按键为LightUp按键或增加亮度的组合按键的情况下,第二配件设备基于LightUp按键的键值或增加亮度的组合按键的键值增加第二配件设备的灯效的亮度;或,在调节灯效的按键为LightDown按键或降低亮度的组合按键的情况下,第二配件设备基于LightDown按键的键值或降低亮度的组合按键的键值降低第二配件设备的灯效的亮度。

这样,用户可以通过键盘上的调节灯效的按键来调节鼠标的灯效的亮度。

在一种可能的实现方式中,调节灯效的按键包括切换灯效的模式的单个按键或组合按键,第二配件设备基于调节灯效的按键的键值调节第二配件设备的灯效,具体包括:第二配件设备基于切换灯效的模式的单个按键或组合按键的键值切换第二配件设备的灯效的模式。

这样,用户可以通过键盘上的调节灯效的按键来调节鼠标的灯效的模式。

在一种可能的实现方式中,第一配件设备为鼠标,第二配件设备为键盘,第一事件为用户按下第一按键的事件,第二配件设备基于第一事件的信息执行响应操作,具体包括:第二配件设备将用户按下第一按键的事件和用户按下第二按键的事件转换为用户按下第三按键的事件,其中,用户按下第二按键的事件是第二配件设备在接收第一主机设备发送的第一事件的信息之后检测到的;第二配件设备向第一主机设备发送第三按键的键值;第一主机设备响应第三按键的键值对应的功能。

这样,用户可以通过鼠标和键盘协同形成组合按键,减少键盘按键数量,缩小键盘尺寸的同时,也可以满足用户的需求。

在一种可能的实现方式中,在第二配件设备向第一主机设备发送第三按键的键值之后,方法还包括:第一配件设备检测到第二事件,第二事件为用户松开第一按键的事件,响应于第二事件,第一配件设备基于第一通信连接向第一主机设备发送第二数据,第二数据中包括第二事件的信息;第一主机设备基于第二通信连接向第二配件设备发送第二事件的信息;第二配件设备接收第一主机设备发送的第二事件的信息,并基于第二事件的信息确定用户松开第一按键。

这样,可以取消通过鼠标和键盘协同形成组合按键的功能。

在一种可能的实现方式中,第二配件设备的设备信息包括第二配件设备的设备类型,在第一配件设备检测到用户触发第一事件之前,该方法还包括:第二配件设备向第一主机设备发送第一消息,第一消息中包括第二配件设备的设备类型;第一主机设备保存第二通信连接与第二配件设备的设备类型之间的映射关系;在第一主机设备基于第二通信连接向第二配件设备发送第一事件的信息之前,该方法还包括:第一主机设备基于第二配件设备的设备类型、第二通信连接与第二配件设备的设备类型之间的映射关系确定通过第二通信连接向第二配件设备发送第一事件的信息。

这样,配件设备可以向主机设备进行设备注册,以便主机设备保存通信连接与配件设备的设备类型之间的映射关系。

在一种可能的实现方式中,在第二配件设备基于第一事件的信息执行响应操作之后,该方法还包括:第二配件设备通过第一主机设备向第一配件设备发送第二消息,第二消息用于向第一配件设备通知第二配件设备执行响应操作的结果。

这样,第二配件设备可以通过第一主机设备向第一配件设备通知第二配件设备执行响应操作的结果。

在一种可能的实现方式中,第一通信连接和第二通信连接均为蓝牙通信连接。

在第一方面中,第一主机设备可以为主机设备100,第二主机设备可以为主机设备200,第一配件设备和第二配件设备可以分别与第一主机设备建立第一通信连接(例如蓝牙通信连接)、第二通信连接(例如蓝牙通信连接),第一事件可以是用户触发的事件(例如切换事件、调节DPI的事件、调节灯效的事件、按下某个按键的事件),第一数据可以是包括第一事件的信息、一个或多个配件设备的设备信息的数据(例如图9中的数据1、图11中的数据2、图12中的数据3、图13中的数据4),第一回连广播消息可以图9中蓝牙配件设备400发送的蓝牙广播消息2,第三通信连接可以为蓝牙配件设备400与主机设备200建立的蓝牙通信连接2,第一按键可以为图13中的按键1,第二按键可以为图13中的按键2,第三按键可以为图13中的组合键1,第二数据可以为图13中的数据5,第一消息可以为第二配件设备向第一主机设备发送的注册请求,第二消息可以为图8中的事件处理完成消息。

第二方面,本申请实施例提供了一种通信方法,应用于第一配件设备,该方法包括:第一配件设备检测到用户触发第一事件;响应于第一事件,第一配件设备通过第一主机设备向第二配件设备发送第一数据,第一数据中包括第一事件的信息;其中,第一事件的信息用于第二配件设备基于第一事件的信息执行响应操作,第一配件设备与第一主机设备建立有第一通信连接,第二配件设备与第一主机设备建立有第二通信连接。

在一种可能的实现方式中,第一数据中还包括一个或多个配件设备的设备信息,一个或多个配件设备的设备信息中包括第二配件设备的设备信息,第二配件设备的设备信息用于第一主机设备确定将第一事件的信息发送给第二配件设备。

在一种可能的实现方式中,第一事件为将焦点主机设备由第一主机设备切换到到第二主机设备的事件,第一事件的信息用于第二配件设备基于第一事件的信息将焦点主机设备由第一主机设备切换到第二主机设备,第二配件设备与第二主机设备建立第三通信连接。

在一种可能的实现方式中,第一配件设备为键盘,第二配件设备为鼠标,第一事件为按下调节每英寸点数DPI的按键的事件,第一事件的信息用于第二配件设备基于第一事件的信息调节第二配件设备的DPI。

在一种可能的实现方式中,调节DPI的按键包括DPI按键,或,增加DPI的组合按键,或,减小DPI的组合按键,在调节DPI的按键为DPI按键的情况下,第一事件的信息用于第二配件设备基于第一事件的信息增加或减小第二配件设备的DPI;或,在调节DPI的按键为增加DPI的组合按键的情况下,第一事件的信息用于第二配件设备基于第一事件的信息增加第二配件设备的DPI;或,在调节DPI的按键为减小DPI的组合按键的情况下,第一事件的信息用于第二配件设备基于第一事件的信息减小第二配件设备的DPI。

在一种可能的实现方式中,第一配件设备为键盘,第二配件设备为鼠标,第一事件为按下调节灯效的按键的事件,第一事件的信息用于第二配件设备基于第一事件的信息调节第二配件设备的灯效。

在一种可能的实现方式中,调节灯效的按键包括增加亮度LightUp按键,或,降低亮度LightDown按键,或,增加亮度的组合按键,或,降低亮度的组合按键,在调节灯效的按键为LightUp按键或增加亮度的组合按键的情况下,第一事件的信息用于第二配件设备基于第一事件的信息增加第二配件设备的灯效的亮度;或,在调节灯效的按键为LightDown按键或降低亮度的组合按键的情况下,第一事件的信息用于第二配件设备基于第一事件的信息降低第二配件设备的灯效的亮度。

在一种可能的实现方式中,第一配件设备为鼠标,第二配件设备为键盘,第一事件为用户按下第一按键的事件,第一事件的信息用于第二配件设备将用户按下第一按键的事件和用户按下第二按键的事件转换为用户按下第三按键的事件,其中,用户按下第二按键的事件是第二配件设备在接收第一主机设备发送的第一事件的信息之后检测到的。

在一种可能的实现方式中,在第一配件设备通过第一主机设备向第二配件设备发送第一事件的信息之后,该方法还包括:第一配件设备检测到第二事件,第二事件为用户松开第一按键的事件,响应于第二事件,第一配件设备通过第一主机设备向第二配件设备发送第二事件的信息,第二事件的信息包含于第二数据中,第二事件的信息用于第二配件设备基于第二事件的信息确定用户松开第一按键。

在一种可能的实现方式中,第二配件设备的设备信息包括第二配件设备的设备类型,在第一配件设备检测到用户触发第一事件之前,该方法还包括:第一配件设备向第一主机设备发送第一消息,第一消息中包括第一配件设备的设备类型,第一消息用于第一主机设备基于第一消息保存第一通信连接与第一配件设备的设备类型之间的映射关系。

在第二方面中,第一主机设备可以为主机设备100,第二主机设备可以为主机设备200,第一配件设备和第二配件设备可以分别与第一主机设备建立第一通信连接(例如蓝牙通信连接)、第二通信连接(例如蓝牙通信连接),第一事件可以是用户触发的事件(例如切换事件、调节DPI的事件、调节灯效的事件、按下某个按键的事件),第一数据可以是包括第一事件的信息、一个或多个配件设备的设备信息的数据(例如图9中的数据1、图11中的数据2、图12中的数据3、图13中的数据4),第三通信连接可以为蓝牙配件设备400与主机设备200建立的蓝牙通信连接2,第一按键可以为图13中的按键1,第二按键可以为图13中的按键2,第三按键可以为图13中的组合键1,第二数据可以为图13中的数据5,第一消息可以为第一配件设备向第一主机设备发送的注册请求。

第三方面,本申请实施例提供了一种通信方法,应用于第二配件设备,该方法包括:第二配件设备与第一主机设备建立第一通信连接;第二配件设备基于第一通信连接接收第一主机设备发送的第一事件的信息,第一事件的信息可以包含于第一数据中,第一事件的信息是第一配件设备在检测到用户触发第一事件之后基于第二通信连接向第一主机设备发送的,第二通信连接可以是第一配件设备与第一主机设备建立的;第二配件设备基于第一事件的信息执行响应操作。

在一种可能的实现方式中,第一数据中还包括一个或多个配件设备的设备信息,一个或多个配件设备的设备信息中包括第二配件设备的设备信息,第二配件设备的设备信息用于第一主机设备确定将第一事件的信息发送给第二配件设备。

在一种可能的实现方式中,第一事件为将焦点主机设备由第一主机设备切换到第二主机设备的事件,第一事件的信息中包括第二主机设备的设备信息,第二配件设备基于第一事件的信息执行响应操作,具体包括:第二配件设备基于第二主机设备的设备信息发送第一回连广播消息;在第二主机设备接收到第一回连广播消息的情况下,第二配件设备将焦点主机设备由第一主机设备切换到第二主机设备,第二配件设备与第二主机设备建立第三通信连接。

在一种可能的实现方式中,第一配件设备为键盘,第二配件设备为鼠标,第一事件为按下调节每英寸点数DPI的按键的事件,第一事件的信息中包括调节DPI的按键的键值,第二配件设备基于第一事件的信息执行响应操作,具体包括:第二配件设备基于调节DPI的按键的键值调节第二配件设备的DPI。

在一种可能的实现方式中,调节DPI的按键包括DPI按键,或,增加DPI的组合按键,或,减小DPI的组合按键,第二配件设备基于调节DPI的按键的键值调节第二配件设备的DPI,具体包括:在调节DPI的按键为DPI按键的情况下,第二配件设备基于DPI按键的键值增加或减小第二配件设备的DPI;或,在调节DPI的按键为增加DPI的组合按键的情况下,第二配件设备基于增加DPI的组合按键的键值增加第二配件设备的DPI;或,在调节DPI的按键为减小DPI的组合按键的情况下,第二配件设备基于减小DPI的组合按键的键值减小第二配件设备的DPI。

在一种可能的实现方式中,第一配件设备为键盘,第二配件设备为鼠标,第一事件为按下调节灯效的按键的事件,第一事件的信息中包括调节灯效的按键的键值,第二配件设备基于第一事件的信息执行响应操作,具体包括:第二配件设备基于调节灯效的按键的键值调节第二配件设备的灯效。

在一种可能的实现方式中,调节灯效的按键包括增加亮度LightUp按键,或,降低亮度LightDown按键,或,增加亮度的组合按键,或,降低亮度的组合按键,第二配件设备基于调节灯效的按键的键值调节第二配件设备的灯效,具体包括:在调节灯效的按键为LightUp按键或增加亮度的组合按键的情况下,第二配件设备基于LightUp按键的键值或增加亮度的组合按键的键值增加第二配件设备的灯效的亮度;或,在调节灯效的按键为LightDown按键或降低亮度的组合按键的情况下,第二配件设备基于LightDown按键的键值或降低亮度的组合按键的键值降低第二配件设备的灯效的亮度。

在一种可能的实现方式中,第一配件设备为鼠标,第二配件设备为键盘,第一事件为用户按下第一按键的事件,第二配件设备基于第一事件的信息执行响应操作,具体包括:第二配件设备将用户按下第一按键的事件和用户按下第二按键的事件转换为用户按下第三按键的事件,其中,用户按下第二按键的事件是第二配件设备在接收第一主机设备发送的第一事件的信息之后检测到的;第二配件设备向第一主机设备发送第三按键的键值,第三按键的键值用于第一主机设备基于第三按键的键值响应第三按键的键值对应的功能。

在一种可能的实现方式中,在第二配件设备向第一主机设备发送第三按键的键值之后,该方法还包括:第二配件设备基于第一通信连接接收第一主机设备发送的第二事件的信息,第二事件的信息包含于第二数据中,第二事件为用户松开第一按键的事件,第二数据是第一配件设备在检测到第二事件之后向第一主机设备发送的;第二配件设备基于第二事件的信息确定用户松开第一按键。

在一种可能的实现方式中,第二配件设备的设备信息包括第二配件设备的设备类型,在第二配件设备基于第一通信连接接收第一主机设备发送的第一数据之前,该方法还包括:第二配件设备向第一主机设备发送第一消息,第一消息中包括第二配件设备的设备类型,第一消息用于第一主机设备基于第一消息保存第一通信连接与第二配件设备的设备类型之间的映射关系。

在一种可能的实现方式中,在第二配件设备基于第一事件的信息执行响应操作之后,该方法还包括:第二配件设备通过第一主机设备向第一配件设备发送第二消息,第二消息用于向第一配件设备通知第二配件设备执行响应操作的结果。

在第三方面中,第一主机设备可以为主机设备100,第二主机设备可以为主机设备200,第一配件设备和第二配件设备可以分别与第一主机设备建立第二通信连接(例如蓝牙通信连接)、第一通信连接(例如蓝牙通信连接),第一事件可以是用户触发的事件(例如切换事件、调节DPI的事件、调节灯效的事件、按下某个按键的事件),第一数据可以是包括第一事件的信息、一个或多个配件设备的设备信息的数据(例如图9中的数据1、图11中的数据2、图12中的数据3、图13中的数据4),第一回连广播消息可以图9中蓝牙配件设备400发送的蓝牙广播消息2,第三通信连接可以为蓝牙配件设备400与主机设备200建立的蓝牙通信连接2,第一按键可以为图13中的按键1,第二按键可以为图13中的按键2,第三按键可以为图13中的组合键1,第二数据可以为图13中的数据5,第一消息可以为第二配件设备向第一主机设备发送的注册请求,第二消息可以为图8中的事件处理完成消息。

第四方面,本申请实施例提供了一种通信方法,应用于第一主机设备,该方法包括:第一主机设备与第一配件设备建立第一通信连接;第一主机设备与第二配件设备建立第二通信连接;第一主机设备基于第一通信连接接收第一配件设备发送的第一数据,第一数据中包括第一事件的信息,第一数据是第一配件设备在检测到用户触发第一事件之后发送的;第一主机设备基于第二通信连接向第二配件设备发送第一事件的信息,第一事件的信息用于第二配件设备基于第一事件的信息执行响应操作。

在一种可能的实现方式中,第一数据中还包括一个或多个配件设备的设备信息,一个或多个配件设备的设备信息中包括第二配件设备的设备信息,第二配件设备的设备信息用于第一主机设备确定将第一事件的信息发送给第二配件设备。

在一种可能的实现方式中,第二配件设备的设备信息包括第二配件设备的设备类型,在第一主机设备基于第一通信连接接收第一配件设备发送的第一数据之前,该方法还包括:第一主机设备接收第二配件设备发送的第一消息,第一消息中包括第二配件设备的设备类型;第一主机设备保存第二通信连接与第二配件设备的设备类型之间的映射关系;在第一主机设备基于第二通信连接向第二配件设备发送第一事件的信息之前,该方法还包括:第一主机设备基于第二配件设备的设备类型、第二通信连接与第二配件设备的设备类型之间的映射关系确定通过第二通信连接向第二配件设备发送第一事件的信息。

在第四方面中,第一主机设备可以为主机设备100,第二主机设备可以为主机设备200,第一配件设备和第二配件设备可以分别与第一主机设备建立第一通信连接(例如蓝牙通信连接)、第二通信连接(例如蓝牙通信连接),第一事件可以是用户触发的事件(例如切换事件、调节DPI的事件、调节灯效的事件、按下某个按键的事件),第一数据可以是包括第一事件的信息、一个或多个配件设备的设备信息的数据(例如图9中的数据1、图11中的数据2、图12中的数据3、图13中的数据4),第一消息可以为第二配件设备向第一主机设备发送的注册请求。

第五方面,本申请实施例提供了一种通信方法,应用于通信系统,该通信系统包括第一主机设备、第二主机设备、第一配件设备、第二配件设备,第二配件设备与第一主机设备和第二主机设备均建立有蓝牙通信连接,该方法包括:第一配件设备与第一主机设备建立第一蓝牙通信连接;第一主机设备基于第一蓝牙通信连接向第一配件设备发送第一消息,第一消息用于指示第一配件设备发送配对广播消息;第一配件设备在接收到第一消息之后发送配对广播消息;第一主机设备向第二配件设备发送第二消息,第二消息中包括第一配件设备的蓝牙媒体访问控制MAC地址,第二消息用于指示第二配件设备向一个或多个主机设备发送第一配件设备的蓝牙MAC地址,一个或多个主机设备包括第二主机设备;第二配件设备向第二主机设备发送第一配件设备的蓝牙MAC地址;第二主机设备接收配对广播消息和第一配件设备的蓝牙MAC地址,并基于配对广播消息和第一配件设备的蓝牙MAC地址与第一配件设备进行蓝牙配对并建立第二蓝牙通信连接。

在第五方面中,第一主机设备可以为主机设备100,第二主机设备可以为主机设备200,第一配件设备可以为图16中的蓝牙配件设备300,第二配件设备可以为图16中的蓝牙配件设备400,第一蓝牙通信连接可以为图16中的蓝牙通信连接2,第一消息可以为图16中的消息1,第二消息可以为图16中的消息2,第二蓝牙通信连接可以为图16中的蓝牙通信连接2’。

第六方面,本申请实施例提供了一种通信方法,应用于第一配件设备,该方法包括:第一配件设备与第一主机设备建立第一蓝牙通信连接;第一配件设备在基于第一蓝牙通信连接接收第一主机设备发送的第一消息之后发送配对广播消息;在第二主机设备基于配对广播消息和第一配件设备的蓝牙媒体访问控制MAC地址确定与第一配件设备进行蓝牙配对并建立第二蓝牙通信连接的情况下,第一配件设备与第二主机设备建立第二蓝牙通信连接;其中,第一配件设备的蓝牙MAC地址是第一主机设备通过第二配件设备发送给第二主机设备的,第二配件设备与第一主机设备和第二主机设备均建立有蓝牙通信连接。

在第六方面中,第一主机设备可以为主机设备100,第二主机设备可以为主机设备200,第一配件设备可以为图16中的蓝牙配件设备300,第二配件设备可以为图16中的蓝牙配件设备400,第一蓝牙通信连接可以为图16中的蓝牙通信连接2,第一消息可以为图16中的消息1,第二蓝牙通信连接可以为图16中的蓝牙通信连接2’。

第七方面,本申请实施例提供了一种通信方法,应用于第二配件设备,第二配件设备与第一主机设备和第二主机设备均建立有蓝牙通信连接,该方法包括:第二配件设备接收第一主机设备发送的第一消息,第一消息中包括第一配件设备的蓝牙媒体访问控制MAC地址,第一消息用于第二配件设备基于第一消息向一个或多个主机设备发送第一配件设备的蓝牙MAC地址,一个或多个主机设备包括第二主机设备;第二配件设备基于第一消息向第二主机设备发送第一配件设备的蓝牙MAC地址,第一配件设备的蓝牙MAC地址用于第二主机设备与第一配件设备建立蓝牙通信连接。

在第七方面中,第一主机设备可以为主机设备100,第二主机设备可以为主机设备200,第一配件设备可以为图16中的蓝牙配件设备300,第二配件设备可以为图16中的蓝牙配件设备400,第一消息可以为图16中的消息2。

第八方面,本申请实施例提供了一种通信方法,应用于第一主机设备,该方法包括:第一主机设备与第一配件设备建立第一蓝牙通信连接;第一主机设备基于第一蓝牙通信连接向第一配件设备发送第一消息,第一消息用于指示第一配件设备发送配对广播消息;第一主机设备向第二配件设备发送第二消息,第二消息中包括第一蓝牙配件设备的蓝牙媒体访问控制MAC地址,第二消息用于指示第二配件设备向一个或多个主机设备发送第一配件设备的蓝牙MAC地址,一个或多个主机设备包括第二主机设备;其中,第二配件设备与第一主机设备和第二主机设备均建立有蓝牙通信连接,配对广播消息和第一配件设备的蓝牙MAC地址用于第二主机设备与第一配件设备建立第二蓝牙通信连接。

在第八方面中,第一主机设备可以为主机设备100,第二主机设备可以为主机设备200,第一配件设备可以为图16中的蓝牙配件设备300,第二配件设备可以为图16中的蓝牙配件设备400,第一蓝牙通信连接可以为图16中的蓝牙通信连接2,第一消息可以为图16中的消息1,第二消息可以为图16中的消息2,第二蓝牙通信连接可以为图16中的蓝牙通信连接2’。

第九方面,本申请实施例提供了一种通信系统,该通信系统包括第一主机设备、第一配件设备、第二配件设备;第一配件设备用于与第一主机设备建立第一通信连接;第二配件设备用于与第一主机设备建立第二通信连接;第一配件设备还用于检测用户触发第一事件,响应于第一事件,基于第一通信连接向第一主机设备发送第一数据,第一数据中包括第一事件的信息;第一主机设备用于基于第二通信连接向第二配件设备发送第一事件的信息;第二配件设备还用于接收第一主机设备发送的第一事件的信息,并基于第一事件的信息执行响应操作。

第十方面,本申请实施例提供了一种通信系统,通信系统包括第一主机设备、第二主机设备、第一配件设备、第二配件设备,第二配件设备与第一主机设备和第二主机设备均建立有蓝牙通信连接;第一配件设备用于与第一主机设备建立第一蓝牙通信连接;第一主机设备用于基于第一蓝牙通信连接向第一蓝牙配件设备发送第一消息,第一消息用于指示第一配件设备发送配对广播消息;第一配件设备还用于在接收到第一消息之后发送配对广播消息;第一主机设备还用于向第二配件设备发送第二消息,第二消息中包括第一配件设备的蓝牙媒体访问控制MAC地址,第二消息用于指示第二配件设备向一个或多个主机设备发送第一配件设备的蓝牙MAC地址,一个或多个主机设备包括第二主机设备;第二配件设备用于向第二主机设备发送第一配件设备的蓝牙MAC地址;第二主机设备用于接收配对广播消息和第一配件设备的蓝牙MAC地址,并基于配对广播消息和第一配件设备的蓝牙MAC地址与第一配件设备进行蓝牙配对并建立第二蓝牙通信连接。

第十一方面,本申请实施例提供了一种电子设备,该电子设备包括一个或多个处理器和一个或多个存储器;其中,一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子设备执行上述第二方面或第三方面或第四方面或第六方面或第七方面或第八方面所述的方法。

第十二方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,计算机程序包括程序指令,当程序指令在电子设备上运行时,使得电子设备执行上述第二方面或第三方面或第四方面或第六方面或第七方面或第八方面所述的方法。

第十三方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述第二方面或第三方面或第四方面或第六方面或第七方面或第八方面所述的方法。

附图说明

图1是本申请实施例提供的一种通信系统的架构示意图;

图2是本申请实施例提供的一种将蓝牙配件设备300和蓝牙配件设备400的蓝牙通信连接由主机设备200切换到主机设备100的流程示意图;

图3是本申请实施例提供的一种将蓝牙配件设备300和蓝牙配件设备400的蓝牙通信连接由主机设备200切换到主机设备201的流程示意图;

图4A是本申请实施例提供的一种在主机设备上进行鼠标设置的用户界面示意图;

图4B是本申请实施例提供的一种在主机设备上对鼠标进行灯效调节的用户界面示意图;

图5是本申请实施例提供的一种多个蓝牙配件设备分别与多个主机设备建立蓝牙通信连接的示意图;

图6A是本申请实施例提供的一种主机设备的软件架构示意图;

图6B是本申请实施例提供的另一种主机设备的软件架构示意图;

图6C是本申请实施例提供的一种蓝牙路由管理服务模块的架构示意图;

图6D是本申请实施例提供的一种蓝牙路由协议报文的结构示意图;

图7是本申请实施例提供的一蓝牙配件设备的软件架构示意图;

图8是本申请实施例提供的一种蓝牙路由方法的流程示意图;

图9是本申请实施例提供的通信方法在切换多个蓝牙配件设备的蓝牙通信连接这一应用场景下的流程示意图;

图10是本申请实施例提供的一种键盘的外形结构示意图;

图11是本申请实施例提供的通信方法在通过一个蓝牙配件设备(例如键盘)来控制另一个蓝牙配件设备(例如鼠标)进行DPI调节这一应用场景下的流程示意图;

图12是本申请实施例提供的通信方法在通过一个蓝牙配件设备(例如键盘)来控制另一个蓝牙配件设备(例如鼠标)进行灯效调节这一应用场景下的流程示意图;

图13是本申请实施例提供的通信方法在一个蓝牙配件设备(例如键盘)和另一个蓝牙配件设备(例如鼠标)协同实现组合按键功能这一应用场景下的流程示意图;

图14是本申请实施例提供一种在蓝牙配件设备(例如蓝牙手环)与主机设备(例如平板)未直接建立蓝牙通信连接的情况下通过中间主机设备(例如手机)来进行通信的示意图;

图15是本申请实施例提供一种在主机设备(例如手机)与另一个主机设备(例如平板)未直接建立蓝牙通信连接的情况下通过中间主机设备(例如个人电脑)来进行通信的示意图;

图16是本申请实施例提供的通信方法在多个蓝牙配件设备分别与多个主机设备建立蓝牙通信连接这一应用场景下的流程示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。

应当理解,本申请的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本申请所描述的实施例可以与其它实施例相结合。

本申请以下实施例中的术语“用户界面(user interface,UI)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面是通过java、可扩展标记语言(extensible markuplanguage,XML)等特定计算机语言编写的源代码,界面源代码在电子设备上经过解析,渲染,最终呈现为用户可以识别的内容。用户界面常用的表现形式是图形用户界面(graphicuser interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的文本、图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。

首先介绍本申请实施例提供的一种通信系统。

图1示例性示出了本申请实施例提供的一种通信系统。

如图1所示,该通信系统可以包括:多个蓝牙配件设备(也可以称为蓝牙配件或配件或配件设备或从设备)、多个主机设备。

其中,蓝牙配件设备和主机设备均为智能终端设备,可以为各种类型,本申请实施例对此不作限制。

例如,蓝牙配件设备可以包括音箱、鼠标、键盘,还可以包括手写笔、耳机等等。

例如,主机设备可以包括平板、个人电脑(Personal Computer,PC)、大屏,还可以包括桌面型计算机、膝上型计算机、手持计算机、车机、手机等等。

在本申请实施例中,主机设备和蓝牙配件设备均可以为支持蓝牙多连接的设备。

该通信系统中的多个蓝牙配件设备均可以与主机设备建立蓝牙(bluetooth,BT)通信连接(或称蓝牙连接),从而可以基于已建立的蓝牙通信连接互相进行通信。

不限于上述蓝牙通信连接,该通信系统中的多个蓝牙配件设备还可以与主机设备建立有线连接,或,其他无线连接,例如无线局域网(wireless local area networks,WLAN)例如无线保真点对点(wireless fidelity point to point,Wi-Fi P2P)连接、近距离无线通信(near field communication,NFC)连接,红外技术(infrared,IR)连接等等。

该通信系统中的多个主机设备可以配置不同的软件操作系统(OperatingSystem,OS),包括但不限于

可以理解的是,在主机设备与配件设备建立的通信连接不是蓝牙通信连接的情况下,上述配件设备也可以不是蓝牙配件设备。

随着终端技术的发展,当前市场上的蓝牙配件设备(例如蓝牙鼠标、蓝牙键盘、手写笔、蓝牙音箱等)越来越多,这些蓝牙配件设备可以与主机设备(例如平板、个人电脑、大屏等)建立蓝牙通信连接,但是,在建立蓝牙通信连接之后,这些蓝牙配件设备之间仍然是相互独立的,不能进行数据交互,无法协同完成某项任务或实现某种功能,给产品设计带来较大的局限性,用户体验差。

下面结合不同的应用场景进行介绍:

应用场景一:切换多个蓝牙配件设备的蓝牙通信连接

蓝牙配件设备(例如鼠标、键盘、音箱等)均可以与一台或多台主机设备(例如平板、PC、大屏等)进行蓝牙配对并建立蓝牙通信连接。假设多个蓝牙配件设备均与主机设备100、主机设备200进行过蓝牙配对,当前这多个蓝牙配件设备均与主机设备100保存着已建立的蓝牙通信连接,如果用户想要将这多个蓝牙配件设备的蓝牙通信连接从主机设备100切换到主机设备200(即将这多个蓝牙配件设备均与主机设备200建立蓝牙通信连接从而可以与主机设备200进行数据交互),有以下两种可能的实现方式:

一种可能的实现方式是,这多个蓝牙配件设备分别都可以支持用户通过切换按键来实现从主机设备100到主机设备200的蓝牙通信连接切换,也即是说,用户需要在这多个蓝牙配件设备上对切换按键都操作一遍,才能够将这多个蓝牙配件设备实现从主机设备100到主机设备200的蓝牙通信连接切换,操作较为繁琐,用户体验差。

另一种可能的实现方式是,在主机设备上开发一个独立的应用程序来对全部蓝牙配件设备进行分开管理,例如,键鼠穿越方案:主机设备检测蓝牙通信连接的切换条件,在确定满足切换条件的情况下,分别对鼠标和键盘进行控制。下面结合图2和图3分别介绍该方案的执行过程:

假设主机设备100为平板,主机设备200为PC,主机设备201为大屏,这三台主机设备的位置可以如图1所示,主机设备200位于中间位置,主机设备100位于主机设备200的左侧,主机设备201位于主机设备200的右侧,这三台主机设备的位置信息都在这三台主机设备上已经提前配置好,蓝牙配件设备300为键盘,蓝牙配件设备400为鼠标,其中,蓝牙配件设备300和蓝牙配件设备400均与主机设备200建立了蓝牙通信连接,这样,主机设备200就可以与蓝牙配件设备300和蓝牙配件设备400建立控制服务通道,以便进行数据交互。

参阅图2,图2示例性示出了将蓝牙配件设备300和蓝牙配件设备400的蓝牙通信连接由主机设备200切换到主机设备100的具体流程。具体步骤如下:

S201、主机设备200检测到用户将光标移动到屏幕的左侧边界的操作。

具体地,主机设备200可以实时监测蓝牙配件设备400的光标位置和光标的移动方向,当检测到光标处于屏幕的边界且向屏幕边界移动时,由于主机设备200上已经提前配置好其他主机设备的位置信息,因此,主机设备200可以确定光标处于屏幕的左侧边界且向屏幕左侧边界移动时,用户的意图是要将蓝牙配件设备的蓝牙通信连接切换到主机设备100。例如,主机设备200在检测到用户将光标移动到屏幕的左侧边界的操作之后,响应于该操作,主机设备200可以分别向蓝牙配件设备300和蓝牙配件设备400发送将蓝牙通信连接切换到主机设备100的指令(即执行下述步骤S202、S205)。

S202-S204、主机设备200向蓝牙配件设备400发送将蓝牙通信连接切换到主机设备100的指令,蓝牙配件设备400接收到该指令之后,可以切换蓝牙通道,切换完成之后,蓝牙配件设备400可以向主机设备100发送消息1。

具体地,蓝牙配件设备400在接收到主机设备200发送的将蓝牙通信连接切换到主机设备100的指令之后,可以将蓝牙通道切换到主机设备100,切换完成之后,蓝牙配件设备400则与主机设备100建立了蓝牙通信连接。之后,蓝牙配件设备400可以向主机设备100发送消息1,与主机设备100进行数据交互。

其中,消息1可以包括蓝牙配件设备400的光标移动消息、按键消息,这样,主机设备100可以基于消息1来执行相关任务(例如显示光标的位置、响应按键操作等)。

S205-S207、主机设备200向蓝牙配件设备300发送将蓝牙通信连接切换到主机设备100的指令,蓝牙配件设备300接收到该指令之后,可以切换蓝牙通道,切换完成之后,蓝牙配件设备300可以向主机设备100发送消息2。

具体地,蓝牙配件设备300在接收到主机设备200发送的将蓝牙通信连接切换到主机设备100的指令之后,可以将蓝牙通道切换到主机设备100,切换完成之后,蓝牙配件设备300则与主机设备100建立了蓝牙通信连接。之后,蓝牙配件设备300可以向主机设备100发送消息2,与主机设备100进行数据交互。

其中,消息2可以包括蓝牙配件设备300的按键消息,这样,主机设备100可以基于消息2来执行相关任务(例如响应按键操作)。

参阅图3,图3示例性示出了将蓝牙配件设备300和蓝牙配件设备400的蓝牙通信连接由主机设备200切换到主机设备201的具体流程。具体步骤如下:

S301、主机设备200检测到用户将光标移动到屏幕的右侧边界的操作。

具体地,主机设备200可以实时监测蓝牙配件设备400的光标位置和光标的移动方向,当检测到光标处于屏幕的边界且向屏幕边界移动时,由于主机设备200上已经提前配置好其他主机设备的位置信息,因此,主机设备200可以确定光标处于屏幕的右侧边界且向屏幕右侧边界移动时,用户的意图是要将蓝牙配件设备的蓝牙通信连接切换到主机设备201。例如,主机设备200在检测到用户将光标移动到屏幕的右侧边界的操作之后,响应于该操作,主机设备200可以分别向蓝牙配件设备300和蓝牙配件设备400发送将蓝牙通信连接切换到主机设备201的指令(即执行下述步骤S302、S305)。

S302-S304、主机设备200向蓝牙配件设备400发送将蓝牙通信连接切换到主机设备201的指令,蓝牙配件设备400接收到该指令之后,可以切换蓝牙通道,切换完成之后,蓝牙配件设备400可以向主机设备201发送消息1’。

具体地,蓝牙配件设备400在接收到主机设备200发送的将蓝牙通信连接切换到主机设备201的指令之后,可以将蓝牙通道切换到主机设备201,切换完成之后,蓝牙配件设备400则与主机设备201建立了蓝牙通信连接。之后,蓝牙配件设备400可以向主机设备201发送消息1’,与主机设备201进行数据交互。

其中,消息1’可以包括蓝牙配件设备400的光标移动消息、按键消息,这样,主机设备201可以基于消息1’来执行相关任务(例如显示光标的位置、响应按键操作等)。

S305-S307、主机设备200向蓝牙配件设备300发送将蓝牙通信连接切换到主机设备201的指令,蓝牙配件设备300接收到该指令之后,可以切换蓝牙通道,切换完成之后,蓝牙配件设备300可以向主机设备201发送消息2’。

具体地,蓝牙配件设备300在接收到主机设备200发送的将蓝牙通信连接切换到主机设备201的指令之后,可以将蓝牙通道切换到主机设备201,切换完成之后,蓝牙配件设备300则与主机设备201建立了蓝牙通信连接。之后,蓝牙配件设备300可以向主机设备201发送消息2’,与主机设备201进行数据交互。

其中,消息2’可以包括蓝牙配件设备300的按键消息,这样,主机设备201可以基于消息2’来执行相关任务(例如响应按键操作)。

从图2和图3可以看出,上述实现方式需要在主机设备上开发复杂的应用程序,具有很强的定制性,无法覆盖多种场景。多个蓝牙配件设备之间无法进行数据交互,只能被动接收主机设备的控制指令,功能演进需要强依赖主机设备上的应用程序,多个蓝牙配件设备之间无法协同实现一些场景化的功能。此外,还需要用户提前配置好各台主机设备之间的位置信息,方案复杂,用户需要重度参与,体验较差。

应用场景二:控制蓝牙配件设备调节相关配置

通常,蓝牙配件设备存在一些配置功能,例如,鼠标的每英寸点数(Dots PerInch,DPI)调节、灯效调节等,可以在鼠标上增加按键或者在主机设备上开发相关的应用程序来支持用户手动进行配置。

参阅图4A,图4A示例性示出了在主机设备上进行鼠标设置的用户界面,该用户界面中可以包括DPI调节拖动条411,用户可以通过拖动该DPI调节拖动条411来对鼠标进行DPI调节。

继续参阅图4A,可以看出,鼠标上有DPI加和DPI减的按键,用户也可以通过在鼠标上操作这两个按键来对鼠标进行DPI调节。通常,为了追求鼠标更好的外观和缩小硬件成本,不希望在鼠标上增加太多控制按键,因此当前市面上常用的方案还是在主机设备上开发相关的应用程序来进行配置。

继续参阅图4A,该用户界面还可以支持用户将鼠标上的按键配置成键盘上的组合键的特定功能。

参阅图4B,图4B示例性示出了在主机设备上对鼠标进行灯效调节的用户界面,该用户界面可以支持用户对鼠标进行开启/关闭灯效、开启/关闭轮廓灯、灯光色彩、速度、亮度等进行设置。

从图4A和图4B可以看出,在主机设备上开发相关的应用程序来实现对鼠标进行DPI、灯效等配置的调节,每次调节都需要用户打开应用程序,操作复杂;在鼠标上增加按键来实现键盘上的组合键的特定功能,由于鼠标按键数量有限,无法覆盖常用组合键的需求。此外,增加了软硬件成本,约束了鼠标的外观设计和ID设计。

应用场景三:组合按键

用户在使用键盘和鼠标时,很多场景下都是左手操作键盘,右手操作鼠标,而键盘上的一些组合键,用户很难进行单手操作,例如Fn+Fx的组合键,在这种情况下,用户右手需要脱离鼠标,通过左手和右手分别按下Fn和Fx来实现组合键的功能。

这样,用户右手需要在键盘和鼠标之间频繁切换,容易增加用户的疲劳度。

应用场景四:单手操作键盘

对于键盘来说,从携带和使用时占用的空间这两个角度考虑,用户存在减小键盘尺寸的需求,但是,当前市面上的单手操作键盘,在减小键盘尺寸的同时,也减少了键盘的很多按键功能,无法满足用户需求。

应用场景五:多个蓝牙配件设备分别与多个主机设备建立蓝牙通信连接

用户在使用具有蓝牙多连接功能的蓝牙配件设备(例如键盘、鼠标等)时,可以分别触发蓝牙配件设备的每个蓝牙通道来发送蓝牙广播消息,主机设备可以通过蓝牙广播消息来发现对应的蓝牙配件设备,进一步地,可以逐一与蓝牙配件设备进行蓝牙配对并建立蓝牙通信连接。

图5示例性示出了多个蓝牙配件设备分别与多个主机设备建立蓝牙连接的示意图。

参阅图5,以两个蓝牙配件设备(例如蓝牙配件设备300、蓝牙配件设备400)分别与三个主机设备(例如主机设备100、主机设备200、主机设备201)建立蓝牙通信连接为例,如果用户想要将蓝牙配件设备300与上述三个主机设备建立蓝牙通信连接,那么,用户需要分别触发蓝牙配件设备300依次与上述三个主机设备进行蓝牙配对,也即是说,用户需要进行3次蓝牙配对操作才能实现蓝牙配件设备300与上述三个主机设备建立蓝牙通信连接。同理,如果用户想要将蓝牙配件设备400与上述三个主机设备建立蓝牙通信连接,也需要进行3次蓝牙配对操作才能实现蓝牙配件设备300与上述三个主机设备建立蓝牙通信连接。

可以看出,要想实现两个蓝牙配件设备分别与三个主机设备建立蓝牙通信连接,需要用户进行6次操作,此外,建立蓝牙通信连接之后,还需要用户确认这两个蓝牙配件设备所连接的主机设备是否为同一个主机设备,操作极为繁琐,用户体验差。

本申请实施例提供了一种通信方法,在多个蓝牙配件设备与主机设备建立蓝牙通信连接的情况下,可以基于主机设备的蓝牙路由功能为这多个蓝牙配件设备提供数据通信通道,这样,这多个蓝牙配件设备之间可以进行数据通信,从而使得这多个蓝牙配件设备可以协同实现对应场景下的差异化功能,简化用户操作,提高用户体验。

本申请实施例提供的通信方法,主要包括以下四种方案:

方案一(即下述实施例一,用于解决上述应用场景一中存在的问题):

基于主机设备的蓝牙路由功能,实现多个蓝牙配件设备之间的信息同步功能(例如同步蓝牙配件设备进行蓝牙切换事件的信息),这样,可以通过操作一个蓝牙配件设备(例如按下一个蓝牙配件设备的蓝牙切换按键)来使得多个蓝牙配件设备的蓝牙通信连接从一台主机设备自动切换到另一台主机设备,一步操作,多设备自动协同。

方案二(即下述实施例二和实施例三,用于解决上述应用场景二中存在的问题):

基于主机设备的蓝牙路由功能,实现多个蓝牙配件设备之间的信息同步功能(例如同步蓝牙配件设备的按键状态的信息),这样,可以通过借用一个蓝牙配件设备上的按键(例如键盘上的DPI按键、灯效调节按键)来实现对另一个蓝牙配件设备进行配置(例如通过借用键盘上的DPI按键、灯效调节按键来实现对鼠标进行DPI调节、灯效调节),共享硬件资源,降低成本,优化产品外观效果。

方案三(即下述实施例四,用于解决上述应用场景三和应用场景四中存在的问题):

基于主机设备的蓝牙路由功能,实现多个蓝牙配件设备之间的信息同步功能(例如同步蓝牙配件设备的按键状态的信息),这样,一个蓝牙配件设备的按键状态的信息可以同步到另一个蓝牙配件设备,一方面,一个蓝牙配件设备上的按键和另一个蓝牙配件设备上的按键可以形成组合键(例如鼠标上的侧按键与键盘上的Fx按键可以形成与键盘上的Fn+Fx功能相同的组合键),无需用户在两个蓝牙配件设备(例如鼠标和键盘)之间频繁切换,减缓用户疲劳;另一方面,一个蓝牙配件设备上的按键可以根据另一个蓝牙配件设备的按键状态的不同来实现不同的功能,例如,鼠标上某个按键按下时,可以改变键盘上的按键的功能(例如键盘上的QWERT分别转换成YUIOP),一键多功能,减少键盘按键数量,缩小键盘尺寸的同时,也可以满足用户的需求。

方案四(即下述实施例五,用于解决上述应用场景五中存在的问题):

主机设备可以通过与之建立蓝牙通信连接的蓝牙配件设备向与该蓝牙配件设备建立蓝牙通信连接的其他主机设备发送其他蓝牙配件设备的设备信息(例如蓝牙MAC地址等),使得一个或多个主机设备获取到未与之建立蓝牙通信连接的蓝牙配件设备的设备信息,这一个或多个主机设备可以基于蓝牙配件设备的设备信息主动与该蓝牙配件设备进行蓝牙配对并建立蓝牙通信连接,简化用户操作,提高用户体验。

后续实施例中会详细介绍上述四种方案,在此先不展开。

下面介绍本申请实施例提供的主机设备的两种软件架构示意图。

本申请实施例提供的主机设备配置的操作系统可以包括但不限于

在主机设备配置的操作系统为

如图6A所示,主机设备可以包括应用层、框架层和驱动层。

应用层可以包括一系列应用程序。

框架层可以为应用层的应用程序提供应用编程接口(application programminginterface,API)和编程框架。框架层包括一些预先定义的函数。

如图6A所示,框架层可以包括输入子系统、蓝牙管理服务模块。

输入子系统可以用于接收按键、触摸等输入事件,并且可以对这些原始输入事件进行处理,还可以对这些事件进行派发。输入子系统还可以提供注入事件的接口,应用程序可以通过调用这个接口产生输入事件,然后将该输入事件注入到输入子系统中进行处理。

蓝牙管理服务模块可以包括蓝牙设备管理服务模块、蓝牙路由管理服务模块。

其中,蓝牙设备管理服务模块可以用于查询附近是否存在蓝牙设备、与蓝牙配件设备建立蓝牙通信连接、负责本地设备可被其他设备发现或连接等。

其中,蓝牙路由管理服务模块是本申请实施例的核心模块,可以用于负责对蓝牙配件设备的路由注册管理、数据转发等。

驱动层可以用于检测和使能硬件。驱动层可以包括一个或多个驱动,例如显示驱动,摄像头驱动,音频驱动,传感器驱动、蓝牙驱动等。

在主机设备配置的操作系统为除

如图6B所示,主机设备可以包括应用层、Windows软件开发工具包(SoftwareDevelopmentKit,SDK)和驱动层。

应用层可以包括一系列应用程序,例如,应用程序1(例如电脑管家)。其中,应用程序1中可以包括蓝牙路由管理服务模块。

可以看出,与图6A所示实施例不同的是,图6B中所示的蓝牙路由管理服务模块是集成在了应用层,其功能与图6A中所示的蓝牙路由管理服务模块可以是类似的。

Windows SDK可以包括蓝牙SDK。其中,蓝牙SDK可以为上层应用中的蓝牙路由管理服务模块提供相关的接口来实现本申请实施例中提供的方法。

驱动层可以用于检测和使能硬件。驱动层可以包括一个或多个驱动,例如显示驱动,摄像头驱动,音频驱动,传感器驱动、蓝牙驱动等。

可以理解的是,图6A和图6B仅仅是示例性的,不应该对本申请实施例中主机设备的软件架构产生任何的限定。例如,在本申请另一些实施例中,主机设备的软件架构也可以采用与图6A和图6B所示的例子中不同的分层结构,或者每层还可以包括更多或者更少的模块、或者多种不同模块方式的组合等,本申请实施例对此不作限定。

参阅图6C,图6C示例性示出了本申请实施例提供的上述蓝牙路由管理服务模块的一种架构示意图。

如图6C所示,蓝牙路由管理服务模块可以包括蓝牙路由服务连接管理模块、蓝牙路由协议模块、路由设备注册管理模块、数据转发模块、路由映射表。

蓝牙路由服务连接管理模块可以用于基于蓝牙协议建立特定通用唯一识别码(UniversallyUniqueIdentifier,UUID)的服务连接和设备认证;将接收的报文发送给蓝牙路由协议模块;提供数据收发接口;基于数据转发模块发送的路由类报文和通信句柄将路由类报文发送给对应的蓝牙配件设备;等等。

其中,上述接收的报文可以为来自蓝牙配件设备的报文(例如注册类报文、路由类报文)。

蓝牙路由协议模块可以用于负责对蓝牙路由服务连接管理发送的报文进行解析;将注册类报文发送给路由设备注册管理模块;将路由类报文发送给数据转发模块;等等。

路由设备注册管理模块可以用于接收蓝牙路由协议模块发送的注册类报文;更新路由映射表;等等。

例如,路由设备注册管理模块在接收到蓝牙路由协议模块发送的注册类报文之后,可以基于注册类报文中的注册的设备类型将通信句柄写入到对应的路由映射表中。

其中,上述通信句柄可以包括注册的设备类型对应的蓝牙通信连接的信息(例如蓝牙通道的信息等等)。

路由映射表可以用于记录并保存注册的设备类型与通信句柄的映射关系,即注册的设备类型与蓝牙通信连接的映射关系。

数据转发模块可以用于接收蓝牙路由协议模块发送的路由类报文;还可以基于路由类报文中携带的目的设备类型,读取路由映射表,从而获取目的设备类型对应的通信句柄;还可以将路由类报文和通信句柄发送给蓝牙路由服务连接管理模块;等等。

可以理解的是,图6C仅仅是示例性的,不应该对本申请实施例中蓝牙路由管理服务模块的架构产生任何的限定。例如,在本申请另一些实施例中,蓝牙路由管理服务模块的架构还可以包括更多或者更少的模块、或者多种不同模块方式的组合等,本申请实施例对此不作限定。

参阅图6D,图6D示例性示出了本申请实施例提供的一种蓝牙路由协议报文的结构示意图。

如图6D所示,蓝牙路由协议报文可以由以下几个字段构成:版本信息(Version)、数据类型(DataType)、源设备类型(SourceDeviceType,SrcDevType)、目的设备类型(DestinationDeviceType,DestDevType)、保留字段(Reserved,Rev)、有效载荷(Payload)。其中:

版本信息(Version),字段长度可以为1Byte,可以包括路由协议的版本等信息,可以用于进行设备间的协议匹配校验。

数据类型(DataType),字段长度可以为1Byte,可以用于表示报文的数据类型。

例如,0x01可以表示报文的数据类型为注册类,即该报文为注册类报文(也可以称为设备注册报文),0x02可以表示报文的数据类型为路由类,即该报文为路由类报文(即需要路由给其他设备的报文)。

源设备类型(SourceDeviceType,SrcDevType),字段长度可以为1Byte,可以用于表示报文发送方的设备类型。

例如,0x00可以表示主机设备,0x01可以表示鼠标设备,0x02可以表示键盘设备,0x03可以表示手写笔设备,0x04可以表示音箱设备,等等。

目的设备类型(DestinationDeviceType,DestDevType),字段长度可以为2Byte,可以用于表示报文接收方的设备类型。每个bit位可以表示一种设备类型,例如,bit0可以表示主机设备,bit1可以表示鼠标设备,bit2可以表示键盘设备,bit3可以表示手写笔设备,bit4可以表示音箱设备,等等。

其中,某个/些bit设置为1,则目的设备类型则可以为该个/些bit所表示的设备类型,例如,bit1设置为1,则目的设备类型为鼠标设备;又例如,bit1和bit2设置为1,则目的设备类型为鼠标设备和键盘设备。

保留字段(Reserved,Rev),字段长度可以为2Byte,可以表示未定义的数据,用于后续进行扩展。

有效载荷(Payload),字段长度可以为nByte(n为正整数),可以基于设备间的业务需求,表示自行定义的数据。

在本申请实施例中,上述自行定义的数据可以包括蓝牙配件设备监测到的事件的信息(例如用户按下键盘上某个按键的事件的信息、用户按下鼠标上某个按键的事件的信息等)。

可以理解的是,图6D所示的蓝牙路由协议报文的结构仅仅是示例性的,在一些实施例中,蓝牙路由协议报文的结构还可以是其他,本申请实施例对此不作限定。

下面介绍本申请实施例提供的蓝牙配件设备的一种软件架构示意图。

本申请实施例提供的蓝牙配件设备配置的操作系统可以包括但不限于

在一些实施例中,蓝牙配件设备配置的操作系统可以为嵌入式操作系统,或者,蓝牙配件设备不配置操作系统。

参阅图7,图7示例性示出了蓝牙配件设备的软件架构示意图。

如图7所示,蓝牙配件设备可以包括应用层、服务层、驱动层。

应用层为蓝牙配件设备的具体业务功能的实现模块,可以包括事件处理模块。

事件处理模块可以用于接收蓝牙数据通信服务模块发送的事件的信息;还可以用于基于事件的信息执行相应的动作。例如,响应用户按下键盘上某个按键的事件,基于人体接口设备(HumanInterfaceDevice,HID)这一蓝牙协议将该按键对应的键值发送给主机设备,或,执行蓝牙通道切换的动作,等等。

服务层为提供蓝牙配件设备的通用能力的模块,可以包括事件监测模块、蓝牙数据通信服务模块。

事件监测模块可以用于负责监测蓝牙配件设备的所有的事件(例如用户按下按键的事件、用户松开按键的事件、建立蓝牙通信连接的事件、断开蓝牙通信连接的事件等),还可以收集上述事件的信息,等等。

蓝牙数据通信服务模块可以用于负责路由数据的封装和解析,提供路由数据的收发接口,等等。

驱动层为蓝牙配件设备进行检测和使能硬件的模块,可以包括按键采集模块、蓝牙SDK。

按键采集模块可以用于获取用户的按键行为。

蓝牙SDK可以提供蓝牙芯片的基础SDK。

可以理解的是,图7仅仅是示例性的,不应该对本申请实施例中蓝牙配件设备的软件架构产生任何的限定。例如,在本申请另一些实施例中,蓝牙配件设备的软件架构也可以采用与图7所示的例子中不同的分层结构,或者每层还可以包括更多或者更少的模块、或者多种不同模块方式的组合等,本申请实施例对此不作限定。

基于上述主机设备和蓝牙配件设备的软件架构,下面介绍本申请实施例提供的蓝牙路由方法的具体流程。

图8示例性示出了本申请实施例提供的一种蓝牙路由方法的具体流程。

如图8所示,该方法可以应用于包括主机设备、蓝牙配件设备A、蓝牙配件设备B的通信系统。其中,主机设备可以包括蓝牙路由管理服务模块,蓝牙配件设备A可以包括事件监测模块、蓝牙数据通信服务模块,蓝牙配件设备B可以包括事件处理模块、蓝牙数据通信服务模块。下面详细介绍该方法的具体步骤:

首先,在本申请实施例中,主机设备与蓝牙配件设备A、蓝牙配件设备B之间需要建立蓝牙路由服务连接,并且蓝牙配件设备A与蓝牙配件设备B需要向主机设备注册设备类型,在建立完成蓝牙路由服务连接且注册完成设备类型的前提下,才可以继续执行下述阶段二中的各个步骤,以进行设备间的蓝牙路由数据通信。

示例性地,建立蓝牙路由服务连接与注册设备类型的一种可能的实现方式可以为下述阶段一(步骤S801-步骤S806)中描述的实现方式,下面详细介绍:

阶段一:建立蓝牙路由服务连接与注册设备类型

S801-S803、蓝牙配件设备A与主机设备建立蓝牙路由服务连接一,之后,蓝牙配件设备A可以向主机设备发送注册请求一,该请求中包括蓝牙配件设备A的设备类型。主机设备保存蓝牙通信连接一与蓝牙配件设备A的设备类型之间的映射关系,其中,蓝牙通信连接一为蓝牙配件设备A与主机设备建立的蓝牙通信连接。

其中,上述蓝牙路由服务连接一可以是基于蓝牙协议建立的特定UUID的服务连接,基于该蓝牙路由服务连接,蓝牙配件设备A可以向主机设备进行设备注册(例如进行蓝牙路由设备类型注册)、与主机设备之间进行数据通信。

蓝牙配件设备A在与主机设备建立了蓝牙路由服务连接一之后,蓝牙配件设备A的蓝牙数据通信服务模块可以主动向主机设备的蓝牙路由管理服务模块发送注册请求一,该请求可以为蓝牙配件设备A向主机设备进行蓝牙路由设备类型注册的请求,该请求中可以包括蓝牙配件设备A的设备类型。

容易理解,上述注册请求一为注册类报文,其结构可以参照前述图6D所示的报文的结构。

主机设备的蓝牙路由管理服务模块在接收到蓝牙配件设备A发送的注册请求一之后,主机设备的蓝牙路由管理服务模块可以通过解析上述注册请求一获取到蓝牙配件设备A的设备类型,之后可以记录并保存蓝牙通信连接一与蓝牙配件设备A的设备类型之间的映射关系。

可以理解的是,在蓝牙配件设备A与主机设备建立蓝牙路由服务连接一之前,蓝牙配件设备A与主机设备还需要先建立蓝牙通信连接一,该蓝牙通信连接一可以是通过主机设备的蓝牙设备管理模块建立的。也即是说,在蓝牙配件设备A与主机设备建立了蓝牙通信连接一的基础上,蓝牙配件设备A与主机设备才可以建立上述蓝牙路由服务连接一。

S804-S806、蓝牙配件设备B与主机设备建立蓝牙路由服务连接二,之后,蓝牙配件设备B可以向主机设备发送注册请求二,该请求中包括蓝牙配件设备B的设备类型。主机设备保存蓝牙通信连接二与蓝牙配件设备B的设备类型之间的映射关系,其中,蓝牙通信连接二为蓝牙配件设备B与主机设备建立的蓝牙通信连接。

其中,上述蓝牙路由服务连接二可以是基于蓝牙协议建立的特定UUID的服务连接,基于该蓝牙路由服务连接,蓝牙配件设备B可以向主机设备进行设备注册(例如进行蓝牙路由设备类型注册)、与主机设备之间进行数据通信。

蓝牙配件设备B在与主机设备建立了蓝牙路由服务连接二之后,蓝牙配件设备B的蓝牙数据通信服务模块可以主动向主机设备的蓝牙路由管理服务模块发送注册请求二,该请求可以为蓝牙配件设备B向主机设备进行蓝牙路由设备类型注册的请求,该请求中可以包括蓝牙配件设备B的设备类型。

容易理解,上述注册请求二为注册类报文,其结构可以参照前述图6D所示的报文的结构。

主机设备的蓝牙路由管理服务模块在接收到蓝牙配件设备B发送的注册请求二之后,主机设备的蓝牙路由管理服务模块可以通过解析上述注册请求二获取到蓝牙配件设备B的设备类型,之后可以记录并保存蓝牙通信连接二与蓝牙配件设备B的设备类型之间的映射关系。

可以理解的是,在蓝牙配件设备B与主机设备建立蓝牙路由服务连接二之前,蓝牙配件设备B与主机设备还需要先建立蓝牙通信连接二,该蓝牙通信连接二可以是通过主机设备的蓝牙设备管理模块建立的。也即是说,在蓝牙配件设备B与主机设备建立了蓝牙通信连接二的基础上,蓝牙配件设备B与主机设备才可以建立上述蓝牙路由服务连接二。

需要说明的是,本申请实施例对执行步骤S801-步骤S803、步骤S804-步骤S806的时间顺序不作限定。例如,步骤S801-步骤S803可以先于步骤S804-步骤S806执行;又例如,步骤S801-步骤S803可以后于步骤S804-步骤S806执行;再例如,步骤S801-步骤S803可以与步骤S804-步骤S806同时执行。

在完成上述阶段一(即建立蓝牙路由服务连接与注册设备类型阶段)之后,可以基于已建立的蓝牙路由服务连接来进行设备间的蓝牙路由数据通信。

示例性地,进行设备间的蓝牙路由数据通信的一种可能的实现方式可以为下述阶段二(步骤S807-步骤S821)中描述的实现方式,下面详细介绍:

阶段二:进行设备间的蓝牙路由数据通信

S807-S810、蓝牙配件设备A的事件监测模块监测到发生事件a,之后,蓝牙配件设备A的事件监测模块可以向蓝牙配件设备A的蓝牙数据通信服务模块发送数据一,该数据中可以包括事件a的信息、目的设备类型1。蓝牙配件设备A的蓝牙数据通信服务模块可以封装数据一,之后,可以向主机设备的蓝牙路由管理服务模块发送封装好的数据一。

具体地,蓝牙配件设备A的事件监测模块可以实时地进行事件监测,在监测到事件a(例如用户按下蓝牙配件设备A的某个按键的事件等)发生之后,事件监测模块可以调用蓝牙数据通信服务模块提供的数据发送接口,来向蓝牙数据通信服务模块发送数据一,该数据中可以包括事件a的信息(例如用户按下的蓝牙配件设备A的某个按键对应的键值等信息)、目的设备类型1。

其中,上述数据一中可以包括一个或多个目的设备类型(例如目的设备类型1),这一个或多个目的设备类型可以是预先设置好的,无需用户手动设置。这一个或多个目的设备类型为需要接收上述数据一的设备(即上述数据一的接收方)对应的设备类型。

蓝牙配件设备A的蓝牙数据通信服务模块在接收到上述数据一之后,可以将上述数据一进行封装,得到满足蓝牙协议格式的数据,即封装好的数据一。

容易理解,上述封装好的数据一为路由类报文,其结构可以参照前述图6D所示的报文的结构。

进一步地,蓝牙配件设备A的蓝牙数据通信服务模块可以向主机设备的蓝牙路由管理服务模块发送上述封装好的数据一。

S811-S812、主机设备的蓝牙路由管理服务模块基于封装好的数据一确定目的设备类型1为蓝牙配件设备B的设备类型,并基于已保存的设备类型与蓝牙通信连接之间的映射关系确定目的设备类型1对应的蓝牙通信连接为蓝牙通信连接二,之后,主机设备的蓝牙路由管理服务模块可以向蓝牙配件设备B的蓝牙数据通信服务模块发送封装好的数据一。

具体地,假设目的设备类型1为蓝牙配件设备B的设备类型,主机设备的蓝牙路由管理服务模块在接收到蓝牙配件设备A发送的封装好的数据一之后,由于封装好的数据一中包括目的设备类型1,那么,主机设备的蓝牙路由管理服务模块可以解析封装好的数据一得到目的设备类型1,并确定目的设备类型1为蓝牙配件设备B的设备类型,进一步地,由于在阶段一中主机设备的蓝牙路由管理服务模块记录并保存了蓝牙配件设备B的设备类型与蓝牙通信连接二之间的映射关系,因此,主机设备的蓝牙路由管理服务模块可以基于已保存的设备类型与蓝牙通信连接之间的映射关系确定目的设备类型1对应的蓝牙通信连接为蓝牙通信连接二,进一步地,主机设备的蓝牙路由管理服务模块可以确定需要通过上述蓝牙通信连接二将上述封装好的数据一发送给蓝牙配件设备B。之后,主机设备的蓝牙路由管理服务模块可以通过上述蓝牙通信连接二向蓝牙配件设备B的蓝牙数据通信服务模块发送上述封装好的数据一。

在一些实施例中,例如,在只包括蓝牙配件设备A和蓝牙配件设备B的场景下,或者,上述事件a为全部蓝牙配件设备的通用事件(例如切换蓝牙通信连接的事件)的场景下,上述步骤S808中的数据一也可以只包括事件a的信息,而不包括目的设备类型1。

在一些实施例中,在上述步骤S812中,主机设备也可以只把数据一中包括的事件a的信息发送给蓝牙配件设备B。

S813-S814、蓝牙配件设备B的蓝牙数据通信服务模块解析封装好的数据一,识别出事件a的信息,之后,蓝牙配件设备B的蓝牙数据通信服务模块可以向蓝牙配件设备B的事件处理模块发送事件处理消息,该消息中包括事件a的信息。

具体地,蓝牙配件设备B的蓝牙数据通信服务模块在接收到主机设备的蓝牙路由管理服务模块发送的封装好的数据一之后,可以对该封装好的数据一进行解析,从而识别出该封装好的数据一中包括的事件a的信息。之后,蓝牙配件设备B的蓝牙数据通信服务模块可以向蓝牙配件设备B的事件处理模块发送事件处理消息,该消息中可以包括事件a的信息,以通知蓝牙配件设备B的事件处理模块对事件a进行处理。

S815-S816、蓝牙配件设备B的事件处理模块执行事件a对应的动作,执行完成之后,可以向蓝牙配件设备B的蓝牙数据通信服务模块发送事件处理完成消息。

具体地,蓝牙配件设备B的事件处理模块在接收到蓝牙配件设备B的蓝牙数据通信服务模块发送的事件处理消息之后,可以对事件a进行处理,即执行事件a对应的动作。执行完成之后,可以向蓝牙配件设备B的蓝牙数据通信服务模块发送事件处理完成消息以向蓝牙配件设备B的蓝牙数据通信服务模块通知蓝牙配件设备B的事件处理模块已完成对事件a的处理。

其中,上述事件处理完成消息中可以包括蓝牙配件设备B对事件a的处理结果。

S817、蓝牙配件设备B的蓝牙数据通信服务模块向主机设备的蓝牙路由管理服务模块发送响应数据,该数据中包括事件处理完成消息、目的设备类型2。

具体地,蓝牙配件设备B的蓝牙数据通信服务模块在接收到蓝牙配件设备B的事件处理模块发送的事件处理完成消息之后,可以生成响应数据,该数据中可以包括上述事件处理完成消息、目的设备类型2。之后,蓝牙配件设备B的蓝牙数据通信服务模块可以向主机设备的蓝牙路由管理服务模块发送上述响应数据,以便通过主机设备来向蓝牙配件设备A反馈蓝牙配件设备B对上述事件a的处理结果。

其中,上述目的设备类型2可以为上述数据一的发送方对应的设备类型(即蓝牙配件设备A的设备类型)。

容易理解,上述响应数据为路由类报文,其结构可以参照前述图6D所示的报文的结构。

S818-S819、主机设备的蓝牙路由管理服务模块基于响应数据确定目的设备类型2为蓝牙配件设备A的设备类型,并基于已保存的设备类型与蓝牙通信连接之间的映射关系确定目的设备类型2对应的蓝牙通信连接为蓝牙通信连接一,之后,主机设备的蓝牙路由管理服务模块可以向蓝牙配件设备A的蓝牙数据通信服务模块发送响应数据。

具体地,可以理解,目的设备类型2为蓝牙配件设备A的设备类型,主机设备的蓝牙路由管理服务模块在接收到蓝牙配件设备B发送的响应数据之后,由于响应数据中包括目的设备类型2,那么,主机设备的蓝牙路由管理服务模块可以解析响应数据得到目的设备类型2,并确定目的设备类型2为蓝牙配件设备A的设备类型,进一步地,由于在阶段一中主机设备的蓝牙路由管理服务模块记录并保存了蓝牙配件设备A的设备类型与蓝牙通信连接一之间的映射关系,因此,主机设备的蓝牙路由管理服务模块可以基于已保存的设备类型与蓝牙通信连接之间的映射关系确定目的设备类型2对应的蓝牙通信连接为蓝牙通信连接一,进一步地,主机设备的蓝牙路由管理服务模块可以确定需要通过上述蓝牙通信连接一将上述响应数据发送给蓝牙配件设备A。之后,主机设备的蓝牙路由管理服务模块可以通过上述蓝牙通信连接一向蓝牙配件设备A的蓝牙数据通信服务模块发送上述响应数据。

S820-S821、蓝牙配件设备A的蓝牙数据通信服务模块解析响应数据得到事件处理完成消息,之后,蓝牙配件设备A的蓝牙数据通信服务模块可以向蓝牙配件设备A的事件监测模块发送事件处理完成消息。

具体地,蓝牙配件设备A的蓝牙数据通信服务模块在接收到主机设备的蓝牙路由管理服务模块发送的响应数据之后,可以解析响应数据得到事件处理完成消息。之后,蓝牙配件设备A的蓝牙数据通信服务模块可以向蓝牙配件设备A的事件监测模块发送事件处理完成消息,以向蓝牙配件设备A的事件监测模块通知蓝牙配件设备B对上述事件a的处理结果。

在上述实施例中,蓝牙配件设备B在事件处理完成(即事件处理成功)的情况下可以通过主机设备向蓝牙配件设备A发送事件处理完成消息,在一些实施例中,蓝牙配件设备B在事件处理失败的情况下也可以通过主机设备向蓝牙配件设备A发送相应消息以通知蓝牙配件设备A事件处理失败,这样,蓝牙配件设备A可以基于该消息执行相应操作,例如,重新通过主机设备向蓝牙配件设备B发送上述数据一。

通过实施上述图8所示实施例提供的方法,在多个蓝牙配件设备与主机设备建立蓝牙通信连接的情况下,可以基于主机设备的蓝牙路由功能为这多个蓝牙配件设备提供数据通信通道,这样,这多个蓝牙配件设备之间可以进行数据通信,从而使得这多个蓝牙配件设备可以协同完成某项任务或实现某种功能。

下面结合不同的应用场景来介绍本申请实施例提供的通信方法。

实施例一:通过操作一个蓝牙配件设备(例如按下一个蓝牙配件设备的蓝牙切换按键)来使得多个蓝牙配件设备的蓝牙通信连接从一台主机设备自动切换到另一台主机设备。

图9示例性示出了本申请实施例提供的通信方法在切换多个蓝牙配件设备的蓝牙通信连接这一应用场景下的具体流程。

如图9所示,该方法可以应用于包括主机设备100、主机设备200、蓝牙配件设备300(例如键盘)、蓝牙配件设备400(例如鼠标)、蓝牙配件设备500(例如音箱)的通信系统。下面详细介绍该方法的具体步骤:

首先,在本申请实施例中,主机设备100与蓝牙配件设备300、蓝牙配件设备400、蓝牙配件设备500之间需要建立蓝牙路由服务连接,并且蓝牙配件设备300、蓝牙配件设备400、蓝牙配件设备500需要向主机设备100注册设备类型,在建立完成蓝牙路由服务连接且注册完成设备类型的前提下,才可以继续执行下述阶段二中的各个步骤,以切换多个蓝牙配件设备的蓝牙通信连接。

示例性地,建立蓝牙路由服务连接与注册设备类型的一种可能的实现方式可以为下述阶段一(步骤S901-步骤S909)中描述的实现方式,下面详细介绍:

阶段一:建立蓝牙路由服务连接与注册设备类型

S901-S903、蓝牙配件设备300与主机设备100建立蓝牙路由服务连接1,之后,蓝牙配件设备300可以向主机设备100发送注册请求1,该请求中包括蓝牙配件设备300的设备类型。主机设备100保存蓝牙通信连接1与蓝牙配件设备300的设备类型之间的映射关系,其中,蓝牙通信连接1为蓝牙配件设备300与主机设备100建立的蓝牙通信连接。

S904-S906、蓝牙配件设备400与主机设备100建立蓝牙路由服务连接2,之后,蓝牙配件设备400可以向主机设备100发送注册请求2,该请求中包括蓝牙配件设备400的设备类型。主机设备100保存蓝牙通信连接2与蓝牙配件设备400的设备类型之间的映射关系,其中,蓝牙通信连接2为蓝牙配件设备400与主机设备100建立的蓝牙通信连接。

S907-S909、蓝牙配件设备500与主机设备100建立蓝牙路由服务连接3,之后,蓝牙配件设备500可以向主机设备100发送注册请求3,该请求中包括蓝牙配件设备500的设备类型。主机设备100保存蓝牙通信连接3与蓝牙配件设备500的设备类型之间的映射关系,其中,蓝牙通信连接3为蓝牙配件设备500与主机设备100建立的蓝牙通信连接。

其中,上述步骤S901-步骤S903、步骤S904-步骤S906、步骤S907-步骤S909与前述图8所示阶段一中的步骤S801-步骤S803(或步骤S804-步骤S806)类似,其具体执行过程可以参照前述图8所示阶段一中的步骤S801-步骤S803(或步骤S804-步骤S806)中的相关文字描述,在此不再赘述。

在完成上述阶段一(即建立蓝牙路由服务连接与注册设备类型阶段)之后,可以基于已建立的蓝牙路由服务连接来切换多个蓝牙配件设备的蓝牙通信连接。

示例性地,切换多个蓝牙配件设备的蓝牙通信连接的一种可能的实现方式可以为下述阶段二(步骤S910-步骤S920)中描述的实现方式,下面详细介绍:

阶段二:切换多个蓝牙配件设备的蓝牙通信连接

S910-S911、蓝牙配件设备300检测到用户触发将蓝牙通信连接由主机设备100切换到主机设备200的事件(即切换事件),之后,蓝牙配件设备300可以向主机设备100发送数据1,该数据中可以包括切换事件的信息、蓝牙配件设备400的设备类型、蓝牙配件设备500的设备类型。

假设蓝牙配件设备300为图10示例性所示的键盘,参阅图10,可以看出,蓝牙配件设备300上有F8按键、F9按键、F10按键,这三个按键(也可以称为蓝牙切换按键)均可以用于支持蓝牙配件设备300与其他设备进行蓝牙配对并建立蓝牙通信连接,也即是说,蓝牙配件设备300可以有三个蓝牙通道,上述三个按键可以分别对应一个蓝牙通道,蓝牙配件设备300可以通过这三个蓝牙通道分别与另外三个设备进行蓝牙配对并建立蓝牙通信连接,之后,用户只需点击F8按键、F9按键、F10按键即可在设备间切换蓝牙通信连接,无需重新进行蓝牙配对,方便快捷。

可以理解,在配件设备(例如蓝牙配件设备300)处于工作状态下,配件设备只能与其中一个已建立通信连接(例如蓝牙通信连接)的主机设备进行数据通信(例如蓝牙数据通信),在这种情况下,能够通过已建立的通信连接与配件设备进行数据通信的某一个主机设备可以称为该配件设备的焦点主机设备,例如,在配件设备为键盘或鼠标的情况下,该配件设备当前所操作或控制的某一个主机设备可以称为该配件设备的焦点主机设备;又例如,在配件设备为音箱的情况下,当前所控制该配件设备的某一个主机设备可以称为该配件设备的焦点主机设备。

容易理解,在触发切换事件之前,蓝牙配件设备300、蓝牙配件设备400、蓝牙配件设备500的焦点主机设备均为主机设备100,在触发切换事件之后,蓝牙配件设备300、蓝牙配件设备400、蓝牙配件设备500的焦点主机设备均可以由主机设备100切换到另一台主机设备(例如主机设备200)。

需要说明的是,本申请实施例中所述的“切换蓝牙配件设备的蓝牙通信连接,或,将蓝牙配件设备的蓝牙通信连接从一台主机设备切换到另一台主机设备,或,切换蓝牙配件设备的蓝牙通道”可以是指将蓝牙配件设备的焦点主机设备从一台主机设备切换到另一台主机设备。也即是说,切换之前,蓝牙配件设备可以通过与一台主机设备(例如主机设备100)建立的蓝牙通信连接与该主机设备(例如主机设备100)进行蓝牙数据通信;切换之后,蓝牙配件设备可以通过与另一台主机设备(例如主机设备200)建立的蓝牙通信连接与该主机设备(例如主机设备200)进行蓝牙数据通信。

以F8按键对应的蓝牙通信连接为上述阶段一中蓝牙配件设备300与主机设备100建立的蓝牙通信连接为例,假设蓝牙配件设备300通过F9按键与主机设备200进行过蓝牙配对,而当前蓝牙配件设备300与主机设备100保持着蓝牙通信连接,那么,在用户想要将当前的蓝牙通信连接由主机设备100切换到主机设备200(即蓝牙配件设备300与主机设备200建立蓝牙通信连接以进行蓝牙数据通信)的情况下,蓝牙配件设备300可以检测到用户触发将蓝牙通信连接由主机设备100切换到主机设备200的事件(例如用户按下图10所示的F9按键的事件),之后,蓝牙配件设备300可以通过与主机设备100建立的蓝牙路由服务连接1向主机设备100发送数据1,该数据中可以包括切换事件的信息、蓝牙配件设备400的设备类型、蓝牙配件设备500的设备类型。

其中,上述切换事件的信息可以包括主机设备200的设备信息,例如,主机设备200的蓝牙媒体访问控制(MediaAccessControl,MAC)地址等。其中,主机设备200的蓝牙MAC地址可以是完整的蓝牙MAC地址;也可以是部分的蓝牙MAC地址,例如蓝牙MAC地址的后三位,以便提高安全性。

其中,蓝牙配件设备400的设备类型、蓝牙配件设备500的设备类型可以为目的设备类型,是预先设置好的,无需用户手动设置。

可以理解,目的设备类型可以为一个或多个,在本申请实施例中仅仅以目的设备类型为两个来举例说明,不应构成任何限定。

S912-S914、主机设备100基于数据1确定目的设备类型为蓝牙配件设备400的设备类型、蓝牙配件设备500的设备类型,并基于已保存的设备类型与蓝牙通信连接之间的映射关系确定蓝牙配件设备400的设备类型对应的蓝牙通信连接为蓝牙通信连接2,蓝牙配件设备500的设备类型对应的蓝牙通信连接为蓝牙通信连接3,之后,主机设备100可以分别向蓝牙配件设备400、蓝牙配件设备500发送数据1。

具体地,主机设备100在接收到蓝牙配件设备300发送的数据1之后,可以解析数据1并确定目的设备类型为蓝牙配件设备400的设备类型、蓝牙配件设备500的设备类型。进一步地,由于在阶段一中主机设备100记录并保存了蓝牙配件设备400的设备类型与蓝牙通信连接2之间的映射关系、蓝牙配件设备500的设备类型与蓝牙通信连接3之间的映射关系,因此,主机设备100可以基于已保存的设备类型与蓝牙通信连接之间的映射关系确定蓝牙配件设备400的设备类型对应的蓝牙通信连接为蓝牙通信连接2,蓝牙配件设备500的设备类型对应的蓝牙通信连接为蓝牙通信连接3。进一步地,主机设备100可以确定需要通过上述蓝牙通信连接2将上述数据1发送给蓝牙配件设备400,需要通过上述蓝牙通信连接3将上述数据1发送给蓝牙配件设备500。之后,主机设备100可以分别通过上述蓝牙通信连接2向蓝牙配件设备400发送上述数据1,通过上述蓝牙通信连接3向蓝牙配件设备500发送上述数据1。

需要说明的是,本申请实施例对执行步骤S913和步骤S914的时间顺序不作限定。例如,步骤S913可以先于步骤S914执行;又例如,步骤S913可以后于步骤S914执行;再例如,步骤S913可以与步骤S914同时执行。

S915-S916、蓝牙配件设备300向主机设备200发送蓝牙广播消息1,之后,蓝牙配件设备300与主机设备200建立蓝牙通信连接1。

具体地,蓝牙配件设备300在向主机设备100发送数据1之后,可以解析数据1并基于数据1确定需要与主机设备200建立蓝牙通信连接,进一步地,蓝牙配件设备300可以向主机设备200发送蓝牙广播消息1,主机设备200在接收到蓝牙配件设备300发送的蓝牙广播消息1之后,可以与蓝牙配件设备300建立蓝牙通信连接1,即蓝牙配件设备300成功将蓝牙通道切换到主机设备200,这样,蓝牙配件设备300与主机设备200可以基于已建立的蓝牙通信连接1进行蓝牙数据通信。

其中,步骤S915-步骤S916可以是在步骤S911之后就执行,也可以是在执行步骤S911-步骤S914之间的某个时间执行,本申请实施例对此不作限定。

S917-S918、蓝牙配件设备400向主机设备200发送蓝牙广播消息2,之后,蓝牙配件设备400与主机设备200建立蓝牙通信连接2。

具体地,蓝牙配件设备400在接收到主机设备100发送的数据1之后,可以解析数据1并基于数据1确定需要与主机设备200建立蓝牙通信连接,进一步地,蓝牙配件设备400可以向主机设备200发送蓝牙广播消息2,主机设备200在接收到蓝牙配件设备400发送的蓝牙广播消息2之后,可以与蓝牙配件设备400建立蓝牙通信连接2,即蓝牙配件设备400成功将蓝牙通道切换到主机设备200,这样,蓝牙配件设备400与主机设备200可以基于已建立的蓝牙通信连接2进行蓝牙数据通信。

其中,步骤S917-步骤S918可以是在步骤S913之后的某个时间执行,本申请实施例对此不作限定。

S919-S920、蓝牙配件设备500向主机设备200发送蓝牙广播消息3,之后,蓝牙配件设备500与主机设备200建立蓝牙通信连接3。

具体地,蓝牙配件设备500在接收到主机设备100发送的数据1之后,可以解析数据1并基于数据1确定需要与主机设备200建立蓝牙通信连接,进一步地,蓝牙配件设备500可以向主机设备200发送蓝牙广播消息3,主机设备200在接收到蓝牙配件设备500发送的蓝牙广播消息3之后,可以与蓝牙配件设备400建立蓝牙通信连接3,即蓝牙配件设备500成功将蓝牙通道切换到主机设备200,这样,蓝牙配件设备500与主机设备200可以基于已建立的蓝牙通信连接3进行蓝牙数据通信。

其中,步骤S919-步骤S920可以是在步骤S914之后的某个时间执行,本申请实施例对此不作限定。

在本申请实施例中,在执行上述步骤S910之前,蓝牙配件设备300、蓝牙配件设备400、蓝牙配件设备500均可以与主机设备200进行过蓝牙配对且并没有与主机设备200保持着蓝牙通信连接,在这种情况下,上述蓝牙广播消息1、蓝牙广播消息2、蓝牙广播消息3可以分别称为蓝牙回连广播消息1、蓝牙回连广播消息2、蓝牙回连广播消息3,在与主机设备200建立蓝牙通信连接之前无需再重新进行蓝牙配对。在一些实施例中,蓝牙配件设备300、蓝牙配件设备400、蓝牙配件设备500均可以与多台主机设备保持着蓝牙通信连接,例如,同时和主机设备100、主机设备200保持着蓝牙通信连接,在这种情况下,蓝牙配件设备无需发送蓝牙广播消息即可将蓝牙通信连接由主机设备100切换到主机设备200。

在一些实施例中,在执行上述步骤S910之前,若蓝牙配件设备400、蓝牙配件设备500与主机设备200均未进行过蓝牙配对,在建立蓝牙通信连接之前需进行蓝牙配对,配对成功之后才能建立蓝牙通信连接。

容易理解,蓝牙配件设备300、蓝牙配件设备400、蓝牙配件设备500在与主机设备200建立了蓝牙通信连接之后,也可以与主机设备200建立蓝牙路由服务连接,并向主机设备200进行设备类型注册,具体执行过程与图9所示阶段一中的步骤S901-步骤S909类似,可以参照前述关于步骤S901-步骤S909的相关文字描述,在此不再赘述。在一些实施例中,蓝牙配件设备300、蓝牙配件设备400、蓝牙配件设备500在与主机设备200建立蓝牙路由服务连接,并向主机设备200进行设备类型注册之后,蓝牙配件设备400、蓝牙配件设备500还可以通过主机设备200向蓝牙配件设备300发送切换事件处理完成的消息,这样,蓝牙配件设备300可以获知蓝牙配件设备400、蓝牙配件设备500对切换事件的处理结果。其中,蓝牙配件设备400、蓝牙配件设备500通过主机设备200向蓝牙配件设备300发送切换事件处理完成的消息的具体执行过程与前述图8所示的步骤S816-步骤S821的具体执行过程类似,可以参照前述关于步骤S816-步骤S821的相关文字描述,在此不再赘述。

可以理解,蓝牙配件设备具备蓝牙多连接功能的情况下,该蓝牙配件设备可以同时保持着与多台主机设备的蓝牙通信连接(但是只能与其中的某一台主机设备进行蓝牙数据通信),在这种情况下,触发切换事件之后,蓝牙配件设备可以只需切换蓝牙通道,无需重新建立蓝牙通信连接;该蓝牙配件设备也可以只与一台主机设备保持着蓝牙通信连接(即与一台主机设备建立蓝牙通信连接的情况下,与另一台主机设备建立的蓝牙通信连接可以断开),在这种情况下,触发切换事件之后,蓝牙配件设备需要重新建立蓝牙通信连接。

通过实施图9所示实施例提供的方法,可以通过操作一个蓝牙配件设备(例如按下一个蓝牙配件设备的蓝牙切换按键)来使得多个蓝牙配件设备的蓝牙通信连接从一台主机设备自动切换到另一台主机设备,方案简洁,注册和路由机制均可以做到用户无感,一步操作,即可实现多设备自动协同,方便快捷,简化用户操作,提高用户体验。

需要说明的是,上述图9所示实施例仅仅是以通过操作蓝牙配件设备300来使得蓝牙配件设备300、蓝牙配件设备400这两个蓝牙配件设备的蓝牙通信连接从一台主机设备自动切换到另一台主机设备为例来进行说明的,蓝牙配件设备300也可以使得更多数量的蓝牙配件设备的蓝牙通信连接从一台主机设备自动切换到另一台主机设备,本申请实施例对蓝牙配件设备的数量不作限定。此外,蓝牙配件设备400或蓝牙配件设备500也可以通过类似的方式来实现将其他蓝牙配件设备的蓝牙通信连接从一台主机设备自动切换到另一台主机设备,在此不再赘述。此外,在蓝牙配件设备与主机设备200建立了蓝牙通信连接之后,也可以通过操作一个蓝牙配件设备来使得多个蓝牙配件设备的蓝牙通信连接从主机设备200切换到主机设备100,其具体过程与前述将蓝牙通信连接从主机设备100切换到主机设备200的具体过程类似,在此不再赘述。

实施例二:通过一个蓝牙配件设备(例如键盘)来控制另一个蓝牙配件设备(例如鼠标)进行DPI调节。

图11示例性示出了本申请实施例提供的通信方法在通过一个蓝牙配件设备(例如键盘)来控制另一个蓝牙配件设备(例如鼠标)进行DPI调节这一应用场景下的具体流程。

如图11所示,该方法可以应用于包括主机设备100、蓝牙配件设备300(例如键盘)、蓝牙配件设备400(例如鼠标)的通信系统。下面详细介绍该方法的具体步骤:

首先,在本申请实施例中,主机设备100与蓝牙配件设备300、蓝牙配件设备400之间需要建立蓝牙路由服务连接,并且蓝牙配件设备300、蓝牙配件设备400需要向主机设备100注册设备类型,在建立完成蓝牙路由服务连接且注册完成设备类型的前提下,才可以继续执行下述阶段二中的各个步骤,以通过蓝牙配件设备300来控制蓝牙配件设备400调节DPI。

示例性地,建立蓝牙路由服务连接与注册设备类型的一种可能的实现方式可以为下述阶段一(步骤S1101-步骤S1106)中描述的实现方式,下面详细介绍:

阶段一:建立蓝牙路由服务连接与注册设备类型

S1101-S1103、蓝牙配件设备300与主机设备100建立蓝牙路由服务连接1,之后,蓝牙配件设备300可以向主机设备100发送注册请求1,该请求中包括蓝牙配件设备300的设备类型。主机设备100保存蓝牙通信连接1与蓝牙配件设备300的设备类型之间的映射关系,其中,蓝牙通信连接1为蓝牙配件设备300与主机设备100建立的蓝牙通信连接。

S1104-S1106、蓝牙配件设备400与主机设备100建立蓝牙路由服务连接2,之后,蓝牙配件设备400可以向主机设备100发送注册请求2,该请求中包括蓝牙配件设备400的设备类型。主机设备100保存蓝牙通信连接2与蓝牙配件设备400的设备类型之间的映射关系,其中,蓝牙通信连接2为蓝牙配件设备400与主机设备100建立的蓝牙通信连接。

其中,上述步骤S1101-步骤S1103、步骤S1104-步骤S1106、与前述图8所示阶段一中的步骤S801-步骤S803(或步骤S804-步骤S806)类似,其具体执行过程可以参照前述图8所示阶段一中的步骤S801-步骤S803(或步骤S804-步骤S806)中的相关文字描述,在此不再赘述。

在完成上述阶段一(即建立蓝牙路由服务连接与注册设备类型阶段)之后,可以基于已建立的蓝牙路由服务连接来通过蓝牙配件设备300控制蓝牙配件设备400调节DPI。

示例性地,通过蓝牙配件设备300来控制蓝牙配件设备400调节DPI的一种可能的实现方式可以为下述阶段二(步骤S1107-步骤S1111)中描述的实现方式,下面详细介绍:

阶段二:通过蓝牙配件设备300来控制蓝牙配件设备400调节DPI

S1107-S1108、蓝牙配件设备300检测到用户触发调节DPI的事件,之后,蓝牙配件设备300可以向主机设备100发送数据2,该数据中可以包括调节DPI事件的信息、蓝牙配件设备400的设备类型。

假设蓝牙配件设备300为图10示例性所示的键盘,蓝牙配件设备400为鼠标。

参阅图10,可以看出,蓝牙配件设备300上有Dpi按键(也可以称为DPI按键),该按键可以用于支持用户通过蓝牙配件设备300来控制蓝牙配件设备400调节DPI。

在用户想要通过蓝牙配件设备300来控制蓝牙配件设备400调节DPI的情况下,蓝牙配件设备300可以检测到用户触发调节DPI的事件(例如用户按下图10所示的Dpi按键的事件),之后,蓝牙配件设备300可以通过与主机设备100建立的蓝牙路由服务连接1向主机设备100发送数据2,该数据中可以包括调节DPI事件的信息、蓝牙配件设备400的设备类型。

其中,上述调节DPI事件的信息可以包括Dpi按键的键值。

在本申请实施例中,调节DPI可以是使用轮询的方式,也即是说,通过蓝牙配件设备300来控制蓝牙配件设备400调节DPI,可以调节的DPI的数值可以是预先设置好的一个数值集合,示例性地,假设该数值集合为{100,200,300,400,……,16000},那么,用户第一次按下Dpi按键的事件对应的DPI的数值为100,第二次按下Dpi按键的事件对应的DPI的数值为200,依次类推,在用户按下Dpi按键的事件对应的DPI的数值为16000之后,如果用户再次按下Dpi按键,那么,用户本次按下Dpi按键的事件对应的DPI的数值又回到了100。容易理解,用户每按下一次蓝牙配件设备300的Dpi按键,蓝牙配件设备400的DPI的数值就可以调节一次,即蓝牙配件设备400的DPI的数值调节为每一次按下Dpi按键的事件对应的DPI的数值,其中,用户每一次按下Dpi按键的事件对应的DPI的数值(即上述数值集合中的每一个数值)可以是蓝牙配件设备400预先设置好的且存储在蓝牙配件设备400上。

在上述实施例中,以用户按下Dpi按键的事件为例来触发调节DPI,即按下事件触发调节DPI,松开事件不再触发调节DPI,在一些实施例中,也可以是用户松开Dpi按键的事件来触发调节DPI,即按下事件不触发调节DPI,而是松开事件触发调节DPI。

在上述实施例中,以利用单个Dpi按键为例来触发调节DPI,在一些实施例中,Dpi按键可以是一对按键,一个用于增加DPI,例如,用户每按下一次该按键,蓝牙配件设备400的DPI的数值就可以增加一次;另一个用于减小DPI,例如,用户每按下一次该按键,蓝牙配件设备400的DPI的数值就可以减小一次。

在一些实施例中,为了减少蓝牙配件设备300上的按键数量,也可以通过定义组合按键来实现通过蓝牙配件设备300来控制蓝牙配件设备400调节DPI。在这种情况下,上述调节DPI事件的信息可以包括用户按下的组合按键的键值。

举例来说,可以定义Fn+Home这一组合按键来实现DPI的增加,可以定义Fn+End这一组合按键来实现DPI的减小。容易理解,用户每按下一次蓝牙配件设备300的Fn+Home这一组合按键,蓝牙配件设备400的DPI的数值就可以增加一次,用户每按下一次蓝牙配件设备300的Fn+End这一组合按键,蓝牙配件设备400的DPI的数值就可以减小一次,每次增加/减小的DPI的数值可以为预先设置好的。

S1109-S1110、主机设备100基于数据2确定目的设备类型为蓝牙配件设备400的设备类型,并基于已保存的设备类型与蓝牙通信连接之间的映射关系确定蓝牙配件设备400的设备类型对应的蓝牙通信连接为蓝牙通信连接2,之后,主机设备100可以向蓝牙配件设备400发送数据2。

具体地,主机设备100在接收到蓝牙配件设备300发送的数据2之后,可以解析数据2并确定目的设备类型为蓝牙配件设备400的设备类型。进一步地,由于在阶段一中主机设备100记录并保存了蓝牙配件设备400的设备类型与蓝牙通信连接2之间的映射关系,因此,主机设备100可以基于已保存的设备类型与蓝牙通信连接之间的映射关系确定蓝牙配件设备400的设备类型对应的蓝牙通信连接为蓝牙通信连接2。进一步地,主机设备100可以确定需要通过上述蓝牙通信连接2将上述数据2发送给蓝牙配件设备400。之后,主机设备100可以通过上述蓝牙通信连接2向蓝牙配件设备400发送上述数据2。

S1111、蓝牙配件设备400执行调节DPI事件对应的动作。

具体地,蓝牙配件设备400在接收到主机设备100发送的数据2之后,可以解析数据2,并基于数据2中包括的调节DPI事件的信息来执行调节DPI事件对应的动作,即对DPI进行相应的设置。

例如,用户在按下蓝牙配件设备300的Dpi按键的情况下,上述调节DPI事件的信息指示的是将蓝牙配件设备400的DPI调节到某个指定数值,那么,蓝牙配件设备400则可以执行将当前DPI的数值调节到上述指定数值的动作,从而完成对DPI的调节设置。

又例如,用户在按下蓝牙配件设备300的增加DPI的组合按键(例如Fn+Home这一组合按键)的情况下,上述调节DPI事件的信息指示的是增加蓝牙配件设备400的DPI,那么,蓝牙配件设备400则可以执行增加DPI的动作,从而完成对DPI的增加设置。

再例如,用户在按下蓝牙配件设备300的减小DPI的组合按键(例如Fn+End这一组合按键)的情况下,上述调节DPI事件的信息指示的是减小蓝牙配件设备400的DPI,那么,蓝牙配件设备400则可以执行减小DPI的动作,从而完成对DPI的减小设置。

在一些实施例中,蓝牙配件设备400在执行完调节DPI事件对应的动作之后,还可以通过主机设备100向蓝牙配件设备300发送调节DPI事件处理完成的消息,这样,蓝牙配件设备300可以获知蓝牙配件设备400对调节DPI这一事件的处理结果。其中,蓝牙配件设备400通过主机设备100向蓝牙配件设备300发送调节DPI事件处理完成的消息的具体执行过程与前述图8所示的步骤S816-步骤S821的具体执行过程类似,可以参照前述关于步骤S816-步骤S821的相关文字描述,在此不再赘述。

通过实施上述图11所示实施例提供的方法,可以直接通过一个蓝牙配件设备(例如键盘)来控制另一个蓝牙配件设备(例如鼠标)进行DPI调节,无需用户在主机设备上安装相关的应用程序来对蓝牙配件设备进行DPI调节,也不需要在蓝牙配件设备上增加按键来进行DPI调节,既可以降低成本,又可以进行更加简洁的外观设计。

实施例三:通过一个蓝牙配件设备(例如键盘)来控制另一个蓝牙配件设备(例如鼠标)进行灯效调节。

图12示例性示出了本申请实施例提供的通信方法在通过一个蓝牙配件设备(例如键盘)来控制另一个蓝牙配件设备(例如鼠标)进行灯效调节这一应用场景下的具体流程。

如图12所示,该方法可以应用于包括主机设备100、蓝牙配件设备300(例如键盘)、蓝牙配件设备400(例如鼠标)的通信系统。下面详细介绍该方法的具体步骤:

首先,在本申请实施例中,主机设备100与蓝牙配件设备300、蓝牙配件设备400之间需要建立蓝牙路由服务连接,并且蓝牙配件设备300、蓝牙配件设备400需要向主机设备100注册设备类型,在建立完成蓝牙路由服务连接且注册完成设备类型的前提下,才可以继续执行下述阶段二中的各个步骤,以通过蓝牙配件设备300来控制蓝牙配件设备400调节灯效。

示例性地,建立蓝牙路由服务连接与注册设备类型的一种可能的实现方式可以为下述阶段一(步骤S1201-步骤S1206)中描述的实现方式,下面详细介绍:

阶段一:建立蓝牙路由服务连接与注册设备类型

S1201-S1203、蓝牙配件设备300与主机设备100建立蓝牙路由服务连接1,之后,蓝牙配件设备300可以向主机设备100发送注册请求1,该请求中包括蓝牙配件设备300的设备类型。主机设备100保存蓝牙通信连接1与蓝牙配件设备300的设备类型之间的映射关系,其中,蓝牙通信连接1为蓝牙配件设备300与主机设备100建立的蓝牙通信连接。

S1204-S1206、蓝牙配件设备400与主机设备100建立蓝牙路由服务连接2,之后,蓝牙配件设备400可以向主机设备100发送注册请求2,该请求中包括蓝牙配件设备400的设备类型。主机设备100保存蓝牙通信连接2与蓝牙配件设备400的设备类型之间的映射关系,其中,蓝牙通信连接2为蓝牙配件设备400与主机设备100建立的蓝牙通信连接。

其中,上述步骤S1201-步骤S1203、步骤S1204-步骤S1206、与前述图8所示阶段一中的步骤S801-步骤S803(或步骤S804-步骤S806)类似,其具体执行过程可以参照前述图8所示阶段一中的步骤S801-步骤S803(或步骤S804-步骤S806)中的相关文字描述,在此不再赘述。

在完成上述阶段一(即建立蓝牙路由服务连接与注册设备类型阶段)之后,可以基于已建立的蓝牙路由服务连接来通过蓝牙配件设备300控制蓝牙配件设备400调节灯效。

示例性地,通过蓝牙配件设备300来控制蓝牙配件设备400调节灯效的一种可能的实现方式可以为下述阶段二(步骤S1207-步骤S1211)中描述的实现方式,下面详细介绍:

阶段二:通过蓝牙配件设备300来控制蓝牙配件设备400调节灯效

S1207-S1208、蓝牙配件设备300检测到用户触发调节灯效的事件,之后,蓝牙配件设备300可以向主机设备100发送数据3,该数据中可以包括调节灯效事件的信息、蓝牙配件设备400的设备类型。

假设蓝牙配件设备300为图10示例性所示的键盘,蓝牙配件设备400为鼠标。

参阅图10,可以看出,蓝牙配件设备300上有LightUp按键、LightDown按键,这两个按键可以支持用户通过蓝牙配件设备300来控制蓝牙配件设备400调节灯效,其中,LightUp按键可以支持用户通过蓝牙配件设备300来控制蓝牙配件设备400增加灯效的亮度,LightDown按键可以支持用户通过蓝牙配件设备300来控制蓝牙配件设备400降低灯效的亮度。

在用户想要通过蓝牙配件设备300来控制蓝牙配件设备400调节灯效的情况下,蓝牙配件设备300可以检测到用户触发调节灯效的事件(例如用户按下图10所示的LightUp按键的事件,或,用户按下图10所示的LightDown按键的事件),之后,蓝牙配件设备300可以通过与主机设备100建立的蓝牙路由服务连接1向主机设备100发送数据3,该数据中可以包括调节灯效事件的信息、蓝牙配件设备400的设备类型。

其中,在用户触发调节灯效的事件为用户按下图10所示的LightUp按键的事件的情况下,上述调节灯效事件的信息可以包括LightUp按键的键值;在用户触发调节灯效的事件为用户按下图10所示的LightDown按键的事件的情况下,上述调节灯效事件的信息可以包括LightDown按键的键值。

在一些实施例中,为了减少蓝牙配件设备300上的按键数量,也可以通过定义组合按键来实现通过蓝牙配件设备300来控制蓝牙配件设备400调节灯效。在这种情况下,上述调节灯效事件的信息可以包括用户按下的组合按键的键值。

举例来说,可以定义Fn+PageUp这一组合按键来实现灯效的亮度的增加,可以定义Fn+PageDown这一组合按键来实现灯效的亮度的降低。

容易理解,用户每按下一次蓝牙配件设备300的Fn+PageUp这一组合按键或LightUp按键,蓝牙配件设备400的灯效的亮度数值就可以增加一次,用户每按下一次蓝牙配件设备300的Fn+PageDown这一组合按键或LightDown按键,蓝牙配件设备400的灯效的亮度数值就可以降低一次,每次增加/减小的灯效的亮度数值可以为预先设置好的。

S1209-S1210、主机设备100基于数据3确定目的设备类型为蓝牙配件设备400的设备类型,并基于已保存的设备类型与蓝牙通信连接之间的映射关系确定蓝牙配件设备400的设备类型对应的蓝牙通信连接为蓝牙通信连接2,之后,主机设备100可以向蓝牙配件设备400发送数据3。

具体地,主机设备100在接收到蓝牙配件设备300发送的数据3之后,可以解析数据3并确定目的设备类型为蓝牙配件设备400的设备类型。进一步地,由于在阶段一中主机设备100记录并保存了蓝牙配件设备400的设备类型与蓝牙通信连接2之间的映射关系,因此,主机设备100可以基于已保存的设备类型与蓝牙通信连接之间的映射关系确定蓝牙配件设备400的设备类型对应的蓝牙通信连接为蓝牙通信连接2。进一步地,主机设备100可以确定需要通过上述蓝牙通信连接2将上述数据3发送给蓝牙配件设备400。之后,主机设备100可以通过上述蓝牙通信连接2向蓝牙配件设备400发送上述数据3。

S1211、蓝牙配件设备400执行调节灯效事件对应的动作。

具体地,蓝牙配件设备400在接收到主机设备100发送的数据3之后,可以解析数据3,并基于数据3中包括的调节灯效事件的信息来执行调节灯效事件对应的动作,即对灯效进行相应的设置。

例如,在用户按下蓝牙配件设备300的LightUp按键或Fn+PageUp这一组合按键的情况下,上述调节灯效事件的信息指示的是增加蓝牙配件设备400的灯效的亮度,那么,蓝牙配件设备400则可以执行增加灯效的亮度的动作,从而完成对灯效的亮度的增加设置。

又例如,在用户按下蓝牙配件设备300的LightDown按键或Fn+PageDown这一组合按键的情况下,上述调节灯效事件的信息指示的是降低蓝牙配件设备400的灯效的亮度,那么,蓝牙配件设备400则可以执行降低灯效的亮度的动作,从而完成对灯效的亮度的降低设置。

在一些实施例中,蓝牙配件设备300上也可以设置有切换灯效的模式(例如图4B中所示的常亮、呼吸、炫彩、波浪、多彩循环、触发等模式)的按键,例如单个按键或组合按键,这样,蓝牙配件设备300也可以通过与上述调节灯效的亮度类似的方式来对蓝牙配件设备400的灯效的模式来进行调节,也即是说,蓝牙配件设备300可以通过主机设备100向蓝牙配件设备400发送切换灯效的模式的单个按键或组合按键的键值,蓝牙配件设备400可以基于切换灯效的模式的单个按键或组合按键的键值切换蓝牙配件设备400的灯效的模式。

在一些实施例中,蓝牙配件设备400在执行完调节灯效事件对应的动作之后,还可以通过主机设备100向蓝牙配件设备300发送调节灯效事件处理完成的消息,这样,蓝牙配件设备300可以获知蓝牙配件设备400对调节灯效这一事件的处理结果。其中,蓝牙配件设备400通过主机设备100向蓝牙配件设备300发送调节灯效事件处理完成的消息的具体执行过程与前述图8所示的步骤S816-步骤S821的具体执行过程类似,可以参照前述关于步骤S816-步骤S821的相关文字描述,在此不再赘述。

通过实施上述图12所示实施例提供的方法,可以直接通过一个蓝牙配件设备(例如键盘)来控制另一个蓝牙配件设备(例如鼠标)进行灯效调节,无需用户在主机设备上安装相关的应用程序来对蓝牙配件设备进行灯效调节,也不需要在蓝牙配件设备上增加按键来进行灯效调节,既可以降低成本,又可以进行更加简洁的外观设计。

实施例四:一个蓝牙配件设备(例如键盘)和另一个蓝牙配件设备(例如鼠标)协同实现组合按键功能。

图13示例性示出了本申请实施例提供的通信方法在一个蓝牙配件设备(例如键盘)和另一个蓝牙配件设备(例如鼠标)协同实现组合按键功能这一应用场景下的具体流程。

如图13所示,该方法可以应用于包括主机设备100、蓝牙配件设备300(例如键盘)、蓝牙配件设备400(例如鼠标)的通信系统。下面详细介绍该方法的具体步骤:

首先,在本申请实施例中,主机设备100与蓝牙配件设备300、蓝牙配件设备400之间需要建立蓝牙路由服务连接,并且蓝牙配件设备300、蓝牙配件设备400需要向主机设备100注册设备类型,在建立完成蓝牙路由服务连接且注册完成设备类型的前提下,才可以继续执行下述阶段二中的各个步骤,以通过蓝牙配件设备300和蓝牙配件设备400来协同实现组合按键功能。

示例性地,建立蓝牙路由服务连接与注册设备类型的一种可能的实现方式可以为下述阶段一(步骤S1301-步骤S1306)中描述的实现方式,下面详细介绍:

阶段一:建立蓝牙路由服务连接与注册设备类型

S1301-S1303、蓝牙配件设备300与主机设备100建立蓝牙路由服务连接1,之后,蓝牙配件设备300可以向主机设备100发送注册请求1,该请求中包括蓝牙配件设备300的设备类型。主机设备100保存蓝牙通信连接1与蓝牙配件设备300的设备类型之间的映射关系,其中,蓝牙通信连接1为蓝牙配件设备300与主机设备100建立的蓝牙通信连接。

S1304-S1306、蓝牙配件设备400与主机设备100建立蓝牙路由服务连接2,之后,蓝牙配件设备400可以向主机设备100发送注册请求2,该请求中包括蓝牙配件设备400的设备类型。主机设备100保存蓝牙通信连接2与蓝牙配件设备400的设备类型之间的映射关系,其中,蓝牙通信连接2为蓝牙配件设备400与主机设备100建立的蓝牙通信连接。

其中,上述步骤S1301-步骤S1303、步骤S1304-步骤S1306、与前述图8所示阶段一中的步骤S801-步骤S803(或步骤S804-步骤S806)类似,其具体执行过程可以参照前述图8所示阶段一中的步骤S801-步骤S803(或步骤S804-步骤S806)中的相关文字描述,在此不再赘述。

在完成上述阶段一(即建立蓝牙路由服务连接与注册设备类型阶段)之后,可以基于已建立的蓝牙路由服务连接来通过蓝牙配件设备300和蓝牙配件设备400协同实现组合按键功能。

示例性地,通过蓝牙配件设备300和蓝牙配件设备400来协同实现组合按键功能的一种可能的实现方式可以为下述阶段二(步骤S1307-步骤S1320)中描述的实现方式,下面详细介绍:

阶段二:通过蓝牙配件设备300和蓝牙配件设备400协同实现组合按键功能

S1307-S1308、蓝牙配件设备400检测到用户按下按键1的事件,之后,蓝牙配件设备300可以向主机设备100发送数据4,该数据中可以包括按下按键1事件的信息、蓝牙配件设备300的设备类型。

具体地,假设蓝牙配件设备400为鼠标,蓝牙配件设备300为键盘,蓝牙配件设备400可以检测到用户按下按键1的事件,其中,按键1可以为蓝牙配件设备400的某一个按键,例如,蓝牙配件设备400的侧按键。之后,蓝牙配件设备400可以向主机设备100发送数据4,该数据中可以包括按下按键1事件的信息、蓝牙配件设备300的设备类型。

其中,上述按下按键1事件的信息可以包括按键1的键值、按下状态的指示信息。

S1309-S1310、主机设备100基于数据4确定目的设备类型为蓝牙配件设备300的设备类型,并基于已保存的设备类型与蓝牙通信连接之间的映射关系确定蓝牙配件设备300的设备类型对应的蓝牙通信连接为蓝牙通信连接1,之后,主机设备100可以向蓝牙配件设备300发送数据4。

具体地,主机设备100在接收到蓝牙配件设备400发送的数据4之后,可以解析数据4并确定目的设备类型为蓝牙配件设备300的设备类型。进一步地,由于在阶段一中主机设备100记录并保存了蓝牙配件设备300的设备类型与蓝牙通信连接1之间的映射关系,因此,主机设备100可以基于已保存的设备类型与蓝牙通信连接之间的映射关系确定蓝牙配件设备300的设备类型对应的蓝牙通信连接为蓝牙通信连接1。进一步地,主机设备100可以确定需要通过上述蓝牙通信连接1将上述数据4发送给蓝牙配件设备300。之后,主机设备100可以通过上述蓝牙通信连接1向蓝牙配件设备300发送上述数据4。

S1311、蓝牙配件设备300保存按键1按下的状态。

具体地,蓝牙配件设备300在接收到主机设备100发送的数据4之后,可以解析数据4,并基于数据4中包括的按下按键1事件的信息确定按键1处于按下的状态,进一步地,蓝牙配件设备300可以保存按键1按下的状态(也可以称为保存按下按键1的事件)。

S1312-S1315、蓝牙配件设备300检测到用户按下按键2的事件,之后,蓝牙配件设备300可以将按键1按下的状态和按下按键2的事件转换为按下组合键1的事件,之后,蓝牙配件设备300可以向主机设备100发送组合键1的键值,主机设备100响应组合键1的键值对应的功能。

具体地,在执行完上述步骤S1311之后,蓝牙配件设备300可以检测到用户按下按键2的事件,其中,按键2可以为蓝牙配件设备300的某一个按键。之后,蓝牙配件设备300可以将按键1按下的状态(也可以称为按下按键1的事件)和按下按键2的事件转换为按下组合键1的事件。其中,组合键1可以为蓝牙配件设备300的某一个组合键,例如,Fn+Fx组合键。举例来说,假设组合键1为Fn+F1,那么,上述按下按键1的事件就可以转换为按下Fn按键的事件,上述按下按键2的事件就是按下F1按键的事件。

进一步地,蓝牙配件设备300可以向主机设备100发送上述组合键1的键值,主机设备在接收到蓝牙配件设备300发送的上述组合键1的键值之后,主机设备100可以响应上述组合键1的键值对应的功能,例如,主机设备100响应组合键Fn+Fx的键值来进行显示屏的背景光调节。

这样,可以通过蓝牙配件设备300与蓝牙配件设备400来协同实现组合按键功能,在用户难以进行单手操作的情况下,也无需用户在蓝牙配件设备300与蓝牙配件设备400之间频繁切换,减缓用户疲劳,此外,现有技术是在蓝牙配件设备400上定义上述按键1的功能,当检测到用户按下上述按键1之后,蓝牙配件设备400可以向主机设备100发送上述按键1的键值,主机设备100可以响应上述按键1的键值对应的功能,这样蓝牙配件设备400的一个按键只能实现一种功能,可以看出,通过实施本方案,在用户按下上述按键1之后,可以再通过按下蓝牙配件设备300的按键形成一个或多个组合键,从而实现多种功能。

在一些实施例中,蓝牙配件设备300在保存按键1按下的状态之后,可以改变蓝牙配件设备300上的单个按键的功能。例如,在按键1按下之后,QWERT可以分别转换成YUIOP,AS D F G可以分别转换为H JKL;,ZXCV B可以分别转换成NM,./,Caps可以转换成Enter,等等。容易理解,在这种情况下,假设上述按键2为Q按键,那么,上述组合键1即为Y按键。

这样,更少的按键数量也可以覆盖全部按键的功能,一键多功能,减少蓝牙配件设备300的按键数量,缩小蓝牙配件设备300的尺寸的同时,无需修改按键尺寸,也无需裁剪蓝牙配件设备300的按键功能,也可以满足用户的需求。

S1316-S1317、蓝牙配件设备400检测到用户松开按键1的事件,之后,蓝牙配件设备400可以向主机设备100发送数据5,该数据中可以包括松开按键1事件的信息、蓝牙配件设备300的设备类型。

具体地,蓝牙配件设备400在检测到用户按下按键1的事件之后,还可以检测到用户松开按键1的事件,之后,蓝牙配件设备400可以向主机设备100发送数据5,该数据中可以包括松开按键1事件的信息、蓝牙配件设备300的设备类型。

其中,上述松开按键1事件的信息可以包括按键1的键值、松开状态的指示信息。

S1318-S1319、主机设备100基于数据5确定目的设备类型为蓝牙配件设备300的设备类型,并基于已保存的设备类型与蓝牙通信连接之间的映射关系确定蓝牙配件设备300的设备类型对应的蓝牙通信连接为蓝牙通信连接1,之后,主机设备100可以向蓝牙配件设备300发送数据5。

具体地,主机设备100在接收到蓝牙配件设备400发送的数据5之后,可以解析数据5并确定目的设备类型为蓝牙配件设备300的设备类型。进一步地,由于在阶段一中主机设备100记录并保存了蓝牙配件设备300的设备类型与蓝牙通信连接1之间的映射关系,因此,主机设备100可以基于已保存的设备类型与蓝牙通信连接之间的映射关系确定蓝牙配件设备300的设备类型对应的蓝牙通信连接为蓝牙通信连接1。进一步地,主机设备100可以确定需要通过上述蓝牙通信连接1将上述数据5发送给蓝牙配件设备300。之后,主机设备100可以通过上述蓝牙通信连接1向蓝牙配件设备300发送上述数据5。

S1320、蓝牙配件设备300清除按键1按下的状态。

具体地,蓝牙配件设备300在接收到主机设备100发送的数据5之后,可以解析数据5,并基于数据5中包括的松开按键1事件的信息确定按键1处于松开的状态,进一步地,蓝牙配件设备300可以清除按键1按下的状态。

可以理解,蓝牙配件设备300在清除按键1按下的状态之后,则不能与蓝牙配件设备400协同实现前述组合按键的功能,例如,此时用户想要实现Fn+Fx对应的功能,则用户需要按下蓝牙配件设备300的Fn按键和Fx按键。

可以理解,蓝牙配件设备300在清除按键1按下的状态之后,蓝牙配件设备300可以把在按键1处于按下状态时改变的单个按键的功能再进行复原,例如,把被转换为YUIOP的QWERT的功能进行复原,把被转换为H JKL;的A S D F G的功能进行复原,把被转换为NM,./的ZXCV B的功能进行复原,把被转换为Enter的Caps的功能进行复原,等等。也即是说,用户按下蓝牙配件设备300的哪个按键,主机设备100就响应哪个按键的键值对应的功能。

在上述实施例中,在上述步骤S1320中,蓝牙配件设备300清除按键1按下的状态的实现方式是删除已记录的按键1按下的状态,在一些实施例中,蓝牙配件设备300清除按键1按下的状态还可以为另一种可能的实现方式,例如,蓝牙配件设备300在按键1按下或松开的状态下可以做不同的标记,例如,按下的状态用数字1来标记,松开的状态用数字0来标记,在这种情况下,蓝牙配件设备300将原来标记的数字1置为数字0,以表示按键1处于松开的状态,即用户松开了按键1。

通过实施上述图13所示实施例提供的方法,蓝牙配件设备400(例如鼠标)的按键状态的信息可以同步到蓝牙配件设备300(例如键盘),一方面,蓝牙配件设备400上的按键和蓝牙配件设备300上的按键可以形成组合键(例如蓝牙配件设备400上的侧按键与蓝牙配件设备300上的Fx按键可以形成与蓝牙配件设备400上的Fn+Fx功能相同的组合键),无需用户在鼠标和键盘之间频繁切换,减缓用户疲劳;另一方面,蓝牙配件设备300上的按键可以根据蓝牙配件设备400的按键状态的不同来实现不同的功能,例如,蓝牙配件设备400上某个按键按下时,可以改变蓝牙配件设备300上的按键的功能(例如蓝牙配件设备300上的QWERT分别转换成YUIOP),一键多功能,减少蓝牙配件设备300的按键数量,缩小蓝牙配件设备300尺寸的同时,也可以满足用户的需求。

在前述各个实施例中,都是一个蓝牙配件设备通过主机设备来与另一个蓝牙配件设备进行通信,也即是说,蓝牙配件设备作为从设备,两个从设备通过一个主机设备来进行通信。在一些实施例中,主机设备也可以作为从设备来与另一个主机设备(即中间主机设备)建立蓝牙路由服务连接并向该主机设备注册设备类型,从而可以实现主机设备与主机设备、主机设备与蓝牙配件设备在未直接建立蓝牙通信连接的情况下,可以通过中间主机设备来进行通信,较为便捷,提高用户体验。

示例性地,参阅图14,图14是在蓝牙配件设备(例如蓝牙手环)与主机设备(例如平板)未直接建立蓝牙通信连接的情况下通过中间主机设备(例如手机)来进行通信的示意图。以蓝牙手环、平板、手机为例,蓝牙手环和平板可以作为从设备,手机可以作为中间主机设备,蓝牙手环和平板分别与手机建立了蓝牙路由服务连接,并向手机注册了设备类型,通过手机上的蓝牙路由功能,平板可以与手环进行通信,例如,获取手环的相关信息,或,对手环进行相关设置,等等。

示例性地,参阅图15,图15是在主机设备(例如手机)与另一个主机设备(例如平板)未直接建立蓝牙通信连接的情况下通过中间主机设备(例如个人电脑)来进行通信的示意图。以手机、平板、个人电脑为例,手机和平板可以作为从设备,个人电脑可以作为中间主机设备,手机和平板分别与个人电脑建立了蓝牙路由服务连接,并向个人电脑注册了设备类型,通过个人电脑上的蓝牙路由功能,手机可以与平板进行通信。

上述图8、图9、图11、图12、图13所示的实施例中,均是以主机设备与蓝牙配件设备建立的通信连接为蓝牙通信连接为例,不限于此,还可以是有线连接、或、其他无线连接(例如WiFi连接等),或,有线连接与无线连接的结合等等,本申请实施例对此不作限定。

实施例五:主机设备通过蓝牙配件设备向其他主机设备发送其他蓝牙配件设备的设备信息来使得其他主机设备自动与其他蓝牙配件设备建立蓝牙通信连接。

图16示例性示出了本申请实施例提供的通信方法在多个蓝牙配件设备分别与多个主机设备建立蓝牙通信连接这一应用场景下的具体流程。

如图16所示,该方法可以应用于包括主机设备100、主机设备200、蓝牙配件设备300(例如键盘)、蓝牙配件设备400(例如鼠标)的通信系统。下面详细介绍该方法的具体步骤:

S1601-S1602、蓝牙配件设备400通过蓝牙配件设备400的蓝牙通道1与主机设备100建立蓝牙通信连接1,蓝牙配件设备400通过蓝牙配件设备400的蓝牙通道2与主机设备200建立蓝牙通信连接1’。

其中,蓝牙配件设备400可以为具备蓝牙多连接功能的设备,这样,蓝牙配件设备400可以通过多个蓝牙通道依次与多台主机设备建立蓝牙通信连接。

例如,蓝牙配件设备400可以通过蓝牙配件设备400的蓝牙通道1与主机设备100建立蓝牙通信连接1。

又例如,蓝牙配件设备400可以通过蓝牙配件设备400的蓝牙通道2与主机设备200建立蓝牙通信连接1’。

需要说明的是,本申请实施例对执行步骤S1601与步骤S1602的时间先后顺序不作限定。例如,步骤S1601也可以后于步骤S1602执行。

S1603、蓝牙配件设备300通过蓝牙配件设备300的蓝牙通道1与主机设备100建立蓝牙通信连接2。

其中,蓝牙配件设备300可以为具备蓝牙多连接功能的设备,这样,蓝牙配件设备300可以通过多个蓝牙通道依次与多台主机设备建立蓝牙通信连接。

具体地,在蓝牙配件设备400与多台主机设备(例如主机设备100和主机设备200)建立了蓝牙通信连接(例如执行完步骤S1601-步骤S1602)之后,蓝牙配件设备300可以先与上述多台主机设备中的一台主机设备建立蓝牙通信连接。

以蓝牙配件设备300与主机设备100建立蓝牙通信连接为例,在用户触发蓝牙配件设备300的蓝牙通道1发送蓝牙广播消息之后,主机设备100可以通过该蓝牙广播消息来发现蓝牙配件设备300,进一步地,主机设备100可以与蓝牙配件设备进行蓝牙配对并建立蓝牙通信连接2,这样,蓝牙配件设备300则可以通过蓝牙配件设备300的蓝牙通道1与主机设备100建立蓝牙通信连接2。

在蓝牙配件设备300通过蓝牙配件设备300的蓝牙通道1与主机设备100建立蓝牙通信连接2之后,主机设备100可以通过蓝牙配件设备400向与蓝牙配件设备400建立蓝牙通信连接的其他主机设备(例如主机设备200)发送蓝牙配件设备300的设备信息(例如蓝牙配件设备300的蓝牙MAC地址等),使得上述与蓝牙配件设备400建立蓝牙通信连接的其他主机设备获取到蓝牙配件设备300的设备信息,进一步地,可以基于蓝牙配件设备300的设备信息自动与蓝牙配件设备300进行蓝牙配对并建立蓝牙通信连接,无需用户进行多次连接操作即可将蓝牙配件设备与多台主机设备建立蓝牙通信连接,提高用户体验。

上述方案的一种可能的实现方式可以为下述步骤S1604-步骤S1611中描述的实现方式,下面详细介绍:

S1604、主机设备100向蓝牙配件设备300发送消息1,该消息用于指示蓝牙配件设备300打开除蓝牙通道1之外的其他通道来发送蓝牙广播消息。

具体地,在蓝牙配件设备300与主机设备100建立了蓝牙通信连接2之后,主机设备100可以向蓝牙配件设备300发送上述消息1,该消息可以用于指示蓝牙配件设备300打开除蓝牙通道1之外的其他通道(例如蓝牙通道2等)来发送蓝牙广播消息。

这样,蓝牙配件设备300可以利用除蓝牙通道1之外的其他通道发送蓝牙广播消息以使得其他设备发现蓝牙配件设备300,在其他设备发现蓝牙配件设备300之后,蓝牙配件设备300可以通过除蓝牙通道1之外的其他通道与其他设备进行蓝牙配对并建立蓝牙通信连接。

S1605、主机设备100获取蓝牙配件设备300的蓝牙MAC地址。

其中,步骤S1605可以与上述步骤S1604同时执行,也可以先于或后于上述步骤S1604执行,本申请实施例对此不作限定。

容易理解,蓝牙配件设备300的每一个蓝牙通道可以分别对应一个蓝牙MAC地址,上述蓝牙配件设备300的蓝牙MAC地址可以包括蓝牙配件设备300的除蓝牙通道1之外的其他通道对应的蓝牙MAC地址。

S1606、主机设备100向蓝牙配件设备400发送消息2,该消息中包括蓝牙配件设备300的蓝牙MAC地址,该消息用于指示蓝牙配件设备400将蓝牙配件设备300的蓝牙MAC地址发送给除主机设备100之外的与蓝牙配件设备400建立蓝牙通信连接的其他设备。

具体地,主机设备100在获取到蓝牙配件设备300的蓝牙MAC地址之后,主机设备100可以向蓝牙配件设备400发送上述消息2,该消息中可以包括蓝牙配件设备300的蓝牙MAC地址,该消息可以用于指示蓝牙配件设备400将蓝牙配件设备300的蓝牙MAC地址发送给除主机设备100之外的与蓝牙配件设备400建立蓝牙通信连接的其他设备(例如主机设备200),以便除主机设备100之外的与蓝牙配件设备400建立蓝牙通信连接的其他设备可以基于蓝牙配件设备300的蓝牙MAC地址自动与蓝牙配件设备300进行蓝牙配对并建立蓝牙通信连接。

S1607-S1608、蓝牙配件设备400基于消息2确定需要将蓝牙配件设备300的蓝牙MAC地址发送给主机设备200,之后,蓝牙配件设备400可以向主机设备200发送蓝牙配件设备300的蓝牙MAC地址。

具体地,蓝牙配件设备400在接收到主机设备100发送的消息2之后,可以获取到消息2中包括的蓝牙配件设备300的蓝牙MAC地址。进一步地,由于与蓝牙配件设备400建立蓝牙通信连接的设备为主机设备100和主机设备200这两个设备,因此,蓝牙配件设备400可以确定需要将蓝牙配件设备300的蓝牙MAC地址发送给主机设备200。进一步地,蓝牙配件设备400可以向主机设备200发送蓝牙配件设备300的蓝牙MAC地址,以便主机设备200可以基于蓝牙配件设备300的蓝牙MAC地址自动与蓝牙配件设备300进行蓝牙配对并建立蓝牙通信连接。

S1609、蓝牙配件设备300向主机设备200发送蓝牙广播消息。

具体地,在蓝牙配件设备300接收到主机设备100发送的上述消息1之后,蓝牙配件设备300可以打开除蓝牙通道1之外的其他通道,向一个或多个主机设备发送蓝牙广播消息,以蓝牙配件设备300的蓝牙通道2和主机设备200为例,蓝牙配件设备300可以通过蓝牙配件设备300的蓝牙通道2向主机设备200发送蓝牙广播消息。

其中,上述蓝牙广播消息可以为蓝牙配对广播消息,上述蓝牙广播消息中可以包括蓝牙配件设备300的蓝牙MAC地址。

S1610、主机设备200基于蓝牙广播消息和蓝牙配件设备300的蓝牙MAC地址确定与蓝牙配件设备300进行蓝牙配对并建立蓝牙通信连接。

具体地,主机设备200在接收到蓝牙配件设备300发送的蓝牙广播消息和蓝牙配件设备400发送的蓝牙配件设备300的蓝牙MAC地址之后,主机设备200可以基于蓝牙配件设备300发送的蓝牙广播消息和蓝牙配件设备400发送的蓝牙配件设备300的蓝牙MAC地址确定需要与蓝牙配件设备300进行蓝牙配对并建立蓝牙通信连接,进一步地,主机设备200可以自动与蓝牙配件设备300进行蓝牙配对,完成蓝牙配对之后,主机设备200可以与蓝牙配件设备300建立蓝牙通信连接。

S1611、蓝牙配件设备300通过除蓝牙通道1之外的其他通道与主机设备200建立蓝牙通信连接2’。

具体地,在主机设备200与蓝牙配件设备300进行蓝牙配对并完成蓝牙配对之后,蓝牙配件设备300可以通过除蓝牙通道1之外的其他通道(例如蓝牙配件设备300的蓝牙通道2)与主机设备200建立蓝牙通信连接2’。

可以理解的是,本申请实施例仅仅以两个蓝牙配件设备与两个主机设备建立蓝牙通信连接为例,更多数量的蓝牙配件设备与更多数量的主机设备建立蓝牙通信连接的具体过程与之类似,在此不再赘述。

通过实施上述图16所示实施例提供的方法,主机设备(例如主机设备100)可以通过与之建立蓝牙通信连接的蓝牙配件设备(例如蓝牙配件设备400)向与该蓝牙配件设备建立蓝牙通信连接的其他主机设备(例如主机设备200)发送其他蓝牙配件设备(例如蓝牙配件设备300)的设备信息(例如蓝牙MAC地址等),从而使得一个或多个主机设备获取到未与之建立蓝牙通信连接的蓝牙配件设备的设备信息,这样,这一个或多个主机设备可以基于蓝牙配件设备的设备信息主动与该蓝牙配件设备进行蓝牙配对并建立蓝牙通信连接,简化用户操作,提高用户体验。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solidstate disk,SSD))等。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。

以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

相关技术
  • 一种机器人系统中相关设备间的通信方法及装置
  • 组播数据传输方法、相关设备及通信系统
  • 一种通信方法、相关设备及系统
  • 星型网络通信方法、中心设备、子设备及通信系统
  • 耗材芯片及其通信方法,耗材芯片与成像设备通信系统、方法
  • 用于增强与用户设备和移动通信网络之间的环境相关信息的传输有关的用户设备资源和/或网络资源的使用的方法、用户设备、移动通信网络,以及包括用户设备和移动通信网络的系统
  • 用于电子通信设备的动态深度集群中的通信方法、实施所述方法的电子通信设备和相关联的系统
技术分类

06120116480372