基于RSSI值的距离计算

物联网 微控制器 沟通 阿杜伊诺 能量消耗 蓝牙低功耗
2021-06-22 08:58:52

我想计算蓝牙模块 (HC05) 的 RSSI 值,并根据派生的 RSSI 值计算周围设备的距离。我使用 Arduino Uno r3 作为控制器,使用 Arduino IDE 作为程序员。

实际上我已经使用 NodeMCU 设备完成了 RSSI 计算,但我也无法将其转换为以米为单位的距离。请让我知道这个问题的解决方案。我从Wifi降级到蓝牙的原因是电池容量。

另外让我知道WiFi和蓝牙的工作电压水平,哪个效率和功耗更好。

1个回答

首先,您必须知道只有一个 RSSI 无法提供有关距离的信息。因为它可能因设备而异。要计算距离,您必须知道“校准”值。例如,使用此设备在 1 米距离上测量的 RSSI 值。当您这样做时,您将拥有 2 个 RSSI 值:校准值和当前值。然后使用这个公式:

double Dist = pow(10.0, (double)(CalibratedRssi - Rssi) / 20.0);

(该公式适用于在 1 米距离上测量的“校准”RSSI)。