gpt4 book ai didi

ios - 使用 Core Bluetooth 而不是 iBeacon——有什么缺点吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:46:01 25 4
gpt4 key购买 nike

我正在做一个项目,我首先想将一个设备宣传为 iBeacon,并同时通过 Core Bluetooth 连接到该设备成为可能。除了这不容易做到这一点(一个设备不能同时宣传为 iBeacon 和 CB 设备)之外,我注意到 iBeacon 部分似乎是不必要的——使用 Core Bluetooth 发现外围设备似乎与发现 iBeacons 基本相同。

我的第一个问题:我的假设是否正确?或者 iBeacon 是否提供了 CB 中的中央/外围设备不提供的任何东西?特别是在后台广告/搜索方面?


我现在能看到的唯一问题是 CLBeacon 为我提供了 rssiaccuracy(由此,近似 proximity 被计算)。使用 Core Bluetooth,centralManager:didDiscoverPeripheral:advertisementData:RSSI: 只给我一个 RSSI。有什么方法可以在这里检索精度以便计算接近度?这对我来说很重要,我想仅仅依靠 RSSI 来获得接近度会给我带来不太准确的结果吗?

我的第二个问题:我能否获得在 Core Bluetooth 中使用 iBeacon 获得的准确性或计算距离的类似度量?

最佳答案

您可以使用我在此处发布的算法,使用 RSSI 计算您自己的距离估计值:

https://stackoverflow.com/a/20434019/1461050

诀窍在于,您将需要在 20 秒左右的时间窗口内对尽可能多的 RSSI 测量进行平均,以减少估计的噪声。

与使用 CoreBluetooth 检测自定义信标相比,使用 CoreLocation API 检测标准 iBeacon 的主要优点是:

  1. 可用于 iBeacon 标准的各种廉价现成硬件。
  2. CoreLocation 可以在后台扫描 iBeacon(可能在 iPhone 5+ 上使用硬件辅助),以一种可以相对快速地自动启动您的应用程序的方式,即使用户没有手动启动它也是如此引导。从 iOS 7.1 开始,即使用户从任务切换器中终止应用程序,如果检测到 iBeacon,CoreLocation 也可以将其重新启动到后台。我不相信所有这一切都可以通过 CoreBluetooth 实现。
  3. iBeacon 传输让您无需配对即可轻松读取 iOS 中的 UUID/主要/次要标识符组合。这 20 字节的数据(主要字段和次要字段可以设置为任意值)比您从 16 字节的蓝牙服务 UUID 中获得的要多。
  4. 您不必使用自己的软件来估算距离。

关于ios - 使用 Core Bluetooth 而不是 iBeacon——有什么缺点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24267421/

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