【问题标题】:Calculating the distance between two or more iPhones using Bluetooth使用蓝牙计算两部或多部 iPhone 之间的距离
【发布时间】:2014-10-25 09:20:18
【问题描述】:
假设我有 2 部或更多部 iPhone,每部都是 4s 或更高版本,并且启用了蓝牙 4.0。
是否有可能将每部手机变成一个 iBeacon,让每部其他手机都可以接收来自该手机的更新,并计算从自己到该手机的距离来传输它的位置。
原因是,我希望能够非常准确地定位,也许在 5m 以内。因此,如果两部(或更多)手机在 GPS 最小精度范围内(约 17m?),它们会切换到 iBeacon 模式。
想法?
【问题讨论】:
标签:
ios
ios7
bluetooth-lowenergy
ibeacon
【解决方案1】:
理论上这是可能的,但存在三个实际挑战:
您必须以某种方式定期唤醒应用程序以检查它是否在其他设备的 GPS 范围内。您可以使用主要位置更改回调,但这通常仅在 2000 米或更多的位置更改时提供。因此,您可能需要完整的位置背景模式才能获得定期更新。除非您正在制作专用的导航应用,否则请求位置后台模式可能会使您更难进入 AppStore。
一旦确定用户处于其他用户所在的粗略位置,就必须让用户将应用程序置于前台。这是因为信标传输只能在前台进行。
由于无线电信号波动和噪声,您必须接受信标测距不是超级准确。在 2 米距离处,您可能会得到 +/- 1 米的估计值。在更远的距离,比如 20 米,方差要高得多,比如 +/- 10 米。
您必须确定您的用例是否可以满足上述限制。