【问题标题】:How to find the distance between bluetooth devices如何找到蓝牙设备之间的距离
【发布时间】:2020-05-21 13:19:03
【问题描述】:

说明:

我正在尝试找到一种方法来计算应用程序与附近蓝牙设备之间的距离。

那个,或者只检测距离装有应用程序的设备x 米的设备。

到目前为止尝试过:

我尝试使用蓝牙的信号强度,但它并不可靠,因为它除了距离之外还有很多变量(设备的旋转、两个设备之间的物体等)。例如,我留意了一个仍在桌子上的设备,结果数字增加了 10 mBw,而这两个设备都没有移动。

我也想过使用 GPS 进行距离计算,但 GPS 的精度与我正在寻找的精度(+-1m)相比差异很大。

我会在搜索之前降低蓝牙信号的强度(在较新的蓝牙版本上),以便在较低范围内找到更少的设备。但是试用过的人说不可靠,因为即使在蓝牙最低能量的情况下,蓝牙也能找到大约 10m 外的设备。

我们身边的例子:

如果有人拥有 Apple Watch 和 Mac,他们就会知道,只需在佩戴 Watch 时靠近 Mac 即可解锁 Mac。

还有车钥匙。当您随身携带钥匙时离汽车足够近时,汽车就会解锁。

注意事项:

假设所有设备都是硬件较高的 Android 设备。这是一个特殊的实现,并不适合所有人

【问题讨论】:

  • 我认为蓝牙不是为此而开发的。

标签: java android bluetooth


【解决方案1】:

这里有关于使用蓝牙设备计算距离的技术的一个很好的讨论:https://vimeo.com/171186055#t=40m15s

对于 Apple Watch 和 Mac,Apple 正在通过点对点 WiFi 使用飞行时间来确定该精度级别的接近度。

典型的自动遥控无钥匙进入系统使用无线电脉冲,而不是蓝牙。更先进的系统,如特斯拉的电话钥匙,在电话设备上使用蓝牙,但依赖于驾驶员物理触摸门把手来完成该过程。

【讨论】:

  • 这是否意味着可以通过 WiFi 实现?如果我知道的话,iPhone 和任何 Android 设备都有相同类型的 WiFi 硬件
  • 仅在 Android 中,WiFi 硬件和功能存在很大差异。对您的环境一无所知(例如,您要测量的这些对象是什么,它们是否有 WiFi,以及您是否是所有这些对象的经过身份验证的用户),因此无法确定地回答。跨度>
  • 这里讨论了在 Android 设备上通过 WiFi 进行 RTT:gpsworld.com/how-to-achieve-1-meter-accuracy-in-android
  • 假设所有设备都是 Android 手机。以及高级硬件。
【解决方案2】:

这可能是可能的,但不太准确。

你应该这样处理它:- 您应该测量信号强度,然后使用蓝牙速度测量距离(通常在 100ps 中移动 1cm)。不过,时间安排会很困难。

然后,使用数据您可以轻松测量距离(通常小于 10 m,但可以走得更远)。

你会得到一个答案,但它实际上是一个近似值。 在我看来,精确的测量是不可能的。

【讨论】:

  • 这听起来不太合理。我无法通过猜测找到蓝牙脉冲的速度时间
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-07
  • 2019-09-05
  • 1970-01-01
相关资源
最近更新 更多