多蓝牙设备通信的方法及主机的制作方法

文档序号:9712325阅读:306来源:国知局
多蓝牙设备通信的方法及主机的制作方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及一种多蓝牙设备通信的方法及主机。
【背景技术】
[0002]基于蓝牙的短距离语音通信设备日趋广泛,但现有的主机使用的操作系统如Android等,其底层蓝牙协议栈目前只能支持一台蓝牙设备与主机之间进行语音连接,因而不能满足用户对基于蓝牙的多人语音通信的需求。
[0003]上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。

【发明内容】

[0004]本发明的主要目的在于提供一种多蓝牙设备通信的方法及主机,旨在不改变操作系统如android的原有框架及底层蓝牙驱动的基础上实现多台蓝牙设备之间进行语音通in的需求。
[0005]为实现上述目的,本发明提供一种多蓝牙设备通信的方法,所述多蓝牙设备通信的方法包括以下步骤:
[0006]连接第一蓝牙设备;
[0007]接收第二蓝牙设备发送的连接请求;
[0008]中断与第一蓝牙设备之间的sco连接,同时保留与所述第一蓝牙设备之间的rfcomm 连接;
[0009]在完成与所述第一蓝牙设备之间的sco连接中断后,根据所述连接请求建立与所述第二蓝牙设备之间的连接;
[0010]在接收到所述第一蓝牙设备发送的通过所述rfcomm通道发送的指令时,中断与所述第二蓝牙设备之间的连接,并恢复与所述第一蓝牙设备之间的sco连接。
[0011]优选地,所述在接收到所述第一蓝牙设备发送的指令时,中断与所述第二蓝牙设备之间的连接,并恢复与所述第一蓝牙设备之间的sco连接的步骤包括:
[0012]判断所述指令是否为切换指令;
[0013]若所述指令为切换指令,则中断与所述第二蓝牙设备之间的连接,并恢复与所述第一蓝牙设备之间的SCO连接。
[0014]优选地,所述判断所述指令是否为切换指令的步骤之后还包括:
[0015]若所述指令不是切换指令,则保持与所述第二蓝牙设备之间的连接。
[0016]优选地,所述根据所述连接请求建立与所述第二蓝牙设备之间的连接的步骤包括:
[0017]判断是否为首次接收所述第二蓝牙设备发送的连接请求;
[0018]若是,则建立与所述第二蓝牙设备之间的sco连接;
[0019]在完成与所述第二蓝牙设备之间的sco连接后,建立与所述第二蓝牙设备之间的rfcomm 连接。
[0020]优选地,所述判断是否为首次接收所述第二蓝牙设备发送的连接请求的步骤之后还包括:
[0021]若不是首次接收所述第二蓝牙设备发送的连接请求,则恢复与所述第二蓝牙设备之间的SCO连接。
[0022]此外,为实现上述目的,本发明还提供一种主机,所述主机包括:
[0023]第一连接模块,用于连接第一蓝牙设备;
[0024]接收模块,用于接收第二蓝牙设备发送的连接请求;
[0025]中断处理模块,用于中断与第一蓝牙设备之间的sco连接,同时保留与所述第一蓝牙设备之间的rfcomm连接;
[0026]第二连接模块,用于在完成与所述第一蓝牙设备之间的sco连接中断后,根据所述连接请求建立与所述第二蓝牙设备之间的连接;
[0027]恢复处理模块,用于在接收到所述第一蓝牙设备通过所述rfcomm连接通道发送的指令时,中断与所述第二蓝牙设备之间的连接,并恢复与所述第一蓝牙设备之间的SCO连接。
[0028]优选地,所述恢复处理模块包括:
[0029]第一判断单元,用于判断所述指令是否为切换指令;
[0030]处理单元,用于若所述指令为切换指令,则中断与所述第二蓝牙设备之间的连接,并恢复与所述第一蓝牙设备之间的SCO连接。
[0031 ] 优选地,所述恢复处理模块还包括:
[0032]连接单元,用于若所述指令不是切换指令,则保持与所述第二蓝牙设备之间的连接。
[0033]优选地,所述第二连接模块包括:
[0034]第二判断单元,用于判断是否为首次接收所述第二蓝牙设备发送的连接请求;
[0035]第一建立单元,用于若是,则建立与所述第二蓝牙设备之间的sco连接;
[0036]第二建立单元,用于在完成与所述第二蓝牙设备之间的sco连接后,建立与所述第二蓝牙设备之间的rfcomm连接。
[0037]优选地,所述连接建立模块还包括:
[0038]恢复单元,用于若不是首次接收所述第二蓝牙设备发送的连接请求,则恢复与所述第二蓝牙设备之间的sco连接。
[0039]本发明提供的多蓝牙设备通信的方法及主机,通过主机对多蓝牙设备的通信切换管理,使得多蓝牙设备在被切换时,仍然与所述主机保持rfcomm连接,在再次接收到该蓝牙设备通过rfco_通道发送的通信连接请求时,恢复与所述第一蓝牙设备之间SCO连接。这样,省去了所述蓝牙设备与所述主机之间的重新连接操作,从而在不改变操作系统如android的原有框架及底层蓝牙驱动的基础上实现多台蓝牙设备与所述主机之间进行语音通信的需求。
【附图说明】
[0040]图1为本发明多蓝牙设备通信的方法一实施例的流程示意图;
[0041]图2为图1中步骤S105的细化流程示意图;
[0042]图3为图1中步骤S104的细化流程示意图;
[0043]图4为本发明主机一实施例的功能模块示意图;
[0044]图5为图4中恢复处理模块的细化功能模块示意图;
[0045]图6为图4中第二连接模块的细化功能模块示意图。
[0046]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0047]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0048]本发明提供一种多蓝牙设备通信的方法,参照图1,在一实施例中,所述多蓝牙设备通信的方法包括以下步骤:
[0049]步骤S101,连接第一蓝牙设备;
[0050]步骤S102,接收第二蓝牙设备发送的连接请求;
[0051]本实施例中,在主机的操作系统如android的原有框架及底层蓝牙驱动的基础上,支持多蓝牙设备的连接。当然,并不仅限于android系统,还可以根据实际需求选择其他如 Android、1S、Symbian、Windows Phone 和 BlackBerry OS 等操作系统。本优选实施例中,多蓝牙设备与主机之间的连接为语音连接,其他实施例也可以为视频连接等。可以理解的是,所述蓝牙设备包括蓝牙耳麦、蓝牙音箱、蓝牙mp3以及带蓝牙功能的手机等。而所述主机可以为手机、电视或IPAD等。
[0052]步骤S103,中断与所述第一蓝牙设备之间的sco连接,同时保留与所述第一蓝牙设备之间的rfcomm连接;
[0053]本优选实施例中,米用sco (Synchronous Connect1n Oriented link,同步定向链接)连接,可以满足传输对时间要求很高的数据通信,在其他对传输时间要求较低的数据通信实施例中,也可以选择ACL (Asynchronous Connect1nless,异步无链接)或其他蓝牙物理链路。
[0054]本实施例中,由于sco协议为同步协议,只支持点对点的语音或视频传输,因此,在主机收到其他蓝牙设备的连接请求,并确定与该蓝牙设备连接时,则会中断与与第一蓝牙设备之间的SCO连接,同时保留与所述第一蓝牙设备之间的rfco_连接。
[0055]步骤S104,在完成与所述第一蓝牙设备之间的sco连接中断后,根据所述连接请求建立与所述第二蓝牙设备之间的连接;
[0056]本实施例中,若主机完成与所述第一蓝牙设备之间的sco连接中断,则会根据连接请求建立与所述第二蓝牙设备之间的连接。
[0057]步骤S105,在接收到所述第一蓝牙设备通过所述rfcomm连接通道发送的指令时,中断与所述第二蓝牙设备之间的连接,并恢复与所述第一蓝牙设备之间的sco连接。
[0058]本优选实施例中,由于所述第一蓝牙设备与所述主机之间只有sco连接中断,而rfcomm仍然处于连接状态,因此,在主机接收到第一蓝牙设备通过rfcomm通道发送的rfcomm指令时,并在确定与所述第一蓝牙设备连接时,则会中断与所述第二蓝牙设备之间的连接,并恢复与所述第一蓝牙设备之间的sco连接。
[0059]本发明提供的多蓝牙设备通信的方法,通过主机对多蓝牙设备的通信切换管理,使得多蓝牙设备在被切换时,仍然与所述主机保持rfcomm连接,在再次接收到该蓝牙设备通过rfco_连接通道发送的通信连接请求时,恢复与所述第一蓝牙设备之间的SCO连接。这样,省去了所述蓝牙设备与所述主机之间的重新连接操作,从而在不改变操作系统如android的原有框架及底层蓝牙驱动的基础上实现多台蓝牙设备与主机之间进行语音通信的需求。
[0060]在一实施例中,如图2所示,在上述图1的实施例的基础上,本实施例中,所述步骤S105包括:
[0061]步骤S1051,判断所述指令是否为切换指令;
[0062]步骤S1052,若所述指令为切换指令,则中断与所述第二蓝牙设备之间的连接,并恢复与所述第一蓝牙设备之间的sco连接。
[0063]本实施例中,主机在接收到rfcomm指令时,会对所述rfcomm指令进行判断,若所述rfcomm指令为切换命令,则会将发出该rfcomm指令的第一蓝牙设备标记为当前设备,并关闭之前设备即第二蓝牙设备与主机之间的sco连接,但同时保留rfco_连接;在主机完成与所述第二蓝牙设备之间的连接中断后,恢复与所述第一蓝牙设备之间的sco连接。
[0064]在一实施例中,如图2所示,在上述图1的实施例的基础上,本实施例中,所述步骤S1051之后还包括:
[0065]步骤S1053,若所述指令不是切换指令,则保持与所述第二蓝牙设备之间的连接。
[0066]在一实施例中,如图3所示,在上述图1的实施例的基础上,本实施例中,所述步骤S104包括:
[0067]步骤S1041,判断是否为首次接收所述第二蓝牙设备发送的连接请求;
[0068]步骤S1042,若是,则建立与所述第二蓝牙设备之间的sco连接;
[0069]步骤S1043,在完成与所述第二蓝牙设备之间的sco连接后,建立与所述第二蓝牙设备之间的rfcomm连接。
[0070]本实施例中,主机在完成与所述第一蓝牙设备的连接中断后,会根据所述第二蓝牙设备发送的连接请求,判断所述第二蓝牙设备是否与所述主机首次连接,若是首次连接,则将所述第二蓝牙设备标记为当前设备,并建立与所述第二蓝牙设备之间的sco连接,在完成与所述第二蓝牙设备之间的sco连接后,建立与所述第二蓝牙设备之间的rfcomm连接。
[0071]在一实施例中,如图3所示,在上述图1或图3的实施例的
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1