Как обрабатывать 16-битные характеристики в Bluetooth LE

Я уже несколько дней искал ответ на этот вопрос.

Я пишу приложение для Android для взаимодействия с устройством с низким энергопотреблением Bluetooth. У меня есть 128-битный идентификатор службы UUID устройства и несколько 16-битных идентификаторов характеристик. Как мне обрабатывать эти 16-битные значения в программном обеспечении? Должен ли я расширить их до 128 бит, объединив их со стандартным BLE UUID 0000SSSS-0000-1000-8000-00805F9B34FB (где «SSSS» - это 16-битное значение идентификатора характеристики)? Если не то, то что?

Я не могу найти никакой документации по этому поводу, и я не могу понять это, просмотрев образец приложения, предоставленный с RxAndroidBle библиотека, которую я пытаюсь использовать.

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


person Robert Lewis    schedule 20.01.2017    source источник


Ответы (1)


Вы должны создать 128-битный UUID из 16-битного сокращенного UUID.

Например, весовая характеристика имеет 16-битное UUID из 2A9D, что соответствует UUID.fromString("00002A9D-0000-1000-8000-00805F9B34FB").

person Dariusz Seweryn    schedule 20.01.2017