#android #bluetooth #low-level #at-command
#Android #bluetooth #низкоуровневый #по команде
Вопрос:
Поскольку Bluetooth — это широковещательный протокол, есть ли какой-нибудь способ прослушивать трансляции, будучи недоступным для обнаружения? Идея состоит в том, чтобы избежать обнаружения устройства и просто прослушивать трансляции, проверять устройства на наличие определенного имени устройства, а затем подключаться к mac-адресу этого устройства (с последующим рукопожатием, подтверждением и т.д.).
В частности, у меня есть устройство Bluetooth, которое использует набор команд AT (руководство пользователя здесь), и я хочу, чтобы мое устройство Android автоматически подключалось к нему, когда оно попадает в зону действия. Тем не менее, я хочу решение, которое не требует, чтобы мой Android был доступен для обнаружения все время, потому что я ожидаю, что Android большую часть времени не будет в зоне действия.
Существует ли команда Bluetooth низкого уровня, которую я могу отправить со своего первого устройства и прослушать для использования Android SDK, которая не требует сопряжения, подключения или возможности обнаружения? Возможно, что-то вроде запроса ACL?
(Кроме того, мои причины, по которым мое устройство недоступно для обнаружения, в основном связаны с питанием, а также с незначительными соображениями конфиденциальности пользователя. Насколько значительным является разряд батареи для обнаружения устройства? Почти ничего? Важно?)
Ответ №1:
Это называется командой страницы Bluetooth. Не уверен, как вы будете использовать это со своего устройства, но это позволяет устройству Bluetooth (фактически) сообщать о своем присутствии своему настроенному мастеру. Вам нужно будет посмотреть ответ Android на СТРАНИЦУ, чтобы увидеть, насколько хорошо это поддерживается.
Ответ №2:
Если Android подключается к устройству, то Android никогда не должен быть обнаружен. Если я не недопонимаю… (Радио на Android просто должно быть включено, а не «подключаемое» или «обнаруживаемое»)
Android может просто время от времени пытаться подключиться (отправляя СТРАНИЦУ), чтобы проверить, вернулось ли удаленное устройство в зону действия. Тогда даже удаленное устройство не обязательно должно быть доступным для обнаружения, просто «подключаемым» — при условии, что ваша программа Android запоминает адрес устройства удаленного устройства.
Или вы могли бы заставить удаленное устройство время от времени пытаться повторно подключиться к устройству Android (при условии, что удаленное устройство поддерживает установление соединений). Вам потребуется, чтобы программа на Android была сервером / прослушивателем, а Android Bluetooth находился в режиме «подключаемый».