2010-12-08 88 views
5

是的,我现在正在想这个。 在我的使用情况下,这些设备将相距50厘米到10米,我希望它至少精确到10厘米。 (因此GPS是不是一种选择)测量两个iOS设备之间的距离

2种方式映入脑海:

声音:我问了一下这个在开发论坛,我与laanlabs接触,他们sonar ruler的代码。

一个设备上的图片+另一个设备上的摄像头:似乎更容易设置,因为我的用户案例涉及到用户面对90度的一个设备。但是,面对这个方向,用户面对更多的工作,它不会对距离发生变化做出反应。

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

+2

是的,但是如果可能的话,我宁愿用声音来做,因为用户不必在正确的方向上面对卡​​罗。远程设备将永远是一台iPad,因为iPhone的显示器只是为了达到我的目的。输入设备可以是iPhone或iPad,无论如何它都是通用的。 – Bersaelor 2010-12-08 20:06:04

+0

除非您确切知道播放声音的时间,否则无法在两台iOS设备之间使用声音。 – 2011-02-23 17:32:42

+0

你想达到太高的准确度。这不是测量点之间的距离。设备是具有自己尺寸的真实世界对象。它的长度约为10厘米(适用于iPhone/iPod)。什么点的设备应该是测量的起点? @Kim Burgess提出了一个好方法,但这一切都取决于麦克风的位置。现在它是35厘米,但如果你旋转设备 - 45厘米。一切都取决于起点 – 5hrp 2011-05-11 09:01:41

回答

3

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

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

3

如果您使用的声音的方法的一种方法是将有设备A发出声音,设备B将随后被在任何时候,在检测到侦听此回显次声音。这会给你一个往返时间,从中你可以计算距离 - 不要忘记补偿检测重新发射之间的延迟。

0

我不知道,但这是我从在此之前的其中一个答案发现SO质疑How to measure distance between two iphone devices using bluetooth?

使用蓝牙对于本地化是一个非常著名的研究领域。简短的回答是:你不能。信号强度不是两个连接的蓝牙设备之间距离的良好指标,因为它受环境条件影响太大(设备之间是否有人?设备持有人如何拿着设备?是否有墙壁?是有没有射频反射面?)。使用蓝牙,您最多可以获得几米的距离分辨率,但您无法计算方向,甚至不能粗略计算。

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