【问题标题】:Multiple bluetooth connection多个蓝牙连接
【发布时间】:2011-04-25 23:37:16
【问题描述】:

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

【问题讨论】:

    标签: android bluetooth


    【解决方案1】:

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

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

    我不确定这是否是您想要的。

    但要使用蓝牙连接超过 2 台设备,您必须为要连接的每台设备创建不同的 UUID。

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

    【讨论】:

    • 此答案中的链接现已失效。
    【解决方案2】:

    您可以尝试我的 lib 进行多个蓝牙连接:

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

    【讨论】:

    • 嘿@Rami,你能检查一下这个问题stackoverflow.com/questions/46927973/…,这是你发布的git项目的一个问题
    • git没有问题。只有不好的使用它:)
    • 感谢@Rami 的回复,TIA 能否请您帮助我们正确使用它
    【解决方案3】:

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

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

    【讨论】:

    【解决方案4】:

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

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

    【讨论】:

      【解决方案5】:

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

      限制为7个其他设备的原因是因为L2CAP协议中为LT_ADDR分配的位域只有3个。

      【讨论】:

        【解决方案6】:

        请看the Android documentation

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

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

        【讨论】:

          【解决方案7】:

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

          sample multi client with the google chat example

          你必须改变/做什么:

          • 在不同的类中分离服务器和客户端逻辑

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

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

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

          • 每个客户端都尝试连接到每个 uuid(已经使用的 uuid 将导致连接失败 => 先到先得)

          有什么问题吗?

          【讨论】:

            【解决方案8】:

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

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

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

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

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

            【讨论】:

            • 究竟什么是“不完全正确”?如果您正在评论另一个答案,则需要指定哪个答案,或使用“添加评论”链接。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-10-15
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多