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

iOS和Android上最大并发蓝牙LE设备数?,android,ios,bluetooth-lowenergy,core-bluetooth,android-bluetooth,Android,Ios,Bluetooth Lowenergy,Core Bluetooth,Android Bluetooth,我正在寻找您可以在iOS和Android上连接的最大并发BLE设备数的最终值。我自己做过研究和测试,但并不一致。蓝牙LE规范没有限制同时连接的数量,但由于内存限制,平台增加了上限 在安卓7上,我可以同时连接22个可编程外围设备。在一台Android 9上,我一次只能连接12个可编程外围设备。在安卓10上,我有时可以同时连接12个BLE外围设备,而同样的设置在其他时间也可以同时连接14个BLE外围设备。所有这些测试都是在三星Galaxy Tab 10硬件上进行的 iOS也是如此。我已经能够在iOS

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

在安卓7上,我可以同时连接22个可编程外围设备。在一台Android 9上,我一次只能连接12个可编程外围设备。在安卓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。这项测试是在iPadMini2S、iPadMini5S和iPhone7+s上进行的,所有硬件的测试结果都相同。该网站上的其他人声称,他们在iPhone6s上看到了多达20台iOS10并发设备——我无法证实这一点

我从其他人的测试中看到了很多类似的数字,有些人甚至引用了Android和苹果的文档来说明这些值。在最近几次发布的Android或iOS的文档中,我没有找到任何能够显示这些最大值的内容


有谁能帮我指出那些真实的、记录在案的价值观吗?谢谢

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

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

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

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

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

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