iphone - 如何使用蓝牙测量两个iPhone设备之间的近距离?

标签 iphone bluetooth gps ibeacon

你能算出另一部 iPhone 是否位于水平方向大约 5 米之外吗?

这个问题在这里几乎被问到了同样的问题,但十年对于科技来说是一段很长的时间。我对方向没有兴趣。 How to measure distance between two iphone devices using bluetooth?

当前解决方案尝试

GPS - 对于 <10m 来说太不准确

蓝牙 - iBeacon 是 iPhone 的潜在解决方案。同样,可能会因为BT信号干扰而太不准确。至少正如 5 年前所声称的那样。 (How to measure the distance between an iPhone acting like an iBeacon and an Android device)

我们在这方面取得了任何进展吗?

最佳答案

过去 5 年没有发生重大变化。 I wrote a blog post with a deep dive into the current state as of 2020. 2020 年的手机拥有比 2015 年更新的蓝牙芯片组,并且可能支持蓝牙 5,但没有显着的新功能可以提高可靠性距离估计。事实上,iOS 和 Android 手机上没有新的接近传感器(NFC 除外,它只能测量几厘米外的接近度),因此它不适合此用例。更重要的是,5 年的时间让事情变得更糟,因为增加了碎片,尤其是在 iOS 方面。早在 2015 年,市面上流通的苹果手机只有少数几个版本。现在已经有十多个了。

回顾一下目前几乎没有改变的情况:您可以使用一部手机通过 BLE 进行传输,使用另一部手机来测量信号强度并估计距离。对于已知的发射器和近似视线条件(例如,手机不在口袋或钱包中),测量两部手机是否相距 5 米是可能的,置信区间可能为 60%。造成这种情况的原因在于三个重要的变量:

  1. 手机,尤其是 Android 手机非常分散。不同型号的发射器功率和接收器灵敏度是很难预测的,并且差异很大。 Apple 模型之间的差异要小得多,但您仍然会看到明显影响结果的差异。
  2. 人们经常将手机放在盒子、钱包或口袋中。这让事情变得更加糟糕。
  3. 正如您所说,当不存在清晰的视线条件时,结果并不可靠。

蓝牙 5.1 确实提供了到达角度和其他可能会改善这一点的功能,但截至 2020 年 10 月,Android 11 和 iOS 14 都不支持任何这些功能,使得这些功能几乎无法在任何手机上使用。

关于iphone - 如何使用蓝牙测量两个iPhone设备之间的近距离?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60883600/

相关文章:

java - 连接蓝牙设备

android - 通过蓝牙发送对象或两个字符串?

Android 蓝牙微微网广播数据

javascript - 如何在leaflet实时js api中使用推送模型

c# - 如何要求市场下载应用程序的位置?

iphone - 指定单元格 imageView 的宽度

iphone - 三元运算在iPhone中是否比 "if/else"更好

Android GPS定位问题

iphone - IOS 中的 CFRunLoopRunInMode 卡住

ios - UICOllectionview,滚动到标题中包含 NSString 的第一个单元格