bleLLAdvertisingChannelPDUConfig

Объект строения для BLE LL канала рекламы PDU

Требуется загрузка: Чтобы использовать bleLLAdvertisingChannelPDUConfig, сначала загрузите библиотеку Communications Toolbox™ для Bluetooth® Протокол. Для получения дополнительной информации см. раздел «Получение и управление дополнениями». Другой способ см. в разделе Библиотека Communications Toolbox для обмена файлами протокола Bluetooth.

Описание

The bleLLAdvertisingChannelPDUConfig создает объект строения для Bluetooth low energy (BLE) ссылки слоя (LL) модуля данных протокола рекламного канала (PDU) с использованием значений по умолчанию и заданных значений. Вы можете сконфигурировать рекламный канал BLE LL PDU, используя применимые свойства bleLLAdvertisingChannelPDUConfig.

Создание

Описание

пример

cfgLLAdv = bleLLAdvertisingChannelPDUConfig создает объект строения, cfgLLAdv, для рекламного канала BLE LL PDU со значениями по умолчанию.

пример

cfgLLAdv = bleLLAdvertisingChannelPDUConfig(Name,Value) создает объект строения PDU рекламного канала BLE LL путем определения свойств с помощью одной или нескольких пар "имя-значение". Заключайте каждое имя свойства в кавычки. Для примера, bleLLAdvertisingChannelPDUConfig('PDUType','Scan response') настраивает cfgLLAdv с типом BLE LL рекламного канала PDU следующим 'Scan response'.

Свойства

расширить все

Примечание

Для получения дополнительной информации о свойствах PDU рекламного канала BLE LL и их соответствующих значениях смотрите том 6, часть B, раздел 2,3 Спецификации ядра Bluetooth [2].

Тип рекламного канала BLE LL PDU, заданный как вектор символов или строковый скаляр для описания типа рекламного канала BLE LL PDU. Можно задать 'PDUType' как одно из следующих значений:

  • 'Advertising indication'

  • 'Advertising direct indication'

  • 'Advertising non connectable indication'

  • 'Scan request'

  • 'Scan response'

  • 'Connection indication'

  • 'Advertising scannable indication'

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

Алгоритм выбора канала, заданный как 'Algorithm1' или 'Algorithm2' для указания типа алгоритма, используемого для скачкообразного переключения между каналами.

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

Тип адреса устройства рекламодателя, заданный как 'Random' или 'Public' для указания типа адреса рекламодателя в пакете.

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

Адрес устройства рекламодателя, заданный как 12-элементный вектор символов или строковый скаляр, обозначающий шестиоктетовое шестнадцатеричное значение для указания адреса устройства рекламодателя.

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

Тип адреса целевого устройства, заданный как 'Random' или 'Public' для указания типа адреса целевого устройства при передаче направленного рекламного пакета.

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

Адрес целевого устройства, заданный как 12-элементный вектор символов или строковый скаляр, обозначающий шестиоктетное шестнадцатеричное значение для указания адреса целевого устройства при передаче направленного рекламного пакета.

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

Тип адреса устройства сканера, заданный как 'Random' или 'Public' для указания типа адреса устройства сканера при передаче пакета запроса скана.

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

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

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

Тип адреса устройства инициатора, заданный как 'Random' или 'Public' для указания типа адреса устройства инициатора при передаче пакета индикации соединения.

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

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

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

Рекламные данные, указанные как одно из следующих значений:

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

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

  • Числовой вектор элементов в области значений [0,31] - Этот вектор представляет октеты в десятичном формате.

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

Это свойство указывает рекламные данные, которые устройство отправляет в рекламном пакете.

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

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

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

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

  • Числовой вектор элементов в области значений [0,31] - Этот вектор представляет октеты в десятичном формате.

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

Это свойство указывает данные отклика скана, которые устройство отправляет в пакете отклика скана (когда получен запрос скана).

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

Уникальный адрес подключения, заданный как вектор символов с восемью элементами или строковый скаляр. Это свойство указывает уникальный 32-битный адрес, генерируемый LL для нового соединения или для периодического объявления между двумя устройствами.

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

Значение инициализации CRC, заданное как шестиэлементный вектор символов или строковый скаляр, обозначающий шестнадцатеричное значение с тремя октетами. Это свойство используется в качестве значения инициализации для вычисления CRC.

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

Передайте размер окна, заданный как неотрицательное целое число в области значений [1, Mws], где Mws меньше 8 и ConnectionInterval-1. Это свойство указывает размер окна, в котором мастер передает пакет данных, а ведомый сервер прослушивает пакет данных после установления соединения. Каждый модуль измерения принимается равной 1,25 мс, так что размер окна (WindowSize× 1,25) находится в области значений от 1,25 мс до минимума (10 мс, ((ConnectionInterval× 1,25) - 1,25) мс).

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

Передайте смещение окна, заданное как неотрицательное целое число в области значений [0, Mwo], где Mwo меньше 3200 и ConnectionInterval. Это свойство указывает смещение окна, после которого начинается окно передачи. Каждый модуль принимается равной 1,25 мс, так что полученное смещение окна (WindowOffset× 1,25) находится в области значений от 0 мс до (ConnectionInterval× 1,25) мс.

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

Интервал соединения, заданный как положительное целое число в области значений [6, 3200]. Это свойство указывает интервал между началом двух последовательных событий соединения. Каждый модуль принимается за 1,25 мс, так что полученный интервал соединения (ConnectionInterval× 1,25) находится в области значений от 7,5 мс до 4,0 с.

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

Задержка ведомого сигнала, заданная как неотрицательное целое число в области значений [0, Msl], где Msl является меньшим из 499 и (ConnectionInterval×10) / ((ConnectionInterval×1.25) ×2))-1. Это свойство указывает количество событий соединения, которые ведомый может пропустить прослушивание пакетов от ведущего.

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

Тайм-аут наблюдения соединения, заданный как положительное целое число в область значений [Mct, 3200], где Mct является большим из 10 и ((1 + SlaveLatency) × (ConnectionInterval×1.25) ×2)/10. Это свойство указывает тайм-аут для соединения, если в течение этого времени не получен допустимый пакет. Каждый модуль принимается за 10 мс, так что полученное время ожидания соединения (ConnectionInterval× 10) находится в области значений от 100 мс до 32,0 с.

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

Список используемых каналов данных, заданный в виде целого вектора со значениями элементов в области значений [0, 36]. Длина вектора должна быть больше 1. По крайней мере, два канала должны быть установлены как используемые (хорошие) каналы. Это свойство указывает набор хороших каналов, классифицированных ведущим.

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

Счетчик шага, заданный как целое число в области значений [5, 16]. Это свойство указывает счетчик шага, который используется для скачкообразного переключения между каналами данных.

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

Точность мастер-часов сна, заданная как вектор символов или строковый скаляр, указывающий на худшую точность мастер-часов сна. Можно задать SleepClockAccuracy как одно из следующих значений:

  • '251 to 500 ppm'

  • '151 to 250 ppm'

  • '101 to 150 ppm'

  • '76 to 100 ppm'

  • '51 to 75 ppm'

  • '31 to 50 ppm'

  • '21 to 30 ppm'

  • '0 to 20 ppm'

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

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

расширить все

bleLLAdvertisingChannelPDUСгенерируйте рекламный канал BLE LL PDU
bleLLAdvertisingChannelPDUDecodeДекодируйте рекламный канал BLE LL PDU

Примеры

свернуть все

Создайте объект строения рекламного канала BLE LL и просмотрите соответствующие свойства по умолчанию.

cfgLLAdv = bleLLAdvertisingChannelPDUConfig
cfgLLAdv = 
  bleLLAdvertisingChannelPDUConfig with properties:

                  PDUType: 'Advertising indication'
         ChannelSelection: 'Algorithm1'
    AdvertiserAddressType: 'Random'
        AdvertiserAddress: '0123456789AB'
          AdvertisingData: [3x2 char]

Создайте два уникальных объекта строения рекламного канала BLE LL типа 'Scan response' и 'Connection indication' использование пар "имя-значение".

Создайте объект строения PDU рекламного канала BLE LL, 'cfgLLAdv', путем установки значений типа PDU следующим 'Scan response', адрес рекламодателя как '1234567890AB', и сканировать данные отклика как '020106020AD3' использование пар "имя-значение". Просмотрите соответствующие свойства.

cfgLLAdv = bleLLAdvertisingChannelPDUConfig(...
    'PDUType','Scan response', ...
    'AdvertiserAddress','1234567890AB', ...
    'ScanResponseData','020106020AD3')
cfgLLAdv = 
  bleLLAdvertisingChannelPDUConfig with properties:

                  PDUType: 'Scan response'
         ChannelSelection: 'Algorithm1'
    AdvertiserAddressType: 'Random'
        AdvertiserAddress: '1234567890AB'
         ScanResponseData: [6x2 char]

Создайте другой объект строения PDU рекламного канала BLE LL, 'cfgLLAdv', и измените тип PDU на 'Connection indication'. Установите значения интервала соединения следующим 64 и набор каналов данных как [0 4 12 16 18 24 25]. Просмотрите соответствующие свойства.

cfgLLAdv = bleLLAdvertisingChannelPDUConfig('PDUType', ...
    'Connection indication');
cfgLLAdv.ConnectionInterval = 64;
cfgLLAdv.UsedChannels       = [0 4 12 16 18 24 25]
cfgLLAdv = 
  bleLLAdvertisingChannelPDUConfig with properties:

                  PDUType: 'Connection indication'
         ChannelSelection: 'Algorithm1'
    AdvertiserAddressType: 'Random'
        AdvertiserAddress: '0123456789AB'
     InitiatorAddressType: 'Random'
         InitiatorAddress: '0123456789CD'
            AccessAddress: '01234567'
        CRCInitialization: '012345'
               WindowSize: 1
             WindowOffset: 0
       ConnectionInterval: 64
             SlaveLatency: 0
        ConnectionTimeout: 10
             UsedChannels: [0 4 12 16 18 24 25]
             HopIncrement: 5
       SleepClockAccuracy: '251 to 500 ppm'

Создайте объект строения PDU рекламного канала BLE LL, 'cfgTx'. Установите значения типа PDU следующим 'Connection indication', интервал соединения как 8, и набор каналов данных как [0 4 12 16 18 24 25].

cfgTx = bleLLAdvertisingChannelPDUConfig('PDUType', ...
    'Connection indication');
cfgTx.ConnectionInterval = 8;
cfgTx.UsedChannels       = [0 4 12 16 18 24 25]
cfgTx = 
  bleLLAdvertisingChannelPDUConfig with properties:

                  PDUType: 'Connection indication'
         ChannelSelection: 'Algorithm1'
    AdvertiserAddressType: 'Random'
        AdvertiserAddress: '0123456789AB'
     InitiatorAddressType: 'Random'
         InitiatorAddress: '0123456789CD'
            AccessAddress: '01234567'
        CRCInitialization: '012345'
               WindowSize: 1
             WindowOffset: 0
       ConnectionInterval: 8
             SlaveLatency: 0
        ConnectionTimeout: 10
             UsedChannels: [0 4 12 16 18 24 25]
             HopIncrement: 5
       SleepClockAccuracy: '251 to 500 ppm'

Сгенерируйте BLE LL рекламный канал PDU с помощью соответствующего объекта строения.

pdu = bleLLAdvertisingChannelPDU(cfgTx);

Декодируйте сгенерированный BLE LL рекламный канал PDU. Возвращенное состояние указывает, что декодирование успешно. Просмотрите выходные данные 'status' и 'cfgRx'.

[status, cfgRx] = bleLLAdvertisingChannelPDUDecode(pdu)
status = 
Success
cfgRx = 
  bleLLAdvertisingChannelPDUConfig with properties:

                  PDUType: 'Connection indication'
         ChannelSelection: 'Algorithm1'
    AdvertiserAddressType: 'Random'
        AdvertiserAddress: '0123456789AB'
     InitiatorAddressType: 'Random'
         InitiatorAddress: '0123456789CD'
            AccessAddress: '01234567'
        CRCInitialization: '012345'
               WindowSize: 1
             WindowOffset: 0
       ConnectionInterval: 8
             SlaveLatency: 0
        ConnectionTimeout: 10
             UsedChannels: [0 4 12 16 18 24 25]
             HopIncrement: 5
       SleepClockAccuracy: '251 to 500 ppm'

Ссылки

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

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

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.
Введенный в R2019b