#bluetooth #bluetooth-lowenergy
#bluetooth #bluetooth-низкое энергопотребление
Вопрос:
Я унаследовал приложение, которое подключается к устройству ble.
Приложение выполняет поиск по сканируемым устройствам и подключается к тому, имя которого соответствует ожидаемому имени.
Довольно просто question…is это стандартный способ подключения к определенному типу устройства?
Должен ли я использовать что-то более конкретное, например, проверять службы на предмет ожидаемых идентификаторов служб?
Ответ №1:
Общий подход заключается в фильтрации результатов сканирования с использованием uuid сервиса, присутствующего в рекламных данных. Имя не является хорошим фильтром, поскольку оно должно быть удобным для пользователя, и на многих устройствах пользователь может указать свое собственное имя и, возможно, то же самое, что и вы используете.
Комментарии:
1. Имеет ли смысл иметь пустую службу с UUID для явной цели идентификации типа устройства?
2. Не невозможно, но я никогда не слышал о такой идее. Если у вас есть пользовательское устройство, у вас обычно есть какая-то пользовательская служба. Если вы используете только стандартные службы, вам следует рекламировать эти стандартные службы, чтобы любое совместимое приложение, поддерживающее эту стандартную службу, могло идентифицировать ее и подключиться к ней. Вы также можете рекламировать данные производителя, чтобы идентифицировать конкретного производителя устройства, которое не привязано ни к какой службе gatt.
3. Единственная служба, которую мое приложение использует с пользовательского устройства, — это служба Nordic UART, которая не является уникальной для устройства, поэтому ее нельзя использовать для его идентификации. Это пользовательское устройство, предназначенное только для работы с пользовательским приложением, но у него нет пользовательской службы для его идентификации.