Уровень сигнала Bluetooth в Android

Я хотел получить значение RSSI, чтобы измерить, как далеко устройство находится от телефона... Проблема, с которой я сейчас сталкиваюсь, заключается в том, продолжает ли значение RSSI изменяться даже после сопряжения устройств, а также можно ли использовать это значение напрямую короткая?

1 ответ

Значение RSSI будет значительно колебаться. Он пропорционален расстоянию, но на него влияют помехи, а также таблица мощности 2 подключенных устройств (они могут уменьшить свою мощность передачи, если они находятся близко).

Тем не менее, RSSI будет по-прежнему ценить устройства ближе.

Я предпочел регистрировать данные RSSI, которые я получаю на другом(встроенном) устройстве, и отправлять их обратно на Android, показывая их там. Мое встроенное устройство имеет свободный доступ к стеку Bluetooth, что позволяет получать более точные и интенсивные показания RSSI.

Конечно, получение RSSI другого устройства от Android также должно работать, но, вероятно, не так хорошо (у вас слишком много слоев поверх реального стека Bluetooth - linux bluez, затем Android...).

У меня есть собственное графическое приложение для мониторинга Bluetooth RSSI в Android, вот два экрана печати из моего приложения:

RSSI (сигнал rcvd, передаваемый Android на другое устройство и возвращаемый в Android

Вы также можете посмотреть на качество связи... это еще один полезный параметр (если он подвержен дублированию сигнала).

Вот научная статья на эту тему.

Другие вопросы по тегам