iOS和Android上的最大并发蓝牙LE设备数?

0qx6xfy6  于 2023-05-08  发布在  iOS
关注(0)|答案(1)|浏览(358)

我正在寻找在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上进行的,所有硬件上的结果都相同。这个网站上的其他人声称已经在iOS10的iPhone 6S上看到了多达20个并发设备-我无法证实这一点。
我从其他人的测试中看到了很多类似的数字,有些人甚至引用了Android和Apple的文档来调用这些值。我无法在Android或iOS的最后几个版本的文档中找到任何调用这些最大值的内容。
谁能帮我指出真实的、有记录的价值观?谢谢!

lnlaulya

lnlaulya1#

可悲的事实是,对于大多数设备来说,任何地方都没有记录的值。制造商没有说明蓝牙的限制。然而,当产品通过蓝牙认证和声明时,它需要指定所支持的每一个支持的蓝牙功能,而不是它可以处理多少连接。
BLE规范没有说明任何限制,因此由蓝牙实现来决定。
首先,蓝牙芯片(控制器)通常有其自身的限制。HCI不公开任何查询最大连接数的功能,因此主机堆栈不知道控制器的限制是什么。首先,当达到最大值并且主机尝试连接另一个设备时,控制器将返回已达到最大连接的HCI错误代码。
所有Bluetooh芯片都有其独特的局限性。它们通常在3到20之间,正如你所注意到的。此限制比设备运行的特定操作系统和版本更重要。
现在,如果我们看看Android蓝牙主机堆栈,它有一个硬编码的限制7连接,我最后一次检查源代码。因此,在运行“香草”Android的Pixel和Nexus手机中,限制将是7,即使蓝牙芯片本身可以处理更多(我已经重新编译了AOSP,增加了限制,并在Nexus 6P上验证了这一点)。我已经看到其他制造商,如三星,增加了这一限制,以配合蓝牙芯片实际支持的。
不管怎么说,看具体的OS版本不会给予任何有用的信息;您必须单独测试每个设备。

相关问题