Документация
ОС Аврора 5.1.5

D-Bus интерфейс mesh.Node1

Интерфейс позволяет управлять mesh-узлом.

Шина: системная
Служба: org.bluez.mesh
Объект: /org/bluez/mesh/node<uuid>
Интерфейс: org.bluez.mesh.Node1

Свойства

  • Addresses : array{uint16} [только для чтения]
  • Beacon : boolean [только для чтения]
  • Features : dict [только для чтения]
  • IvIndex : uint32 [только для чтения]
  • IvUpdate : boolean [только для чтения]
  • SecondsSinceLastHeard : uint32 [только для чтения]
  • SequenceNumber : uint32 [только для чтения]

Методы

  • AddAppKey(object element_path, uint16 destination, uint16 app_index, uint16 net_index, boolean update)
  • AddNetKey(object element_path, uint16 destination, uint16 subnet_index, uint16 net_index, boolean update)
  • DevKeySend(object element_path, uint16 destination, boolean remote, uint16 net_index, dict options, array{byte} data)
  • Publish(object element_path, uint16 model, dict options, array{byte} data)
  • Send(object element_path, uint16 destination, uint16 key_index, dict options, array{byte} data)

Подробное описание

Интерфейс содержит методы и свойства для управления mesh-узлом.

<uuid> в пути к объекту — это UUID устройства, переданный в Join(), CreateNetwork() или Import().

Описание свойств

Addresses : array{uint16} [только для чтения]

Свойство содержит индивидуальные адреса элементов узла.

Beacon : boolean [только для чтения]

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

Features : dict [только для чтения]

Словарь, содержащий информацию о поддержке функциональности. Определены следующие ключи:

boolean Friend
возможность установить соединение с узлом Low Power;
boolean LowPower
поддержка работы в режиме узла с низким энергопотреблением;
boolean Proxy
поддержка прокси-сервера GATT;
boolean Relay
поддержка ретрансляции сообщений.

Если ключ отсутствует в словаре, функциональность не поддерживается. Значение true означает, что функциональность включена, а значение false означает, что функциональность отключена.

IvIndex : uint32 [только для чтения]

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

IvUpdate : boolean [только для чтения]

Значение true указывает, что сеть находится в середине процедуры обновления индекса IV. Эта информация полезна только для подготовки.

SecondsSinceLastHeard : uint32 [только для чтения]

Свойство можно прочитать в любое время, чтобы определить количество секунд, прошедших с момента последнего обнаружения уровня трафика в сети этого узла.

SequenceNumber : uint32 [только для чтения]

Свойство может быть прочитано в любое время для определения порядкового номера.

Описание методов

AddAppKey(object element_path, uint16 destination, uint16 app_index, uint16 net_index, boolean update)

Метод используется для отправки сетевого ключа добавления или обновления, созданного локальным клиентом конфигурации, на удалённый сервер конфигурации.

Аргумент element_path — это путь к элементу из набора элементов приложения.

Аргумент destination содержит адрес назначения. Он должен иметь тип uint16 для индивидуального адреса или общеизвестного группового адреса.

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

Аргумент net_index — это индекс подсети, в которой должно быть отправлено сообщение.

Аргумент update указывает, является ли это дополнением или обновлением. Если он равен true, ключ подсети должен находиться на этапе 1 процедуры обновления ключа.

Возможные ошибки:

  • org.bluez.mesh.Error.InvalidArguments,
  • org.bluez.mesh.Error.NotFound.
AddNetKey(object element_path, uint16 destination, uint16 subnet_index, uint16 net_index, boolean update)

Метод используется для отправки сетевого ключа добавления или обновления, созданного локальным клиентом конфигурации, на удалённый сервер конфигурации.

Аргумент element_path — это путь к элементу из набора элементов приложения.

Аргумент destination содержит адрес назначения. Он должен иметь тип uint16 для индивидуального адреса или общеизвестного группового адреса.

Аргумент subnet_index относится к индексу подсети добавляемой или обновляемой сети. Этот ключ должен существовать в локальной базе данных ключей.

Аргумент net_index — это индекс подсети, в которой должно быть отправлено сообщение.

Аргумент update указывает, является ли это дополнением или обновлением. Если он равен true, ключ подсети должен находиться на этапе 1 процедуры обновления ключа.

Возможные ошибки:

  • org.bluez.mesh.Error.InvalidArguments,
  • org.bluez.mesh.Error.NotFound.
DevKeySend(object element_path, uint16 destination, boolean remote, uint16 net_index, dict options, array{byte} data)

Метод используется для отправки сообщения, созданного локальной моделью, закодированного ключом устройства удалённого узла.

Аргумент element_path — это путь к элементу из набора элементов приложения.

Аргумент destination содержит адрес назначения. Он должен иметь тип uint16 для индивидуального адреса или общеизвестного группового адреса.

Аргумент remote, если он равен true, ищет ключ устройства по адресу назначения в базе данных ключей для шифрования сообщения. Если значение remote равно true, но запрошенный ключ не существует, будет возвращена ошибка NotFound. Если установлено значение false, используется ключ устройства локального узла.

Аргумент net_index — это индекс подсети, в которой должно быть отправлено сообщение.

Аргумент options представляет собой словарь со следующими ключами:

bool ForceSegmented
указывает, следует ли принудительно отправлять короткое сообщение как односегментную полезную нагрузку. Если он отсутствует, по умолчанию используется значение false.

Аргумент data — это исходящее сообщение, которое должно быть зашифровано демоном bluetooth-meshd и отправлено.

Возможные ошибки:

  • org.bluez.mesh.Error.InvalidArguments,
  • org.bluez.mesh.Error.NotFound.
Publish(object element_path, uint16 model, dict options, array{byte} data)

Метод используется для отправки публикации, созданной локальной моделью. Если модель не существует или у неё нет записи о публикации, метод возвращает ошибку org.bluez.mesh.Error.DoesNotExist.

Аргумент element_path — это путь к элементу из набора элементов приложения.

Аргумент model содержит идентификатор модели, определённый Bluetooth SIG. Если словарь options содержит ключ Vendor, то этот идентификатор определяется указанным поставщиком.

Аргумент options представляет собой словарь со следующими ключами:

bool ForceSegmented
указывает, следует ли принудительно отправлять короткое сообщение как односегментную полезную нагрузку. Если он отсутствует, по умолчанию используется значение false.
uint16 Vendor
16-битный идентификатор компании, определённый Bluetooth SIG. Этот ключ должен существовать только при публикации модели, заданной поставщиком.

Аргумент data — это исходящее сообщение, которое должно быть зашифровано демоном bluetooth-meshd и отправлено.

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

Возможные ошибки:

  • org.bluez.mesh.Error.DoesNotExist,
  • org.bluez.mesh.Error.InvalidArguments.
Send(object element_path, uint16 destination, uint16 key_index, dict options, array{byte} data)

Метод используется для отправки сообщения, созданного локальной моделью.

Аргумент element_path — это путь к элементу из набора элементов приложения.

Аргумент destination содержит адрес назначения. Он должен иметь тип uint16 для индивидуального адреса или общеизвестного группового адреса.

Аргумент key_index определяет, какой ключ приложения использовать для шифрования сообщения. key_index должен быть допустимым для этого элемента, т. е. ключ приложения должен быть привязан к модели этого элемента. В противном случае будет возвращена ошибка org.bluez.mesh.Error.NotAuthorized.

Аргумент options представляет собой словарь со следующими ключами:

bool ForceSegmented
указывает, следует ли принудительно отправлять короткое сообщение как односегментную полезную нагрузку. Если он отсутствует, по умолчанию используется значение false.

Аргумент data — это исходящее сообщение, которое должно быть зашифровано демоном bluetooth-meshd и отправлено.

Возможные ошибки:

  • org.bluez.mesh.Error.NotAuthorized,
  • org.bluez.mesh.Error.InvalidArguments,
  • org.bluez.mesh.Error.NotFound.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.