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

时间:2010-09-02 08:16:27

标签: iphone cocoa-touch xcode bluetooth

我想在下面使用蓝牙做一些事情。

  1. 测量并显示我的iPhone与另一部iPhone的距离。
  2. 显示我的iPhone的方向。
  3. 例如,

    我想在我的iPhone应用程序中显示以下内容。

    我的iPhone连接到另一部iPhone:Harry的iPhone。

    在这种情况下,

    • 距离:3m 45.3cm(精度:毫米)
    • 方向:东北(8个可用方向之一)

    有谁知道怎么做? 如果我得到答案,那将非常感激。

    期待好消息。

    感谢。

8 个答案:

答案 0 :(得分:34)

使用蓝牙进行本地化是一个众所周知的研究领域(ref.)。简短的回答是:你做不到。信号强度不是两个连接的蓝牙设备之间距离的良好指示,因为它太受环境条件的影响(设备之间是否有人?主人如何握住他/她的设备?是否有墙?是有射频反射表面吗?)。使用蓝牙,你最多可以获得几米的距离分辨率,但你无法计算方向,甚至不能大致。

您可以通过使用多个蓝牙设备并对各种信号强度进行三角测量来获得更好的效果,但即使在这种情况下,您的估算值也很难准确到几米。

答案 1 :(得分:8)

您可以使用声音和速度声音知识来计算iphone之间的距离。

答案 2 :(得分:7)

在iOS7中,Apple推出了iBeacons。这将为您提供1部电话与另一部电话之间的距离。设置简单,查看WWDC样本AirLocate。

答案 3 :(得分:4)

你无法用蓝牙做到这一点。您可以通过分析BT接收质量来确保两个BT设备之间的距离 - 但这在每个新环境(例如,仅仅是新房间或露天)中都会有很大差异。 方向:这是完全相同的问题,特别是在建筑物内部。很多BT信号回声将几乎不可能接收有用的方向数据。 有多种方法可以通过无线连接确定距离和方向(无论是BT,WLAN还是ZigBee等) - 不是标准的客户设备,而是真实的实验室设备。

答案 4 :(得分:2)

发现这有见地且有帮助:

http://www.youtube.com/watch?v=dMWEl6GBGqk

答案 5 :(得分:0)

对于方向,您必须将手机远离您并旋转一圈,以便手机测量信号强度的增加/减少。不确定iPhone信号的接收效果如何。

您可以通过查看信号接收强度来估算距离。您将不得不在不同的环境中执行许多测试,以便在您的应用程序中使用一些不错的指标。

答案 6 :(得分:0)

您不能仅针对一台蓝牙设备执行此操作,但是您可能对第二台蓝牙设备执行此操作。假设两个远程设备位于静态位置(扬声器),并且移动了移动(用于双关语的蓝牙设备)。您应该能够根据两台设备的距离变化速度得出角度。唯一的问题是解决方案具有2个值,但是如果您知道飞机在哪一侧,则可能可行。

答案 7 :(得分:-1)

正如Giuseppe Cardone提到的那样,使用信号强度不会起作用。但是,我建议请求其他设备的位置信息(假设您在其他设备上安装了一个回复位置请求的应用程序)。从其他设备获取位置信息后,您可以将其与设备的位置进行比较,并计算距离和方向。

相关问题