使用蓝牙计算两部或多部 iPhone 之间的距离

Posted

技术标签:

【中文标题】使用蓝牙计算两部或多部 iPhone 之间的距离【英文标题】:Calculating the distance between two or more iPhones using Bluetooth 【发布时间】:2014-10-25 09:20:18 【问题描述】:

假设我有 2 部或更多部 iPhone,每部都是 4s 或更高版本,并且启用了蓝牙 4.0。

是否有可能将每部手机变成一个 iBeacon,让每部其他手机都可以接收来自该手机的更新,并计算从自己到该手机的距离来传输它的位置。

原因是,我希望能够非常准确地定位,也许在 5m 以内。因此,如果两部(或更多)手机在 GPS 最小精度范围内(约 17m?),它们会切换到 iBeacon 模式。

想法?

【问题讨论】:

【参考方案1】:

理论上这是可能的,但存在三个实际挑战:

    您必须以某种方式定期唤醒应用程序以检查它是否在其他设备的 GPS 范围内。您可以使用主要位置更改回调,但这通常仅在 2000 米或更多的位置更改时提供。因此,您可能需要完整的位置背景模式才能获得定期更新。除非您正在制作专用的导航应用,否则请求位置后台模式可能会使您更难进入 AppStore。

    一旦确定用户处于其他用户所在的粗略位置,就必须让用户将应用程序置于前台。这是因为信标传输只能在前台进行。

    由于无线电信号波动和噪声,您必须接受信标测距不是超级准确。在 2 米距离处,您可能会得到 +/- 1 米的估计值。在更远的距离,比如 20 米,方差要高得多,比如 +/- 10 米。

您必须确定您的用例是否可以满足上述限制。

【讨论】:

以上是关于使用蓝牙计算两部或多部 iPhone 之间的距离的主要内容,如果未能解决你的问题,请参考以下文章

不使用 GPS 的两部 iPhone 之间的距离

使用手势在两部 iphone 之间传输图像

在 iPhone 中使用加速度计查找距离

如何使用蓝牙信号强度计算两个安卓设备之间的距离?

蓝牙耳机怎么两个同时响?

如何测量像 iBeacon 一样的 iPhone 和 Android 设备之间的距离