exponenta event banner

bleATTPDUConfig

Объект конфигурации для BLE ATT PDU

Для использования bleATTPDUConfig сначала загрузите библиотеку Communications Toolbox™ Library для протокола Bluetooth ®. Дополнительные сведения см. в разделе Получение надстроек и управление ими. Кроме того, см. библиотеку Communications Toolbox Library для обмена файлами по протоколу Bluetooth.

Описание

bleATTPDUConfig создает объект конфигурации для блока данных атрибута Bluetooth с низкой энергией (BLE) (ATT PDU). PDU BLE ATT можно сконфигурировать с помощью применимых свойств bleATTPDUConfig.

Создание

Описание

пример

cfgATT = bleATTPDUConfig создает bleATTPDUConfig объект конфигурации, cfgATT, для BLE ATT PDU со значениями по умолчанию.

пример

cfgATT = bleATTPDUConfig(Name,Value) задает свойства, используя одну или несколько пар имя-значение. Заключите каждое имя свойства в кавычки. Например, bleATTPDUConfig('Opcode','Error response') устанавливает Opcode имущество cfgATT кому 'Error response'.

Свойства

развернуть все

Примечание

Для получения дополнительной информации о свойствах BLE ATT PDU и их соответствующих значениях см. том 3, часть F, разделы 3,3 и 3,4 спецификации ядра Bluetooth [2].

Код операции BLE ATT PDU, указанный в этом списке в качестве одного из значений. Каждое допустимое значение описывает код операции BLE ATT PDU.

  • 'MTU request'

  • 'Error response'

  • 'Information request'

  • 'Find by type value request'

  • 'Read by type request'

  • 'Read request'

  • 'Read response'

  • 'Read blob request'

  • 'Read blob response'

  • 'Read by group type request'

  • 'Write request'

  • 'Write response'

  • 'Write command'

  • 'Prepare write request'

  • 'Prepare write response'

  • 'Execute write request'

  • 'Execute write response'

  • 'Handle value notification'

  • 'Handle value indication'

  • 'Handle value confirmation'

  • 'Information response'

  • 'Find by type value response'

  • 'Read by type response'

  • 'Read by group type response'

Типы данных: char | string

Код операции запроса BLE ATT PDU, указанный как одно из значений в этом списке. Каждое допустимое значение описывает запрос BLE ATT PDU (от однорангового устройства), вызвавший ошибку.

  • 'MTU request'

  • 'Information request'

  • 'Find by type value request'

  • 'Read by type request'

  • 'Read request'

  • 'Read blob request'

  • 'Read by group type request'

  • 'Write request'

  • 'Prepare to write request'

  • 'Execute write request'

Типы данных: char | string

Формат поля информационных данных, указанный как '16 bit' или '128 bit'. Это значение определяет формат элемента информационных данных в PDU с opcode 'Information Response'.

Типы данных: char | string

Значение дескриптора атрибута, указанное как вектор символа двухоктетного шестнадцатеричного значения в диапазоне [0x0001, 0xFFFF]. Это значение является уникальным идентификатором. Сервер динамически присваивает это значение.

Типы данных: char | string

Сообщение об ошибке, соответствующее запросу BLE ATT PDU, указанному как одно из значений в этом списке. Каждое значение указывает причину ошибки, соответствующей PDU запроса от равноправного устройства.

  • 'Invalid handle'

  • 'Read not permitted'

  • 'Write not permitted'

  • 'Invalid PDU'

  • 'Insufficient authentication'

  • 'Request not supported'

  • 'Invalid offset'

  • 'Insufficient authorization'

  • 'Prepare queue full'

  • 'Attribute not found'

  • 'Attribute not long'

  • 'Insufficient encryption key size'

  • 'Invalid attribute value length'

  • 'Unlikely error'

  • 'Insufficient encryption'

  • 'Unsupported group type'

  • 'Insufficient resources'

Типы данных: char | string

Максимальный размер BLE ATT PDU, указанный как положительное целое число в диапазоне [23,65535]. Это значение задает максимальный размер BLE ATT PDU в байтах, который может получить клиент или сервер.

Типы данных: double

Начальный дескриптор диапазона дескрипторов, заданный в виде шестнадцатеричного значения с двумя октетами в диапазоне [0x0001 0xFFFF]. Это значение указывает значение дескриптора для объявления услуги или характеристики или начальный дескриптор диапазона дескрипторов. Это значение должно быть меньше значения EndHandle.

Типы данных: char | string

Конечный дескриптор диапазона дескрипторов, заданный как двухоктетное шестнадцатеричное значение в диапазоне [0x0001 0xFFFF]. Это значение задает конечное значение дескриптора для объявления услуги или характеристического объявления или конечного дескриптора диапазона дескрипторов. Это значение должно быть больше значения StartHandle.

Типы данных: char | string

Тип атрибута, определяемый как четырехэлементный или 32-элементный символьный вектор или строковый скаляр, обозначающий двухоктетное или 16-октетное шестнадцатеричное значение.

Типы данных: char | string

Значение атрибута, указанное как одно из следующих значений:

  • Символьный вектор - этот вектор представляет октеты в шестнадцатеричном формате.

  • Строковый скаляр - этот скаляр представляет октеты в шестнадцатеричном формате.

  • Числовой вектор элементов в диапазоне [0,255] - этот вектор представляет октеты в десятичном формате. Максимальная длина числового вектора равна 65534.

  • nМассив символов -by-2 - каждая строка представляет октет в шестнадцатеричном формате. Максимальная длина символьного массива: 131068.

AttributeValue указывает значение атрибута, которое должно храниться в базе данных атрибутов или считываться из нее. Укажите это значение в первом формате LSB.

Типы данных: char | string | double

Смещение следующего считываемого октета, указанного как целое число в диапазоне [0, 65535]. Это значение можно использовать в BLE ATT PDU с opcodes 'Read blob request', 'Prepare write request', и 'Prepare write response' для определения смещения значения атрибута в базе данных атрибутов.

Типы данных: double

Флаг выполнения записи, указанный как 'Cancel all prepared writes' или 'Write all pending requests'. Можно определить действие (отменить или записать), которое должно быть выполнено при использовании этого свойства.

Типы данных: char | string

Функции объекта

развернуть все

bleATTPDUСоздание блока распределения данных BLE ATT
bleATTPDUDecodeДекодирование BLE ATT PDU

Примеры

свернуть все

Создание двух уникальных объектов конфигурации BLE ATT PDU: одного типа 'Read by type request' и другой типа 'Error response' используя параметры по умолчанию и пары «имя-значение» соответственно.

Создайте объект конфигурации BLE ATT PDU с настройками по умолчанию.

cfgATT = bleATTPDUConfig;

Установите код операции BLE ATT PDU как 'Read by type request'. Просмотр применимых свойств кода операции 'Read by type request'.

cfgATT.Opcode = 'Read by type request'
cfgATT = 
  bleATTPDUConfig with properties:

           Opcode: 'Read by type request'
      StartHandle: '0001'
        EndHandle: 'FFFF'
    AttributeType: '2800'

Создайте другой объект конфигурации BLE ATT PDU, на этот раз используя пары имя-значение. Измените код операции BLE ATT PDU на 'Error response'. Просмотр применимых свойств кода операции 'Error response'.

cfgATT = bleATTPDUConfig('Opcode','Error response')
cfgATT = 
  bleATTPDUConfig with properties:

             Opcode: 'Error response'
    RequestedOpcode: 'Read request'
    AttributeHandle: '0001'
       ErrorMessage: 'Invalid handle'

Создайте объект конфигурации BLE ATT PDU. Изменение значения opcode на 'Read by type request'. Просмотр применимых свойств указанного значения кода операции.

cfgTx = bleATTPDUConfig;
cfgTx.Opcode = 'Read by type request'
cfgTx = 
  bleATTPDUConfig with properties:

           Opcode: 'Read by type request'
      StartHandle: '0001'
        EndHandle: 'FFFF'
    AttributeType: '2800'

Создайте BLE ATT PDU из соответствующего объекта конфигурации.

attPDU = bleATTPDU(cfgTx);

Декодируйте сгенерированный блок распределения данных BLE ATT. Возвращенное состояние указывает на успешное декодирование. Просмотр применимых свойств кода операции 'Error response'.

[status, cfgRx] = bleATTPDUDecode(attPDU)
status = 
Success
cfgRx = 
  bleATTPDUConfig with properties:

           Opcode: 'Read by type request'
      StartHandle: '0001'
        EndHandle: 'FFFF'
    AttributeType: '2800'

Ссылки

[1] Веб-сайт технологии Bluetooth. «Веб-сайт Bluetooth Technology | Официальный веб-сайт Bluetooth Technology». Доступно 22 ноября 2019 года. https://www.bluetooth.com/.

[2] Группа специальных интересов Bluetooth (SIG). «Спецификация ядра Bluetooth». Версия 5.1. https://www.bluetooth.com/.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2019b