【问题标题】:Connection to more than one Bluetooth LE device in Xcode在 Xcode 中连接多个蓝牙 LE 设备
【发布时间】:2013-04-11 00:50:15
【问题描述】:

最近我开发了一个可以在 BLE 设备上正常工作的 APP,我在我的 APP 中添加了大部分选项和功能。它可以扫描设备,显示列表,然后用户可以选择要连接的设备。我的问题是我的代码只能连接到一个 BLE;如果用户想连接到其他设备,它必须断开连接的设备。有什么选项或方法可以用来解决这个问题吗?

【问题讨论】:

    标签: ios6 core-bluetooth bluetooth-lowenergy


    【解决方案1】:

    如果您需要一些实际帮助,您应该发布代码,但我可以告诉您,您的问题只是一个设计问题。很明显,您没有以可扩展的方式实现您的 CBCentralManager 方法,无论是对于底层连接还是用户界面。我可以从我的应用程序中的直接经验告诉你,当前 Apple 的限制是在任何给定时间 10 个低功耗蓝牙连接(尽管人们可能会尝试声称不同)。然而,当系统能够处理 10 个时,BTServer 进程(Apple 的蓝牙进程)开始出现如此多的连接并经常崩溃。

    您需要重新考虑设计CBPeripheralCBCentralManager 类实现的方式。确保它们没有连接到特定的外围设备,只是您可能遇到的外围设备实例。进行一些设计更改,您应该能够解决您的问题。

    【讨论】:

      【解决方案2】:

      我不知道您的具体情况,但我知道可以连接到多个 BLE 设备,因为我目前在 Linux 中使用 Bluez 堆栈进行连接。但是,BLE 硬件在可以连接的设备数量方面有所不同,因此可能存在一些仅允许一个连接的硬件。我有一个允许最多 3 个连接的加密狗,另一个最多允许 7 个连接。当您尝试建立其他连接时,它会自动断开其他连接之一以建立新连接。

      【讨论】:

        猜你喜欢
        • 2014-10-04
        • 2016-12-02
        • 2018-11-16
        • 1970-01-01
        • 1970-01-01
        • 2014-12-17
        • 2023-03-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多