多个蓝牙连接
我想通过蓝牙连接3个设备(我的Droid必须连接到2个蓝牙设备)。 我已经连接我的Droid到1设备使用蓝牙聊天我应该如何修改它的多个蓝牙设备? 请问你能帮帮我吗?
我正在寻找一种方式来连接4个设备与蓝牙,我发现以下内容。
http://groups.google.com/group/android-developers/browse_thread/thread/69d7810f6ef9bb7d
我不确定这是你想要的。
但为了使用蓝牙连接2台以上的设备,您必须为每个要连接的设备创build一个不同的UUID。
按照链接查看代码示例和更好的解释。
你可以尝试我的lib多个蓝牙连接:
你看过BluetoothAdapter
Android类吗? 您将一台设备设置为服务器,另一台设置为客户端。 这可能是(尽pipe我自己没有考虑过)将多个客户端连接到服务器。
我已经成功地将BlueToothaudio设备连接到手机,同时它也具有与另一个手机的BluetoothAdapter
连接,但是我还没有尝试过使用三部手机。 至less这告诉我,蓝牙无线电可以容忍多个同时连接:)
两个UE Boom蓝牙扬声器可以形成立体声,这意味着手机可以同时传输到两个蓝牙设备。 原因是蓝牙4.0最多可支持同一微微网上的两个面向同步连接(SCO)的链路,而A2DP则基于SCO链路。
您的需求“蓝牙聊天”基于SPPconfiguration文件,SPP基于RFCOMM协议。 幸运的是,即使蓝牙2.1可以支持多个RFCOMM频道,所以是的,你可以有多个蓝牙连接互相聊天。
是的,理论上,您的设备可以同时连接到另外7个蓝牙设备。 这种连接被称为微微网。 更复杂的连接模式是散点图。
它被限制为7个其他设备的原因是因为L2CAP协议中的LT_ADDR的分配位域仅为3。
不完全正确 – 看看规格摘要
逻辑链路控制和适配协议(L2CAP)
L2CAP在蓝牙协议栈内使用。 它将数据包传送到主机控制器接口(HCI)或无主机系统上,直接传送到链路pipe理器/ ACL链路。 L2CAP的function包括:
- 在不同的高层协议之间复用数据。
- 数据包的分割和重组。
- 提供组播数据对其他一组蓝牙设备的单向传输pipe理。
- 高层协议的服务质量(QoS)pipe理。
L2CAP用于通过主机ACL链接进行通信。 连接build立后,build立连接。
请看一下Android文档 。
使用蓝牙API,Android应用程序可以执行以下操作:
- 扫描其他蓝牙设备
- 查询本地蓝牙适配器是否配对蓝牙设备
- build立RFCOMM渠道
- 通过服务发现连接到其他设备
- 从其他设备传输数据
- pipe理多个连接
你可以看看这里(这不是一个解决scheme,但这里的想法)
示例多客户端与谷歌聊天的例子
你必须改变/做什么:
-
单独的服务器和客户端在不同的类中
-
对于客户端,您需要一个对象来pipe理一个连接线程和连接的线程
-
对于服务器,您需要一个对象来pipe理每个客户端的一个监听线程,以及每个客户端一个连接的线程
-
服务器在每个UUID上打开一个监听线程(每个客户端一个)
-
每个客户端尝试连接到每个uuid(uuid已经采取将会失败的连接=>先到先服务)
任何问题 ?