寻找两个蓝牙设备之间的方向(本地化)

我有一个应用程序,扫描另一部手机正在广播的特定UUID,并测量它们之间的信号强度,并告诉您是否离它们越来越远。 我想为方向添加一个箭头。 我知道你可以使用三角测量,如果你有3分,但我想得到一些有点准确的2分。

任何有帮助的算法或建议?

我现在的想法(因为对于这个应用程序的用例,一个节点将相对静止)是在你走路时进行一些算法学习。 就像你走得更远,箭头知道忽略这个方向,并在你走向不同的方向时不断完善自己。

我发现了一堆关于这个主题的研究论文,但我不是电气工程师所以很容易迷路。 另外我读了这篇文章并了解了许多陷阱如何使用蓝牙测量两个iphone设备之间的距离?

谢谢!

这样的解决方案非常复杂。

获取信号的方向需要比正常应用程序使用的数据更多的数据。 用户必须在拍摄所有方向的许多样本时慢慢旋转手机。

获得相对距离,正如您所说的“越来越近”或“越走越远”在12米范围内使用下面公式可能。 超过12米,它变得越来越多。 但它非常复杂,需要您使用移动平均解决方案,其长度应该是您认为合适的。

您可以使用以下公式计算RSSI和距离之间的关系:

RSSI = -(10*n*log10(d) + A) 

在这种情况下,n =路径损耗指数,因为你不想要精确的距离,只是一种方法来检查它是否更近或更远,你可以使用2作为值,我发现这在大多数情况下是最现实的。 A =在1米距离处测量的RSSI值,您需要提前测量以进行计算,但由于这种情况变化很大,只需使用-60dB之类的值。 在大多数情况下,这个也是平均值。

因此,可以通过以下公式获得以米为单位的粗略猜测距离:

 distance = 10 ^ ((-RSSI - 60) / (10 * 2)); 

这不是很精确,但足以告诉您它是否在有限的范围内更近/更远。