目标是没有真正的距离。比较简单。
目标是检查另一台设备是否非常接近。对或错。假设 10 或 15 厘米很近,因此我们的检查是正确的,而任何更远的设备都无法通过检查并且是错误的。
我的第一个方法是使用api的方法fetchUuidsWithSdp()
,但是失败了!
无论是几厘米外的设备还是大房间另一端的设备,延迟似乎都是一样的!
即使没有蓝牙,任何解决方案都是可以接受的。例如,我对 wifi direct p2p 协议(protocol)完全不熟悉。也许那里有一些有用的东西可以粗略估计距离。
编辑:我正在阅读有关接收信号强度指示器(RSSI)的信息。这可以用于我们的特殊情况,粗略估计设备之间的距离。但也许可以结合一些东西来提高准确性。
编辑:我测试了拉尔加的答案。我确实建立了连接,并且在设备之间建立了 ping-pong 的次要协议(protocol)。
当以 1 字节 进行乒乓球时,非常接近时的平均延迟为 22.6000 毫秒,在房间的另一个角落时为 22.6087 毫秒。
当以 1024 字节 进行乒乓球时,在非常接近时的平均延迟为 40.3173 毫秒,在房间的另一个角落时甚至更小,为 32.3138 毫秒。
毕竟,确实,延迟不携带任何有关距离的信息!
谢谢!
最佳答案
关于android - 如何估计两个安卓设备之间的距离? (蓝牙首选),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14015239/