多个蓝牙连接

时间:2010-10-15 14:28:21

标签: android bluetooth

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

8 个答案:

答案 0 :(得分:22)

我正在寻找一种用蓝牙连接4台设备的方法,我找到了以下内容。

http://groups.google.com/group/android-developers/browse_thread/thread/69d7810f6ef9bb7d

我不确定这是你想要的。

但是,为了使用蓝牙连接2个以上的设备,您必须为要连接的每个设备创建不同的UUID。

点击链接查看代码示例和更好的解释。

答案 1 :(得分:8)

您可以尝试我的库进行多重蓝牙连接:

http://arissa34.github.io/Android-Multi-Bluetooth-Library/

答案 2 :(得分:5)

您是否查看了BluetoothAdapter Android课程?您将一台设备设置为服务器,将另一台设备设置为客户端。有可能(虽然我自己没有调查过)将多个客户端连接到服务器。

我已成功将BlueTooth音频设备连接到手机,同时它还与另一部手机有BluetoothAdapter连接,但我没有尝试使用三部手机。至少这告诉我蓝牙无线电可以容忍多个同时连接:)

答案 3 :(得分:3)

两个UE Boom蓝牙扬声器可以形成立体声,这意味着手机可以同时传输到两个蓝牙设备。原因是蓝牙4.0 可以在同一个微微网上支持最多两个面向同步连接的(SCO)链路,A2DP基于SCO链路。

您的需求"蓝牙聊天"基于SPP配置文件,SPP基于RFCOMM协议。幸运的是,即使蓝牙2.1也可以支持多个RFCOMM频道,所以是的,您可以通过多个蓝牙连接互相聊天。

答案 4 :(得分:3)

是的,理论上,您的设备可以同时连接到其他7个蓝牙设备。这种连接称为微微网。散射网是一种更复杂的连接模式。

仅限于7个其他设备的原因是因为L2CAP协议中LT_ADDR的分配位字段仅为3.

答案 5 :(得分:1)

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

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

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

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

L2CAP用于通过主机ACL链接进行通信。建立ACL链接后建立连接。

答案 6 :(得分:1)

请查看the Android documentation

使用蓝牙API,Android应用程序可以执行以下操作:

  • 扫描其他蓝牙设备
  • 查询本地蓝牙适配器以配对蓝牙设备
  • 建立RFCOMM频道
  • 通过服务发现连接到其他设备
  • 与其他设备之间传输数据
  • 管理多个连接

答案 7 :(得分:1)

你可以看看这里(这不是一个解决方案,但想法就在这里)

sample multi client with the google chat example

你需要改变/做什么:

  • 将不同类别的服务器和客户端逻辑分开

  • 对于客户端,您需要一个对象来管理一个连接线程和连接的线程

  • 对于服务器,您需要一个对象来管理每个客户端的一个侦听线程,以及每个客户端一个连接的线程

  • 服务器在每个UUID上打开一个监听线程(每个客户端一个)

  • 每个客户尝试连接到每个uuid(已经采用的uuid将无法通过连接=>先到先得)

有问题吗?