我可以得到蓝牙的 Dbm,但我想可视化信号强度。我想是否有人可以提供以下帮助:
- 最大/最小 RSSI 值
- RSSI (dbm) 自 百分比
- 简单的视觉表示(水平)。(目前,为了简单起见,我正在使用 ProgressBar,尽管让它看起来更加充实和专业可能会很好)。
我确实找到了以下代码,这可能会有所帮助:
public static int calculateSignalLevel(int rssi, int numLevels) {
if (rssi <= MIN_RSSI){return 0;}
else if (rssi >= MAX_RSSI){return numLevels - 1;}
else {
int partitionSize = (MAX_RSSI - MIN_RSSI) / (numLevels - 1);
return (rssi - MIN_RSSI) / partitionSize;
}
}
编辑:在我的笔记本电脑旁边,我得到大约 -60 到 -70 (也许这可能是最接近的?)