Уровень сигнала Bluetooth в Android
Я хотел получить значение RSSI, чтобы измерить, как далеко устройство находится от телефона... Проблема, с которой я сейчас сталкиваюсь, заключается в том, продолжает ли значение RSSI изменяться даже после сопряжения устройств, а также можно ли использовать это значение напрямую короткая?
1 ответ
Значение RSSI будет значительно колебаться. Он пропорционален расстоянию, но на него влияют помехи, а также таблица мощности 2 подключенных устройств (они могут уменьшить свою мощность передачи, если они находятся близко).
Тем не менее, RSSI будет по-прежнему ценить устройства ближе.
Я предпочел регистрировать данные RSSI, которые я получаю на другом(встроенном) устройстве, и отправлять их обратно на Android, показывая их там. Мое встроенное устройство имеет свободный доступ к стеку Bluetooth, что позволяет получать более точные и интенсивные показания RSSI.
Конечно, получение RSSI другого устройства от Android также должно работать, но, вероятно, не так хорошо (у вас слишком много слоев поверх реального стека Bluetooth - linux bluez, затем Android...).
У меня есть собственное графическое приложение для мониторинга Bluetooth RSSI в Android, вот два экрана печати из моего приложения:
Вы также можете посмотреть на качество связи... это еще один полезный параметр (если он подвержен дублированию сигнала).
Вот научная статья на эту тему.