Объект строения для BLE LL канала рекламы PDU
Требуется загрузка: Чтобы использовать bleLLAdvertisingChannelPDUConfig, сначала загрузите библиотеку Communications Toolbox™ для Bluetooth® Протокол. Для получения дополнительной информации см. раздел «Получение и управление дополнениями». Другой способ см. в разделе Библиотека Communications Toolbox для обмена файлами протокола Bluetooth.
The bleLLAdvertisingChannelPDUConfig
создает объект строения для Bluetooth low energy (BLE) ссылки слоя (LL) модуля данных протокола рекламного канала (PDU) с использованием значений по умолчанию и заданных значений. Вы можете сконфигурировать рекламный канал BLE LL PDU, используя применимые свойства bleLLAdvertisingChannelPDUConfig
.
создает объект строения, cfgLLAdv
= bleLLAdvertisingChannelPDUConfigcfgLLAdv
, для рекламного канала BLE LL PDU со значениями по умолчанию.
создает объект строения PDU рекламного канала BLE LL путем определения свойств с помощью одной или нескольких пар "имя-значение". Заключайте каждое имя свойства в кавычки. Для примера, cfgLLAdv
= bleLLAdvertisingChannelPDUConfig(Name,Value
)bleLLAdvertisingChannelPDUConfig('PDUType','Scan response')
настраивает cfgLLAdv
с типом BLE LL рекламного канала PDU следующим 'Scan response'
.
Примечание
Для получения дополнительной информации о свойствах PDU рекламного канала BLE LL и их соответствующих значениях смотрите том 6, часть B, раздел 2,3 Спецификации ядра Bluetooth [2].
PDUType
- Тип рекламного канала BLE LL PDU'Advertising indication'
(по умолчанию) | 'Advertising direct indication'
| 'Advertising non connectable indication'
| ...
Тип рекламного канала 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
ChannelSelection
- Алгоритм выбора канала'Algorithm1'
(по умолчанию) | 'Algorithm2'
Алгоритм выбора канала, заданный как 'Algorithm1'
или 'Algorithm2'
для указания типа алгоритма, используемого для скачкообразного переключения между каналами.
Типы данных: char
| string
AdvertiserAddressType
- Тип адреса устройства рекламодателя'Random'
(по умолчанию) | 'Public'
Тип адреса устройства рекламодателя, заданный как 'Random'
или 'Public'
для указания типа адреса рекламодателя в пакете.
Типы данных: char
| string
AdvertiserAddress
- Адрес устройства рекламодателя'0123456789AB'
(по умолчанию) | 12-элементный вектор символов | строковый скаляр, обозначающий шестиоктетное шестнадцатеричное значениеАдрес устройства рекламодателя, заданный как 12-элементный вектор символов или строковый скаляр, обозначающий шестиоктетовое шестнадцатеричное значение для указания адреса устройства рекламодателя.
Типы данных: char
| string
TargetAddressType
- Тип адреса целевого устройства'Random'
(по умолчанию) | 'Public'
Тип адреса целевого устройства, заданный как 'Random'
или 'Public'
для указания типа адреса целевого устройства при передаче направленного рекламного пакета.
Типы данных: char
| string
TargetAddress
- Адрес целевого устройства'0123456789CD'
(по умолчанию) | 12-элементный вектор символов | строковый скаляр, обозначающий шестиоктетное шестнадцатеричное значениеАдрес целевого устройства, заданный как 12-элементный вектор символов или строковый скаляр, обозначающий шестиоктетное шестнадцатеричное значение для указания адреса целевого устройства при передаче направленного рекламного пакета.
Типы данных: char
| string
ScannerAddressType
- Тип адреса устройства сканера'Random'
(по умолчанию) | 'Public'
Тип адреса устройства сканера, заданный как 'Random'
или 'Public'
для указания типа адреса устройства сканера при передаче пакета запроса скана.
Типы данных: char
| string
ScannerAddress
- Адрес устройства сканера'0123456789CD'
(по умолчанию) | 12-элементный вектор символов | строковый скаляр, обозначающий шестиоктетное шестнадцатеричное значениеАдрес устройства сканера, заданный как 12-элементный вектор символов или строковый скаляр, обозначающий шестиоктетное шестнадцатеричное значение для указания адреса устройства сканера при передаче пакета запроса скана.
Типы данных: char
| string
InitiatorAddressType
- Тип адреса устройства инициатора'Random'
(по умолчанию) | 'Public'
Тип адреса устройства инициатора, заданный как 'Random'
или 'Public'
для указания типа адреса устройства инициатора при передаче пакета индикации соединения.
Типы данных: char
| string
InitiatorAddress
- Адрес устройства инициатора'0123456789CD'
(по умолчанию) | 12-элементный вектор символов | строковый скаляр, обозначающий шестиоктетное шестнадцатеричное значениеАдрес устройства инициатора, заданный как 12-элементный вектор символов или строковый скаляр, обозначающий шестиоктетное шестнадцатеричное значение для указания адреса устройства инициатора при передаче пакета индикации соединения.
Типы данных: char
| string
AdvertisingData
- Рекламные данные'020106'
(по умолчанию) | символьный вектор | строковый скаляр | числовой вектор элементов в области значений [0,31] | n
-by-2 символьный массивРекламные данные, указанные как одно из следующих значений:
Вектор символов - Этот вектор представляет октеты в шестнадцатеричном формате.
Строковый скаляр - Этот скаляр представляет октеты в шестнадцатеричном формате.
Числовой вектор элементов в области значений [0,31] - Этот вектор представляет октеты в десятичном формате.
n
-by-2 символьный массив - каждая строка представляет октет в шестнадцатеричном формате.
Это свойство указывает рекламные данные, которые устройство отправляет в рекламном пакете.
Типы данных: char
| string
| double
ScanResponseData
- Скан данных отклика'020106'
(по умолчанию) | символьный вектор | строковый скаляр | числовой вектор элементов в области значений [0,31] | n
-by-2 символьный массивСканируйте данные отклика, заданные как одно из следующих значений:
Вектор символов - Этот вектор представляет октеты в шестнадцатеричном формате.
Строковый скаляр - Этот скаляр представляет октеты в шестнадцатеричном формате.
Числовой вектор элементов в области значений [0,31] - Этот вектор представляет октеты в десятичном формате.
n
-by-2 символьный массив - каждая строка представляет октет в шестнадцатеричном формате.
Это свойство указывает данные отклика скана, которые устройство отправляет в пакете отклика скана (когда получен запрос скана).
Типы данных: char
| string
| double
AccessAddress
- Уникальный адрес подключения'01234567'
(по умолчанию) | символьный вектор с восемью элементами или строковый скалярУникальный адрес подключения, заданный как вектор символов с восемью элементами или строковый скаляр. Это свойство указывает уникальный 32-битный адрес, генерируемый LL для нового соединения или для периодического объявления между двумя устройствами.
Типы данных: char
| string
CRCInitialization
- значение инициализации CRC'012345'
(по умолчанию) | шестиэлементный вектор символов | трехоктетным шестнадцатеричным значениемЗначение инициализации CRC, заданное как шестиэлементный вектор символов или строковый скаляр, обозначающий шестнадцатеричное значение с тремя октетами. Это свойство используется в качестве значения инициализации для вычисления CRC.
Типы данных: char
| string
WindowSize
- Размер окна передачи1
(по умолчанию) | неотрицательное целое числоПередайте размер окна, заданный как неотрицательное целое число в области значений [1, Mws], где Mws меньше 8 и ConnectionInterval
-1. Это свойство указывает размер окна, в котором мастер передает пакет данных, а ведомый сервер прослушивает пакет данных после установления соединения. Каждый модуль измерения принимается равной 1,25 мс, так что размер окна (WindowSize
× 1,25) находится в области значений от 1,25 мс до минимума (10 мс, ((ConnectionInterval
× 1,25) - 1,25) мс).
Типы данных: double
WindowOffset
- Смещение окна передачи0
(по умолчанию) | неотрицательное целое числоПередайте смещение окна, заданное как неотрицательное целое число в области значений [0, Mwo], где Mwo меньше 3200 и ConnectionInterval
. Это свойство указывает смещение окна, после которого начинается окно передачи. Каждый модуль принимается равной 1,25 мс, так что полученное смещение окна (WindowOffset
× 1,25) находится в области значений от 0 мс до (ConnectionInterval
× 1,25) мс.
Типы данных: double
ConnectionInterval
- Интервал соединения6 (7.5 ms)
(по умолчанию) | положительное целое числоИнтервал соединения, заданный как положительное целое число в области значений [6, 3200]. Это свойство указывает интервал между началом двух последовательных событий соединения. Каждый модуль принимается за 1,25 мс, так что полученный интервал соединения (ConnectionInterval
× 1,25) находится в области значений от 7,5 мс до 4,0 с.
Типы данных: double
SlaveLatency
- Задержка подчиненного устройства0
(по умолчанию) | неотрицательное целое числоЗадержка ведомого сигнала, заданная как неотрицательное целое число в области значений [0, Msl], где Msl является меньшим из 499 и (ConnectionInterval
×10) / ((ConnectionInterval
×1.25) ×2))-1. Это свойство указывает количество событий соединения, которые ведомый может пропустить прослушивание пакетов от ведущего.
Типы данных: double
ConnectionTimeout
- Тайм-аут наблюдения за подключением10
(по умолчанию) | положительное целое числоТайм-аут наблюдения соединения, заданный как положительное целое число в область значений [Mct, 3200], где Mct является большим из 10 и ((1 + SlaveLatency
) × (ConnectionInterval
×1.25) ×2)/10. Это свойство указывает тайм-аут для соединения, если в течение этого времени не получен допустимый пакет. Каждый модуль принимается за 10 мс, так что полученное время ожидания соединения (ConnectionInterval
× 10) находится в области значений от 100 мс до 32,0 с.
Типы данных: double
UsedChannels
- Список используемых каналов данныхrow vector containing the channel indices between [0:36]
(по умолчанию) | целочисленный вектор со значениями элементов в области значений [0, 36]Список используемых каналов данных, заданный в виде целого вектора со значениями элементов в области значений [0, 36]. Длина вектора должна быть больше 1. По крайней мере, два канала должны быть установлены как используемые (хорошие) каналы. Это свойство указывает набор хороших каналов, классифицированных ведущим.
Типы данных: double
HopIncrement
- Количество шагов скачка5
(по умолчанию) | положительное целое числоСчетчик шага, заданный как целое число в области значений [5, 16]. Это свойство указывает счетчик шага, который используется для скачкообразного переключения между каналами данных.
Типы данных: double
SleepClockAccuracy
- Точность мастер-часов сна'251 to 500 ppm'
(по умолчанию) | '151 to 250 ppm'
| '101 to 150 ppm'
| ...
Точность мастер-часов сна, заданная как вектор символов или строковый скаляр, указывающий на худшую точность мастер-часов сна. Можно задать 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/.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.