繁体   English   中英

如何估计两个Android设备之间的距离? (蓝牙优先)

[英]How to estimate distance between two android devices? (bluetooth preferred)

目标是没有真正的距离。 这是更简单的事情。
目标是检查另一个设备是否非常非常接近 对或错。 假设 10 或 15 厘米很近,所以我们的检查是正确的,任何更远的设备都无法通过检查,这是错误的。

我的第一种方法是使用 api 的方法fetchUuidsWithSdp()但它失败了!
无论是距离几厘米的设备还是在大房间的另一端,延迟似乎都是一样的!

即使没有蓝牙,任何解决方案都是可以接受的。 例如,我完全不熟悉wifi direct p2p协议。 也许那里可能有一些有用的东西来粗略估计距离。

编辑:我正在阅读有关接收信号强度指示器( RSSI )的信息。 这可以用于我们的特殊情况,粗略估计设备之间的距离。 但也许可以结合一些东西来提高准确性。

编辑:我将 Ralgha 的答案用于测试。 我确实建立了一个连接,并有一个在设备之间进行乒乓的小协议。
当以1 字节进行乒乓时,非常接近时平均延迟为 22.6000 毫秒,而在房间的另一个角落时为 22.6087 毫秒。
当以1024 字节进行乒乓时,距离非常近时平均延迟为 40.3173 毫秒,而在房间的另一个角落时则更小,为 32.3138 毫秒。
毕竟,延迟确实不携带任何有关距离的信息

谢谢!

你可以用声音测量距离

我研究了蓝牙定位,它和检测信号强度一样简单。 为了获得真正准确的结果,您还需要考虑您使用的手机类型、电池类型和电池状况。 您还必须考虑环境及其对信号强度的影响,以及可能干扰信号的障碍物,例如人、墙壁、桌子等。

要确定距离,您还需要使用三角测量技术来确定移动设备的位置。 您还可以在您的环境中设置多个发射器并针对每个发射器进行测量。 了解这些发射器的位置后,您就可以计算出手机的位置。

但是,信号强度会有所不同,您必须进行大量校准。 有许多科学论文可以深入了解所需的算法。 还有几家公司提供这种服务,用于商场、博物馆等。

也就是说,如果您可以获得信号强度,那么您应该能够计算出基本的远近结果,它不会完全准确,在这种情况下,我仍然认为拥有多个发射器仍然有助于很多。

论文,一些陷阱PDF(下载),另一篇论文

我从谷歌搜索蓝牙定位中读到了很多论文,它们会给你一些指导。

我能想到的唯一可行的方法是使用 NFC。 要使用蓝牙或 Wi-Fi,您必须通过信号强度来实现,但每个发射器都不同,因此根本不可靠。

延迟是相当无用的,因为无线电波以光速传播,而传播一英寸和一英里之间的时间差基本上为零。 要测量这种差异,您需要比手机更高的分辨率。

您没有指定此距离检测的目标,但如果您可以为此添加一些额外要求(即手机方向和闪光灯),则可能会使用完全不同的方法。

如果两个设备都以两个摄像头面对面的方式定向,则可以使用闪光灯来验证正确的手机和距离。 相机图像中产生的白点的大小随着距离的增加而迅速减小,特定的闪光序列可以区分其他手机闪光灯和其他光源。

这可能需要一些调整才能在户外工作,因为对于相同的距离,光斑尺寸会小得多......

问候。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM