Bluetooth Discovery против подключения - PullRequest
1 голос
/ 26 июля 2011

Так что в моем стремлении получить постоянно обновляемое значение RSSI я был вынужден прибегнуть к этому неэффективному методу. Я попытался использовать bluecove 2.1.1, но он дал мне некоторые библиотечные ошибки и ошибки времени выполнения, с которыми я больше не хочу тратить время. Руководство для разработчиков определяет обнаружение как процесс сканирования ближайших обнаруживаемых устройств.

Вызывает метод Intent.getShortExtra (BluetoothDevice.EXTRA_RSSI, Short.MIN_VALUE); за это время возможно?

Или два устройства должны сначала установить соединение, чтобы вышеуказанный метод имел какое-либо значение?

То есть, для моего метода poll () я мог бы сначала сохранить MAC-адрес рассматриваемого устройства в некоторой переменной mac_addr, сохранить значение RSSI в некоторой переменной my_rssi, а затем каждый раз, когда вызывается poll (), новый сканирование выполняется, и устройство, чей mac-адрес совпадает с mac_addr, нацелено и обновляет поле my_rssi?

1 Ответ

4 голосов
/ 26 июля 2011

Точно или лучше, вы можете только получить значение RSSI во время сканирования обнаружения устройства.Моя магистерская диссертация была на эту тему.Это связано с тем, что значение RSSI во время активного соединения ненадежно (из-за природы самого значения RSSI) и, следовательно, инженеры Google Android не предоставили его через API.

Преимущество этого:

  • Вам не нужно активное соединение, и, следовательно, сопряжение не требуется
  • Поскольку «пикосеть» не задействована, количество сканируемых устройств, возможно, бесконечно

Недостатки

  • Необходимо обнаруживать другие устройства Bluetooth (это проблема, особенно если вы хотите найти другие устройства Android с максимальным интервалом обнаружения)
  • Непрерывное устройствоСканирование обнаружения - это сложный процесс -> стоит много батареи

Однако проблема с постоянным выполнением обнаружения устройства заключается в том, что оно расходует много батареи на мобильном устройстве...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...