Является ли незаконным несоблюдение стандартов Bluetooth с низким энергопотреблением в отношении UUID?

  1. Могу ли я иметь какой-либо 16-битный/32-битный UUID в рекламном пакете для аналогичной цели фильтрации?
  2. Обязательно ли иметь список UUID службы, указанный в рекламном пакете, чтобы он был доступен при обнаружении службы после подключения?
  3. Могу ли я иметь стандартные сервисы GATT, чтобы несвязанные сервисные данные были в рекламном пакете?
  4. Могут ли производственные данные быть сделаны с пользовательским идентификатором производителя и данными?
  5. Где я могу найти законность по этим вопросам как в коммерческих, так и в некоммерческих целях?

Я хочу создать сервер BLE как на Android/iOS, так и на плате разработки, и я не могу найти соответствующие источники, подтверждающие законность этих стандартов.


person Joseph Stephen    schedule 12.06.2020    source источник


Ответы (1)


Соответствующим источником, на который следует обратить внимание, является Дополнение к базовой спецификации Bluetooth (CSS), которое вы можете найти здесь: https://www.bluetooth.com/specifications/bluetooth-core-specification/.

Как видите, он очень слабо указан. Основная спецификация также не так много говорит о различных типах AD.

  1. В описании спецификации говорится: «Тип данных UUID службы используется для включения списка UUID службы или класса службы». Затем спецификация описывает различные форматы 16/32/128-битных UUID, неполный или полный список. Кроме того, в спецификации не сказано, откуда берется этот список и что он представляет. Однако он использует формулировку «Если устройство не имеет UUID службы определенного размера, ...» в одном месте. Однако в спецификации говорится, что «16-битные и 32-битные UUID должны использоваться только в том случае, если они назначены Bluetooth SIG», поэтому вы не можете выбрать какой-либо неназначенный 16- или 32-битный UUID. Так что нет, вы не можете просто выбрать любой случайный 16- или 32-битный UUID, он должен быть назначенным.

  2. Как и в 1. в спецификации не указано, какой список следует рекламировать. Но общеизвестно, что он должен представлять собой список сервисов GATT, присутствующих в базе данных GATT устройства.

  3. Спецификация «Сервисные данные» очень короткая. Описание состоит из одного предложения: «Тип данных службы данных состоит из UUID службы с данными, связанными с этой службой». Для формата данных затем говорится, что данные состоят из UUID, за которым следуют «дополнительные служебные данные». Именно здесь, опять же, общеизвестно (я полагаю?), что связанные данные должны определяться спецификацией конкретной службы. например, Cycling Power Service определяет данные следующим образом: «UUID Cycling Power Service, за которым следует характеристическое значение измерения циклической мощности». Поэтому обычно связанные сервисные данные состоят из значения характеристики, для которой включено свойство Широковещательная рассылка.

Если CSS строго соблюдается (слово за словом), вы можете возразить, что можно использовать другой список сервисных UUID, чем те, что есть в вашей базе данных GATT. Вы также можете возразить, что производитель может поместить свои собственные «связанные данные» со службой в запись служебных данных. Я бы сказал, что это возможные интерпретации, но это не то, что имел в виду тот, кто написал спецификацию.

  1. Спецификация «Данные, специфичные для производителя» имеет следующее описание: «Тип данных, специфичный для производителя, используется для данных, специфичных для производителя. Первые два октета данных должны содержать идентификатор компании из Assigned Numbers. Интерпретация любых других октетов в данных должна быть определен производителем, указанным идентификатором компании». Это означает, что вы не можете «украсть» идентификатор другой компании и использовать определенный вами формат данных.

  2. Обратите внимание, что Bluetooth намного старше эпохи смартфонов. Вначале все, кто внедрил Bluetooth, преследовали цель продать продукт, использующий технологию Bluetooth (наушники, динамики, телефоны). Тем не менее, в наши дни при создании «продукта» Bluetooth вам необходимо быть членом Bluetooth SIG (это бесплатно, но только компании могут быть членами Bluetooth SIG), и когда вы используете любой из товарных знаков Bluetooth с продуктом, вам нужно получить он квалифицирован и зарегистрирован в Bluetooth SIG. Вы можете прочитать на https://www.bluetooth.com/develop-with-bluetooth/qualification-listing/ какие действия и принудительные меры будут предприняты, если вы не сможете квалифицировать продукт. Чтобы квалифицировать продукт, вы должны следовать спецификации. Существует полный набор тестов для квалификации, которые вы должны пройти. Я почти уверен, что он не поймает, если вы используете неправильный список услуг или «украдете» идентификатор компании производителя в данных производителя. По моему мнению, разработка программных приложений, которые работают на уже сертифицированных Bluetooth-смартфонах, — это то, о чем Bluetooth SIG не подумала. У них есть возможность квалифицироваться как «Профильный клиент (приложение) на основе GATT», который стоит 100 долларов США (https://www.bluetooth.com/develop-with-bluetooth/qualification-listing/qualification-listing-fees/), но это явно не для вы, так как вы реализуете профиль сервера. Я до сих пор не слышал ни о ком, кто сделал эту квалификацию приложения. Так что мне немного непонятно, как следует относиться к приложениям для смартфонов.

В конце концов, идея состоит в том, что каждый должен следовать спецификации, чтобы обеспечить надлежащее взаимодействие между различными продуктами.

В вашем конкретном случае, если вы просто хотите свести к минимуму рекламные данные, просто запросите идентификатор компании у Bluetooth SIG (это бесплатно) и используйте данные производителя.

person Emil    schedule 12.06.2020
comment
Спасибо за этот подробный ответ. Цените время :) - person Joseph Stephen; 25.06.2020