可视化Android蓝牙信号强度

时间:2014-01-17 18:42:19

标签: android graphics bluetooth signal-strength

我可以获得蓝牙的Dbm,但我希望可视化信号强度。我猜是否有人可以提供以下帮助:

  1. 最大/最小RSSI值
  2. RSSI(dbm)到百分比
  3. 简单的视觉表示(水平)。 (目前我使用ProgressBar是为了简单,但可能会让它看起来更加实用和专业)。
  4. 我确实找到了以下代码,这可能有所帮助:

    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(也许这可能是最接近的?)

1 个答案:

答案 0 :(得分:1)

对于我的Android应用程序:“b和l bluetooth le scanner”,我使用不断更新进度条,rssi的范围为-120到-40。我还提供了限制min rssi和LE设备总数的设置,以便应用程序不会尝试为每个LE扫描更新太多进度条。显然,您不能将LeScanCallback功能延迟超过几百毫秒,否则您可能无法在扫描中看到所有设备。为了提高效率,您可以跳过一定数量的未更改的rssi级别的可视更新。

相关问题