BluetoothLeScanner 扫描器库如何计算 "rssi" 值?

How is the "rssi" value calculated by the BluetoothLeScanner scanner library?

我正在研究低蓝牙室内定位系统,并且一直在使用 https://github.com/inthepocket/ibeacon-scanner-android 存储库来计算我的移动设备和多个 BLE 信标之间的 RSSI 值。

我正在查看“ibeacon-scanner-android”存储库以准确了解 RSSI 的计算方式,因为在计算 RSSI 值时不同的论文指向不同版本的对数正态模型。仔细阅读源代码,该团队似乎正在使用 android.bluetooth.le 包。

但是,我在 android 中找不到包含计算“rssi”值的代码的“方法”。 bluetooth.le 包。我想看看android的作者是什么方程式。 bluetooth.le 用于计算 RSSI 值以及他们考虑的常数。

我在哪里或如何找到 android.bluetooth.le 包中计算 RSSI 值的确切“方法”?

正如 M. Kotzjan 和 Emil 所提到的,这直接来自硬件。来自蓝牙规范,v5.2,第 4 卷,E 部分,第 7.7.65.2 节(LE 广告报告事件):-

上面的广告报告直接来自蓝牙芯片(硬件),可以看出,它包括RSSI、地址、数据,以及其他参数。 Android 蓝牙堆栈 (Fluoride) 然后从硬件读取此数据并将其公开给 Android OS。如何在硬件级别读取此数据取决于所使用的硬件,而不是 public 信息。