gpt4 book ai didi

android - 寻找两个蓝牙设备之间的方向(定位)

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:23:51 24 4
gpt4 key购买 nike

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

有什么有用的算法或建议吗?

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

我发现了一堆关于该主题的研究论文,但我不是电气工程师,所以很容易迷路。我也阅读了这篇文章并了解了许多陷阱 How to measure distance between two iphone devices using bluetooth?

谢谢!

最佳答案

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

获取信号的方向需要比正常应用程序使用所能提供的数据多得多的数据。用户将不得不缓慢旋转手机,同时从各个方向采集大量样本。

获得相对距离,正如您所说的“越来越近”或“越来越远”,使用下面发布的公式在 12 米范围内是有可能的。超过 12 米时,它会变得非常不稳定。但它非常复杂,需要您使用您认为足够长度的移动平均解决方案。

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

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

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

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

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

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

关于android - 寻找两个蓝牙设备之间的方向(定位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23121547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com