ESP32 接近检测 - 有多近、多远以及有多准确?

物联网 ESP32 可穿戴设备 接近
2021-05-31 13:23:00

我对此事做了一些简短的搜索,但这并没有真正的帮助。我想检测人们何时彼此靠得太近,并且——可能在未来——彼此之间保持太远的距离。

所有都是非常有趣的文章,我想我总是可以将它们全部构建并进行我自己的测量,但宁愿节省时间,如果它不是很准确,所以我希望这里有人可以根据经验发言.

理想情况下,我更喜欢 BLE 5.1,对于 AOA / AOD,以获得极高的精度 - 和方向 - 但 ESP32 没有,也不太可能很快(除非我可以添加它,不知何故?相关问题

如果我想知道两个设备何时在 1 米、2m、5m、10m 内接近,该有多准确?那么远处,靠近接待处的边缘呢?

我想通过可穿戴设备实现这一目标,例如LILYGO® TTGO T-Wristband DIY 可编程智能手链的外观

在此处输入图片说明

但实际的硬件是另一个问题,也许是另一个站点。

有没有人有这方面的经验?您能否提供各种距离下测量粒度的近似值?

1个回答

自己没有尝试过,但需要考虑以下几点:

  • 如果你在一个非常非常大的开放空间中放置了两个相互有视线的设备,那么 RSSI 和距离之间应该有直接关系。然而,情况几乎从未如此。由于障碍物、反射、多径等,观察到的 RSSI存在显着差异

  • 拿起你最喜欢的手机,在上面下载一个 BLE 扫描仪,它会显示 RSSI(例如 nRF 连接,但还有很多其他的)。它可能会在这里发现大量(或独轮手推车,视情况而定)设备。在完全不动的情况下观察任何设备的 RSSI 变化。您会注意到传播很容易超过 10 dBm,有时甚至更多。请记住,3 dBm 表示 2 的因数,10 dBm 表示 10 的因数。但是请注意,您无法比较两种不同设备的读数:不同的 TX 功率、不同的天线......

  • 现在开始移动你的手机。转身,让您位于设备和手机之间。您可以将手机放在同一个地方,然后观察信号强度的下降。

所以不,你不能仅仅从 RSSI 获得任何准确的距离,尽管你可以得到一个模糊的想法。

另一个参考点:Apple 的 Core Location 框架,当它报告一个信标时,只报告以下接近度值(iBeacons 在 1 m 处宣传校准的 RSSI 以提供帮助):

  • 无法确定信标的接近程度。
  • 信标就在用户附近。
  • 信标离用户比较近。
  • 灯塔很远。

他们说:

当两个设备相距很远、彼此靠近或彼此紧邻时,测距报告;它不提供精确的距离,您也不应该依靠信标信号的强度来自己计算该信息。

因此,在对您自己的一对设备进行试验后,您可以确定一个阈值,超过该阈值,您可以确定这些设备在给定的距离内。根据您的目标,您可以非常宽松或非常严格,这取决于您。但是不要指望比“非常接近”、“相当远”和“介于两者之间”更准确的东西。

(如果您在范围内有多个信标和该区域的指纹,则情况会有所不同,但这是一个完全不同的主题)。

至于最大范围,这在很大程度上取决于 TX 功率、天线、灵敏度、外壳、相对位置以及最重要的障碍物。我已经看到 BLE 设备无法在几米之外相互交谈,并且我已经检测到 20 米外的 BLE 设备越过许多障碍物,可能更多。只有在目标环境/上下文中使用您选择的设备进行实验才能让您更好地了解可能的情况。

如果没有高 TX 功率设备的障碍,您可以在视线范围内到达数百米,但这当然是永远不会发生的情况。

需要注意的一件重要事情是,要进行检测,您需要做广告和扫描。电池供电的基于 ESP32 的设备在这方面非常糟糕,因为除非我错过了什么,否则您无法将深度睡眠与深度睡眠结合起来。因此,您会获得相当高的功耗,而且使用任何可装入腕戴式外壳的电池,您的续航时间可能不会超过几个小时。

nRF5 系列的 Nordic Semi 芯片在这方面做得更好,尽管还有很多其他选择。基于nrf52832 的手腕安装选项包括Espruino 的 Bangle.js,尽管它具有很多您可能不需要的东西(GPS、心率监测器、加速度计、磁力计……)。