UUID службы Bluetooth LE и формат UUID характеристики - PullRequest
0 голосов
/ 08 декабря 2018

Я собираюсь реализовать пользовательский сервис BLE.В Интернете я нашел несколько обучающих программ, в которых пользовательский UUID выбирается следующим образом:

Для uuid службы третий и четвертый байты равны нулю, например:

3698-0000-82c9-4adb-90cd-792b53207775

и соответствующие характеристические uuids имеют различное значение в третьем и четвертом байтах.Но все остальные байты такие же, как у UUID службы, например:

3698-0001-82c9-4adb-90cd-792b53207775 3698-0002-82c9-4adb-90cd-792b53207775 3698-0003-82c9-4adb-90cd-792b53207775 3698-0004-82c9-4adb-90cd-792b53207775

Мой вопрос: это просто обычная практика, или это обязательное требование спецификации BLE

1 Ответ

0 голосов
/ 11 декабря 2018

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

Например, служба ЧСС имеет UUID 0x180D, но ее характеристики имеют UUID 0x2a37 ( Измерение ЧСС ), 0x2a38 (Расположение датчика тела ) и 0x2a39 ( Точка контроля сердечного ритма ).

В спецификации Bluetooth только следующий абзац существует в отношении формата характеристического UUID: -

Поле Характеристический UUID представляет собой 16-битный Bluetooth UUID или 128-битный UUIDкоторый описывает тип значения признака.Клиент должен поддерживать использование как 16-битных, так и 128-битных характеристических UUID.Клиент может игнорировать любое определение характеристики с неизвестным UUID характеристики.UUID неизвестной характеристики - это UUID для неподдерживаемой характеристики.

Это можно найти в спецификации Bluetooth версии 5.0, том 3, часть G, раздел 3.3.1.3.Как видите, нет ссылки на характеристический UUID, связанный с UUID службы.

Надеюсь, это поможет.

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