是否有将RSSI信号转换为精确距离的方法?我们尝试了几个公式,但都有不同的结果。
我正在谈论的公式:
public double calculateDistance(double signalLevelInDb, double freqInMHz) {
double exp = (27.55 - (20 * Math.log10(freqInMHz)) + Math.abs(signalLevelInDb)) / 20.0;
return Math.pow(10.0, exp);
}
答案 0 :(得分:1)
RSSI和dBm测量强度,这取决于许多因素,其中一个当然是距离源的距离。 RSSI与设备的芯片组相关(参见http://www.metageek.com/training/resources/understanding-rssi.html)。除非你的javascript能够知道设备的芯片组,否则我不相信你有办法做你想做的事。
如果您具有dBm的信号强度,您可以尝试对"有效的"进行分类。距离是近似于基于信号强度的距离,但即使是通过其他因素(例如信号传播的介质),信号使用的频带(2.4穿透优于5Ghz,例如),也可以减轻距离。
听起来您确实需要地理定位服务,因此您可以识别设备与接入点之间的实际距离。