5

是的,我目前正在考虑这个问题。在我的用例中,这些设备将相距 50 厘米到 10 米,我希望它至少精确到 10 厘米。(因此 GPS 不是一个选项)

2种方式浮现在脑海:

声音:我在开发论坛上问过这个问题,我正在与 laanlabs 联系,关于他们声纳尺的代码。

一台设备上的图片+另一台设备上的相机:似乎更容易设置,因为我的用户案例涉及用户以 90 度角面对一台设备。但是对于用户来说,将摄像头朝向该方向会需要更多的工作,并且它不会对距离的变化做出反应。

现在的问题是:有没有人知道任何代码已经做了这样的事情?可能是非 iPhone 通用 c-Project?

4

3 回答 3

3

如果您要使用声音方法,一种方法是让设备 A发出声音,然后设备 B将一直监听此声音,并在检测到回声时返回辅助声音。这将为您提供一个往返时间,您可以从中计算距离 - 不要忘记补偿检测重新发射之间的延迟。

于 2011-05-11T08:37:36.550 回答
3

使用相机的方法:我们已经知道每个设备的尺寸。您拍摄设备照片,计算其高度/宽度以确定设备类型(iPhone/iPod 或 iPad),然后计算距离。

例如 - 如果设备是你知道的 iPhone,它的尺寸是 115x58 毫米。在图片上它是 NxM 像素。现在您可以计算距离。(如果 N & M 较小,则距离较大)

于 2011-05-11T09:11:03.497 回答
0

我不确定,但这是我从之前的 SO question How to measure distance between two iphone devices using bluetooth? 中的一个答案中找到的?

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

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

于 2011-05-11T08:43:07.200 回答