В Bluetooth типы атрибутов, типы услуг GATT, типы характеристик и типы дескрипторов, а также другие константы идентифицируются через UUID.
UUID - это не более чем идентификаторы, 128-битные идентификаторы. Одно данное 128-битное значение обозначает одну данную вещь. Использование 128-битных случайных значений дает минимальные шансы конфликтов для двух сторон, генерирующих идентификаторы самостоятельно, без необходимости в центральном реестре.
UUID в Bluetooth
Стандартно определенные UUID Bluetooth обрабатываются особым образом, поскольку они обычно используются в различных протоколах Спецификации. Они сгруппированы вокруг базового UUID Bluetooth (xxxxxxxx-0000-1000-8000-00805F9B34FB) и имеют 96 общих битов. (См. базовую спецификацию, 3.B.2.5.1 )
В различных частях протокола стандартные UUID могут передаваться в короткой форме, пропуская общие биты, таким образом, используя только 16 или 32 бита в эфире. Это деталь реализации, специфичная для некоторых протоколов во всем стеке. Из-за этого стандартные UUID часто называют короткими UUID.
Помимо стандартных UUID, любой разработчик может генерировать свои собственные UUID из 128 случайных битов и использовать их в любом месте. Пользовательские UUID не должны использовать базовый UUID Bluetooth (и не могут быть закодированы в краткой форме, но вам не нужно об этом заботиться).
Последствия для таможенных услуг
Используйте стандартный UUID при реализации стандартных услуг и характеристик.
Никогда не используйте UUID на основе Bluetooth Base-UUID для специальных целей.
При разработке пользовательской службы и атрибутов повторное использование существующих UUID (или части UUID) из кода, который вы можете найти в примере кода, SDK поставщика или где-либо еще, не является хорошей идеей. Тебе действительно стоит регенерировать свое.
Боковые примечания
Спецификация не определяет какую-либо схему группировки (то, что вы называете префиксами) для пользовательских UUID, но некоторые поставщики действительно побуждают группировать пользовательские UUID, таким образом, они генерируют один 96-битный пользовательский базовый UUID и выдают увеличивающие значения из него, как это сделал Bluetooth. . Это нестандартно и не требует оптимизации протокола.
person
Nipo
schedule
06.02.2020