【问题标题】:Maximum Concurrent Bluetooth LE Devices on iOS and Android?iOS 和 Android 上的最大并发蓝牙 LE 设备?
【发布时间】:2021-01-29 06:16:04
【问题描述】:

我正在寻找您可以在 iOS 和 Android 上连接的最大并发 BLE 设备数量的确定值。我做了自己的研究和测试,但并不一致。蓝牙 LE 规范不限制同时连接的数量,但由于内存限制,平台增加了上限。

在 Android 7 上,我能够同时连接到 22 个 BLE 外围设备。一台 Android 9,我一次只能连接 12 个 BLE 外围设备。在 Android 10 上,我有时能够同时连接到 12 个 BLE 外围设备,而相同的设置可以在其他时间同时连接到 14 个 BLE 外围设备。所有这些测试都是在三星 Galaxy Tab 10 硬件上进行的。

iOS 是一个类似的故事。我已经能够在 iOS 9 上同时连接到 8 个 BLE 外设,在 iOS 10、11 和 12 上同时连接到 12 个 BLE 外设,在 iOS 13 上同时连接到 15 个 BLE 外设。我还没有测试过 iOS 14。此测试是在 iPad Mini 2s、iPad Mini 5s 和 iPhone 7+s 上完成的,在所有硬件上的结果都相同。该网站上的其他人声称在装有 iOS 10 的 iPhone 6S 上看到了多达 20 台并发设备 - 我无法证实这一点。

我从其他人的测试中看到了许多类似的数字,有些人甚至参考了 Android 和 Apple 的文档,将这些值称为。我无法在最近几个 Android 或 iOS 版本的文档中找到任何涉及这些最大值的内容。

谁能帮我指出真实的、记录在案的价值观?谢谢!

【问题讨论】:

    标签: android ios bluetooth-lowenergy core-bluetooth android-bluetooth


    【解决方案1】:

    可悲的事实是,对于大多数设备而言,在任何地方都找不到记录在案的值。制造商没有在任何地方说明蓝牙限制。然而,当产品通过蓝牙认证和声明时,它需要指定支持的每一个支持的蓝牙功能,而不是它可以处理多少连接。

    BLE 规范没有说明任何限制,因此由蓝牙实现来决定。

    首先,蓝牙芯片(控制器)通常有自己的限制。 HCI 不公开任何查询最大连接数的功能,因此主机堆栈不知道控制器的限制是什么。首先,当达到最大值,主机尝试连接另一个设备时,控制器将返回一个 HCI 错误代码,表示已达到最大连接数。

    所有蓝牙芯片都有独特的局限性。正如您所注意到的,它们的范围通常在 3 到 20 之间。此限制比设备运行的特定操作系统和版本更重要。

    现在,如果我们查看 Android 蓝牙主机堆栈,我上次检查源代码时,它的硬编码限制为 7 个连接。因此,在运行“香草”Android 的 Pixel 和 Nexus 手机中,限制将是 7,即使蓝牙芯片本身可以处理更多(我重新编译了 AOSP 并增加了限制并在 Nexus 6P 上验证了这一点)。我看到其他制造商,例如三星,提高了这个限制以匹配蓝牙芯片实际支持的内容。

    无论如何,查看特定的操作系统版本不会提供任何有用的信息;您必须单独测试每个设备。

    【讨论】:

      猜你喜欢
      • 2022-01-04
      • 2015-07-21
      • 1970-01-01
      • 2021-12-26
      • 2013-10-25
      • 2019-04-02
      • 2019-05-15
      • 1970-01-01
      • 2014-11-30
      相关资源
      最近更新 更多