2014-01-17 7 views
1

Я могу получить Dbm bluetooth, но я хочу визуализировать силу сигнала. Я думаю, если кто-нибудь может помочь следующее:Визуализируйте силу сигнала Bluetooth Bluetooth

  1. Max/Min RSSI Значение
  2. RSSI (дБм) в процентах
  3. Простой Визуальное представление (по горизонтали). (В настоящее время я использую 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; 
    }  
} 

Edit: У моего ноутбука я получаю около -60 до -70 (возможно, что может быть около ближе всего?)

ответ

1

Для моего приложения для Android: «b и l bluetooth le scanner», я использую постоянно обновляющиеся индикаторы выполнения с диапазоном от -120 до -40 для rssi. Я также предоставляю настройки для ограничения min rssi и общего количества устройств LE, чтобы приложение не пыталось обновить слишком много индикаторов выполнения для каждого LE-сканирования. Очевидно, вы не можете отложить функцию LeScanCallback более чем на несколько сотен миллисекунд, или вы можете не видеть все устройства, при сканировании. Для эффективности вы можете пропустить визуальные обновления для уровней rssi, которые не изменились, на определенную сумму.

Смежные вопросы