D-Bus интерфейс mesh.ProvisionAgent1
Интерфейс для управления агентом поставщика.
Шина: | системная |
Служба: | уникальное имя |
Объект: | свободно определяемый |
Интерфейс: | org.bluez.mesh.ProvisionAgent1 |
Свойства
- Capabilities : array{string} [только для чтения]
- OutOfBandInfo : array{string} [только для чтения, опциональный]
- URI : string [только для чтения, опциональный]
Методы
- Cancel()
- DisplayNumeric(string type, uint32 number)
- DisplayString(string value)
- array{byte} PrivateKey()
- uint32 PromptNumeric(string type)
- array{byte}[16] PromptStatic(string type)
- array{byte} PublicKey()
Подробное описание
Интерфейс содержит методы и свойства для управления агентом поставщика.
Описание свойств
Capabilities : array{string} [только для чтения]
Массив строк со следующими допустимыми значениями: blink
, beep
, vibrate
, out-numeric
,
out-alpha
, push
, twist
, in-numeric
, in-alpha
, static-oob
, public-oob
.
OutOfBandInfo : array{string} [только для чтения, опциональный]
Указывает на доступность данных OOB.
Массив строк со следующими допустимыми значениями: other
, uri
, machine-code-2d
, bar-code
,
nfc
, number
, string
, on-box
, in-box
, on-paper
, in-manual
, on-device
.
URI : string [только для чтения, опциональный]
Унифицированный идентификатор ресурса указывает на внеполосную (OOB) информацию (например, открытый ключ).
Описание методов
Cancel()
Метод вызывается демоном для отмены любых существующих запросов агента. При его вызове любой ожидающий пользовательский ввод должен быть отменён, а любые запросы на отображение удалены.
DisplayNumeric(string type, uint32 number)
Метод вызывается, когда у демона есть что-то важное для агента, которое нужно отобразить, но не требуется никакого дополнительного локального ввода. Например: «Введите 14939264 на удалённом устройстве».
Аргумент type
указывает метод отображения.
Допустимые значения:
blink
- локальное мигание светодиода;
beep
- локальный шум;
vibrate
- локальная вибрация;
out-numeric
- показ значения для удалённого ввода;
push
- запрос нажатия на удалённую кнопку;
twist
- запрос поворотов на пульте дистанционного управления.
Аргумент number
— это конкретное значение, представленное подсказкой.
DisplayString(string value)
Метод вызывается, когда у демона есть что-то важное для агента, которое нужно отобразить, но не требуется никакого дополнительного локального ввода. Например: «Введите «ABCDE» на удалённом устройстве».
array{byte} PrivateKey()
Метод вызывается во время подготовки, если поставщик запросил внеполосный обмен ключами ECC. Закрытый ключ возвращается демону, а открытый ключ доставляется удалённому поставщику с использованием метода, не задействующего систему Bluetooth Mesh. Возвращаемый закрытый ключ должен иметь размер 32 октета, иначе процедура подготовки завершится ошибкой и будет отменена.
Метод будет вызываться только в том случае, если поставщик запросил предварительно определённые ключи для внеполосного обмена, а локальная роль — неинициализированное устройство.
uint32 PromptNumeric(string type)
Метод вызывается, когда демон запрашивает у пользователя десятичное значение от 1
до 99999999
.
Аргумент type
указывает метод отображения.
Допустимые значения:
blink
- ввести количество миганий светодиода на пульте дистанционного управления;
beep
- ввести количество звуковых сигналов удалённого устройства;
vibrate
- ввести количество вибраций удалённого устройства;
out-numeric
- ввести удалённо отображаемое значение;
push
- нажать локальную кнопку удалённо запрошенное количество раз;
twist
- повернуть локальный рычаг удалённо запрошенное количество раз.
Агент должен запрашивать у пользователя определённый ввод. Например: «Введите значение, отображаемое удалённым устройством».
array{byte}[16] PromptStatic(string type)
Метод вызывается, когда демону требуется массив байтов из 16 октетов в качестве внеполосной аутентификации.
Аргумент type
указывает метод ввода.
Допустимые значения:
static-oob
- возвращает 16-октетный массив;
in-alpha
- возвращает 16-октетный альфа-массив.
Возвращаемые статические данные должны иметь размер 16 октетов, иначе процедура инициализации
завершится ошибкой и будет отменена.
Если тип ввода in-alpha
, печатаемые символы должны быть выровнены по левому краю,
а оставшиеся байты должны быть заполнены завершающими октетами 0x00.
array{byte} PublicKey()
Метод вызывается во время подготовки, если локальное устройство является поставщиком и запрашивает внеполосный обмен ключами ECC. Открытый ключ возвращается демону, который является совпадающей парой закрытого ключа удалённого устройства. Возвращаемый открытый ключ должен иметь размер 64 октета, иначе процедура инициализации завершится ошибкой и будет отменена.
Метод будет вызываться только в том случае, если поставщик запросил предварительно определённые ключи для внеполосного обмена, а локальная роль — поставщик.