首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iOS和安卓上的最大并发蓝牙LE设备?

在iOS和安卓上的最大并发蓝牙LE设备?
EN

Stack Overflow用户
提问于 2020-10-15 03:15:22
回答 1查看 658关注 0票数 1

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

在Android7上,我可以同时连接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的文档中,我找不到任何调用这些最大值的内容。

有没有人能帮我指出真正的、有记录的价值?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-10-15 06:34:06

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

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

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

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

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

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64360109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档