android 多个蓝牙连接

3yhwsihp  于 2023-02-06  发布在  Android
关注(0)|答案(8)|浏览(235)

我想通过蓝牙连接3个设备(我的Droid必须连接2个蓝牙设备)。我已经使用蓝牙聊天将我的Droid连接到1个设备。
对于多个蓝牙设备,我应该如何修改它?

bhmjp9jg

bhmjp9jg1#

我正在寻找一种方法来连接4个设备与蓝牙,我发现以下。
http://groups.google.com/group/android-developers/browse_thread/thread/69d7810f6ef9bb7d
我不确定这是不是你想要的。
但是为了使用蓝牙连接2个以上的设备,你必须为你想连接的每个设备创建一个不同的UUID。
点击链接查看代码示例和更好的解释。

628mspwn

628mspwn3#

您是否研究过BluetoothAdapter Android类?您将一个设备设置为服务器,另一个设置为客户端。可能会将多个客户端连接到服务器(虽然我自己还没有研究过)。
我已经成功地将蓝牙音频设备连接到一部手机,同时它也有这个BluetoothAdapter连接到另一部手机,但我还没有尝试过三部手机。至少这告诉我,蓝牙无线电可以容忍多个同时连接:)

eqfvzcg8

eqfvzcg84#

请看一下the Android documentation
使用蓝牙API,Android应用可以执行以下操作:

  • 扫描其他蓝牙设备
  • 查询本地蓝牙适配器以查找配对的蓝牙设备
  • 建立RFCOMM通道
  • 通过服务发现连接到其他设备
  • 将数据传输到其他设备或从其他设备传输数据
  • 管理多个连接
toe95027

toe950275#

两个UE Boom蓝牙音箱可以组成一个立体声,这意味着手机可以同时向两个蓝牙设备进行流媒体传输,原因是蓝牙4.0可以在同一个微微网上支持多达两个同步面向连接(SCO)链路,而A2DP正是基于SCO链路。
您的蓝牙聊天需求是基于SPP规范的,而SPP是基于RFCOMM协议的,幸运的是,即使是蓝牙2.1也可以支持多个RFCOMM通道,所以是的,您可以有多个蓝牙连接来互相聊天。

izkcnapc

izkcnapc6#

是的,理论上,你的设备可以同时连接7个蓝牙设备。这种连接被称为微微网。一种更复杂的连接模式是散射网。
它被限制为7个其它设备的原因是因为L2CAP协议中LT_ADDR的分配位字段仅为3。

kiayqfof

kiayqfof7#

您可以在这里看一下(这不是解决方案,但想法就在这里)
sample multi client with the google chat example
你必须改变/做什么:

  • 将服务器和客户端逻辑划分为不同的类
  • 对于客户端,您需要一个对象来管理一个连接线程和一个已连接线程
  • 对于服务器,您需要一个对象来管理每个客户端的一个侦听线程和每个客户端的一个连接线程
  • 服务器在每个UUID上打开一个侦听线程(每个客户端一个)
  • 每个客户端尝试连接到每个uuid(已经取得的uuid将使连接失败=〉先到先服务)

有问题吗?

jjjwad0x

jjjwad0x8#

不完全正确--请查看规格摘要

逻辑链路控制和适配协议(L2 CAP)

L2 CAP用于蓝牙协议栈中。它将数据包传递到主机控制器接口(HCI)或在无主机系统上直接传递到链路管理器/ACL链路。L2 CAP的功能包括:

  • 在不同的高层协议之间复用数据。
  • 数据包的分段和重组。
    *为一组其他蓝牙设备提供多播数据的单向传输管理。
  • 用于较高层协议的服务质量(QoS)管理。

L2 CAP用于通过主机ACL链路进行通信,其连接在ACL链路建立后建立。

相关问题