gpt4 book ai didi

iphone - 扫描 iPhone 范围内的蓝牙设备需要多长时间?

转载 作者:行者123 更新时间:2023-12-03 18:34:06 26 4
gpt4 key购买 nike

我知道 iPhone 蓝牙功能在 3.0 之前无法通过 SDK 访问,但是需要多长时间才能找到该区域的设备?它取决于该区域的设备数量吗?如果范围内有大约 5 个设备,扫描发现所有设备是否需要花费 <5 秒或 >30 秒的时间?

我知道有很多未知因素,但我试图确定如果时间很短,我是否可以在启动时进行蓝牙扫描,或者我是否必须告诉用户即将进行扫描并且可能会有很长的延迟。由于其他蓝牙设备不可用,我无法在现实世界中对此进行测试,但我正在尝试了解它的设计方式。

最佳答案

不确定 API 可以让您做什么,但底层的蓝牙主机 Controller 接口(interface) (HCI) 命令是“查询命令”

这将允许您在固定时间和/或固定数量的响应内查询设备。

我是蓝牙新手,不是专家,但是......

要从处于低功耗模式的蓝牙设备获得至少 1 个响应需要 1.28 秒,因此查询时间是该周期的倍数,最大为 61.44 秒(48 个周期),因此时间范围为1(1.28 秒)至 48(61.44 秒)。

不过,可能有多个设备可以在 1.28 秒的时间内做出响应。

您还可以指定您将接受的回复数量 (1..255) 或 0 表示无限制,例如直到时间耗尽。

如果您找到了您正在寻找的特定设备,您也可以取消查询。

在我的办公 table 上使用带有蓝牙 2.1 +EDR 固件的 CSR 蓝牙芯片进行不科学的测试,在芯片上运行查询,并通过芯片 UART 进行调试输出。每个查询运行 10 次并取结果的平均值:

  • 1周期查询时间(1.28秒)平均产生 10 个独特的蓝牙地址。
  • 5期查询时间(6.4 秒)得出平均值23 个唯一的蓝牙地址。
  • 10周期查询时间(12.8秒)平均产生 29 个独特的蓝牙地址。

我说“唯一”,实际上结果一遍又一遍地重复许多相同的地址,但这可能取决于实现,并且 Apple API 可能只返回唯一的地址。

但是,这并不代表“现实世界”,因为这里(我的办公室)的大多数蓝牙设备都不处于低功耗模式。我想,我可以按设备类别过滤掉 PC、笔记本电脑和测试套件。这将使手机、耳机等可被发现......

查询还可以结合RSSI来获取信号最强的设备,但不一定是最接近的。

对于您的场景,您可能希望根据时间和设备数量进行查询,例如 4 * 1.28 秒或 10 台设备。

总结一下:最短的查询时间是 1.28 秒,可能会得到 10+/-?该区域中的设备(如果它们处于唤醒状态且位于附近)。

如果您的蓝牙环境已饱和或(微波炉位于同一房间内),则可能需要更长的时间才能找到范围内的所有设备。

关于iphone - 扫描 iPhone 范围内的蓝牙设备需要多长时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/837644/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com