Быстрый способ проверить многие устройства Bluetooth по MAC-адресу - PullRequest
2 голосов
/ 15 ноября 2011

Я создаю инструмент, который проверяет наличие многих (~ 100) устройств Bluetooth. У меня уже есть их MAC-адреса. Я просто хочу знать, находятся ли они в диапазоне, даже если не установлен на обнаружение.

Использование hcitool name <bt_addr> делает это. Но это не очень быстро; проверка каждого адреса занимает до 5 секунд, особенно если устройство не находится в зоне действия. Если я разветвляю параллельные подпроцессы, это все равно занимает до 5 секунд каждый, как будто bluez или что-то в стеке сериализует запросы.

Существует ли более быстрый способ проверки наличия устройств BT по MAC-адресу? Мне не нужно знать их имена, только если они есть (независимо от того, установлены они или нет). В идеале я хотел бы проверить все ~ 100 за полминуты или меньше.

Бонусные баллы, если решение не требует sudo (например, l2ping), но хорошо, если это единственный способ. Платформа - Ubuntu Linux, использующая ключ Cambridge Silicon BT, если это имеет значение ...

Thanx,

- Стив

1 Ответ

2 голосов
/ 15 ноября 2011

Нет Если устройство не обнаружено, то нет быстрого и эффективного способа.Любая другая схема (включая запрос имени) требует установления соединения - что займет несколько секунд каждая, процесс соединения не может быть выполнен параллельно по радио - это по одному за раз.

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