• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-12 21:44:41 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

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

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

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

谢谢!



Best Answer-推荐答案


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

获取信号的方向需要的数据量远远超过正常应用程序所能提供的数据量。用户必须缓慢旋转手机,同时从各个方向采集许多样本。

使用下面发布的公式可以在 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/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap