如何根据 tx、rssi 和准确度计算到信标的距离

How to calculate the distance to a beacon based on tx, rssi and accuracy

我正在使用 petermetz/cordova-plugin-ibeacon 检测移动设备周围的信标。我可以看到插件提供了有关 beacon 的以下信息,例如

uuid, major, minor, rssi, tx, accuracy

我想知道的是 rssi, txaccuracy? 我如何使用这三个值(rssitxaccuracy ) 计算到信标的距离?

我已经完成了这个 documentation : What are Broadcasting Power, RSSI and other characteristics of beacon's signal?,但没有得到我正在寻找的信息,或者它的级别太高,我无法理解。

非常感谢您的所有反馈。

cordova-plugin-ibeacon 是 iOS 上的 CoreLocation 框架和该平台上的 Android Beacon Library 的包装器。两个平台都使用 RSSI(接收信号强度指示器)来估计到信标的距离。在 CoreLocation 中,术语 accuracy 用于指示以米为单位的估计距离。对于 Android 信标库,等效字段称为 距离,还提供以米为单位的估计值。

这些字段的含义总结如下:

Cordova    iOS        Android    Description
-------    --------   --------   ---------------
accuracy   accuracy   distance   Estimated distance in meters
tx         N/A        txPower    Calibrated measured transmitter power at 1 meter in dBm
rssi       rssi       rssi       Received signal strength in dBm

在 iOS,txPower 字段在内部使用,但在信标读数中不可用。

因为距离估计是直接可以得到的,没有理由自己计算。但是,如果好奇,请继续阅读。

iOS 和 Android 之间用于计算距离的实际计算不同,但使用 table 中的变量。 iOS 计算是封闭源代码且未发布。 Androd Beacon Library 使用我写的博客 post here 中描述的计算。

完全披露:我是 Android Beacon Library 项目的首席开发人员。