2010-10-15 189 views
52

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

回答

5

你有没有进去看了BluetoothAdapter的Android类?您将一台设备设置为服务器,另一台设置为客户端。这可能是(尽管我自己没有考虑过)将多个客户端连接到服务器。

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

+0

所以你的意思http://developer.android.com/guide/topics/connectivity/ bluetooth.html#ConnectingAsAServer必须 – Prateek 2014-06-17 11:11:10

21

我正在寻找一种方式来连接4台设备与蓝牙,我发现以下。

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

我不知道这是你想要的。

但为了连接使用,你必须创建要连接的每个设备不同的UUID蓝牙大于2级的设备。

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

+0

HA,就像我怀疑的......谢谢。 – TacB0sS 2012-04-13 23:01:19

+0

链接不起作用 – tura08 2017-12-08 04:28:19

1

不完全正确 - 看一看规格总结

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

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

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

L2CAP用于在所述主机ACL链路进行通信。它的连接在ACL链接建立后建立。

1

请看一看the Android documentation

使用蓝牙的API,Android应用程序可以执行以下操作:对于其他蓝牙设备

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

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

sample multi client with the google chat example

你必须改变/是什么:

  • 单独的服务器和客户端在不同类别的登录

  • 客户端,你需要一个对象来管理一个连接线和连接线

  • 您需要一个对象来管理每个客户端一个监听线程的服务器,每个客户端

  • 服务器一个连接线打开每个UUID(每个客户一个)

  • 每个客户端试图连接到每一个UUID监听线程(已经采取将连接失败的uuid =>先到先得)

有任何问题吗?

3

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

您的需求“蓝牙聊天”基于SPP配置文件,而SPP基于RFCOMM协议。幸运的是,即使蓝牙2.1可以支持多个RFCOMM频道,所以是的,你可以有多个蓝牙连接来相互聊天。

8

你可以试试我的lib多个蓝牙连接:

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

+0

嘿@Rami,你可以检查这个问题https://stackoverflow.com/questions/46927973/connect-multiple-devices-via-bluetooth-on-android-multiplebleble-connections,这是一个有点问题的git项目你发布了什么 – 2017-10-25 12:34:24

+0

git没有问题。只有不好的使用:) – Rami 2017-10-28 19:47:52

+0

感谢您的回复@Rami,请您帮助我们正确使用它,TIA – 2017-10-31 03:43:01

2

是的,你的设备可以同时在同一时间连接到其他7台蓝牙设备,在理论上。这种连接称为微微网。更复杂的连接模式是散点图。

它之所以被限制在其它7台设备是因为在L2CAP协议LT_ADDR被赋值的位字段仅3.