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

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

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

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

Методы

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

Интерфейс содержит методы для управления приложением: его узлами и подсетями, сканированием и ключами.

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

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

AddNode(array{byte}[16] uuid, dict options)

Метод используется приложением, которое поддерживает интерфейс org.bluez.mesh.Provisioner1, для добавления в сеть неинициализированного устройства c указанным uuid.

Аргумент uuid представляет собой 16-байтовый массив, содержащий UUID неинициализированного устройства, которое нужно добавить в сеть.

Аргумент options — это словарь, который может содержать дополнительную информацию о конфигурации (в настоящее время пустой для прямой совместимости).

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

  • org.bluez.mesh.Error.InvalidArguments,
  • org.bluez.mesh.Error.NotAuthorized.
CreateAppKey(uint16 net_index, uint16 app_index)

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

Аргумент net_index представляет собой 12-битное значение (0x001-0xFFF), указывающее, к какому сетевому ключу привязать ключ приложения.

Аргумент app_index — это 12-битное значение (0x000-0xFFF), указывающее, какой ключ приложения добавить.

Вызов метода влияет только на локальную базу данных ключей bluetooth-meshd.

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

  • org.bluez.mesh.Error.Failed,
  • org.bluez.mesh.Error.InvalidArguments,
  • org.bluez.mesh.Error.AlreadyExists,
  • org.bluez.mesh.Error.DoesNotExist.
CreateSubnet(uint16 net_index)

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

Аргумент net_index представляет собой 12-битное значение (0x001-0xFFF), указывающее, какой сетевой ключ добавить.

Вызов метода влияет только на локальную базу данных ключей bluetooth-meshd.

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

  • org.bluez.mesh.Error.Failed,
  • org.bluez.mesh.Error.InvalidArguments,
  • org.bluez.mesh.Error.AlreadyExists.
DeleteAppKey(uint16 app_index)

Метод используется приложением для удаления ключа приложения.

Аргумент app_index — это 12-битное значение (0x000-0xFFF), указывающее, какой ключ приложения нужно удалить.

Вызов метода влияет только на локальную базу данных ключей bluetooth-meshd.

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

  • org.bluez.mesh.Error.InvalidArguments.
DeleteRemoteNode(uint16 primary, uint8 count)

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

Аргумент primary указывает индивидуальный адрес удаляемого узла.

Аргумент count указывает количество элементов, назначенных удалённому узлу.

Вызов метода влияет только на локальную базу данных ключей bluetooth-meshd.

Ошибочно вызывать метод с диапазоном адресов, перекрывающимся с адресами локальных элементов.

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

  • org.bluez.mesh.Error.InvalidArguments.
DeleteSubnet(uint16 net_index)

Метод используется приложением для удаления подсети.

Аргумент net_index представляет собой 12-битное значение (0x001-0xFFF), указывающее, какой сетевой ключ удалить. Первичный сетевой ключ (0x000) удалить нельзя.

Вызов метода влияет только на локальную базу данных ключей bluetooth-meshd.

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

  • org.bluez.mesh.Error.InvalidArguments.
dict ExportKeys()

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

Метод возвращает словарь, содержащий информацию о ключах, хранящихся в связке. Для словаря определены следующие ключи:

  • array{struct} net_keys — сетевые ключи:
    • uint16 index — индекс подсети;
    • array{byte}[16] key;
    • dict — словарь, содержащий необязательную информацию со следующими ключами:
      • uint8 Phase — этап обновления ключа подсети;
      • array{byte}[16] OldKey;
      • array{struct} AppKeys:
        • uint16 index — индекс ключа приложения;
        • array{byte}[16] key;
        • dict — словарь с дополнительной информацией со следующими ключами:
          • array{byte}[16] OldKey.
  • array{struct} dev_keys — информация о ключах устройств для известных удалённых узлов в настроенной сети mesh:
    • uint16 unicast — адрес первичного элемента узла;
    • array{byte}[16] key.
ImportAppKey(uint16 net_index, uint16 app_index, array{byte}[16] app_key)

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

Аргумент net_index представляет собой 12-битное значение (0x001-0xFFF), указывающее, к какому сетевому ключу привязать ключ приложения.

Аргумент app_index — это 12-битное значение (0x000-0xFFF), указывающее, какой ключ приложения нужно импортировать.

Аргумент app_key представляет собой 16-байтовое значение импортируемого ключа.

Вызов метода влияет только на локальную базу данных ключей bluetooth-meshd.

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

  • org.bluez.mesh.Error.Failed,
  • org.bluez.mesh.Error.InvalidArguments,
  • org.bluez.mesh.Error.AlreadyExists,
  • org.bluez.mesh.Error.DoesNotExist.
ImportRemoteNode(uint16 primary, uint8 count, array{byte}[16] device_key)

Метод используется приложением для импорта удалённого узла, подготовленного внешним процессом.

Аргумент primary указывает индивидуальный адрес импортируемого узла.

Аргумент count указывает количество элементов, назначенных этому удалённому узлу.

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

Вызов метода влияет только на локальную базу данных ключей bluetooth-meshd.

Ошибочно вызывать метод с диапазоном адресов, перекрывающимся с адресами локальных элементов.

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

  • org.bluez.mesh.Error.Failed,
  • org.bluez.mesh.Error.InvalidArguments.
ImportSubnet(uint16 net_index, array{byte}[16] net_key)

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

Аргумент net_index представляет собой 12-битное значение (0x001-0xFFF), указывающее, какой сетевой ключ импортировать.

Аргумент net_key представляет собой 16-байтовое значение импортируемого сетевого ключа.

Вызов метода влияет только на локальную базу данных ключей bluetooth-meshd.

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

  • org.bluez.mesh.Error.Failed,
  • org.bluez.mesh.Error.InvalidArguments,
  • org.bluez.mesh.Error.AlreadyExists.
SetKeyPhase(uint16 net_index, uint8 phase)

Метод используется для установки этапа обновления ключа лавинной рассылки для данной подсети. При завершении процедуры важно выполнить CompleteAppKeyUpdate() для всех ключей приложения, которые были обновлены во время процедуры до установки этапа 3.

Аргумент net_index представляет собой 12-битное значение (0x001-0xFFF), указывающее, какую фазу подсети установить.

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

Допустимые значения:

  • 0 — отменить обновление ключа (может быть вызвано только из этапа 1 и никогда не должно вызываться после того, как новый ключ начал распространяться);
  • 1 — недопустимый аргумент (см. метод NetKeyUpdate());
  • 2 — перейти к этапу 2 (может быть вызван только из этапа 1);
  • 3 — завершить процедуру обновления ключа (может быть вызвана только из этапа 2).

Вызов метода влияет только на локальную базу данных ключей bluetooth-meshd. Приложение несёт ответственность за поддержание ключевых этапов обновления в соответствии со спецификацией профиля mesh.

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

  • org.bluez.mesh.Error.Failed,
  • org.bluez.mesh.Error.InvalidArguments,
  • org.bluez.mesh.Error.DoesNotExist.
UnprovisionedScan(dict options)

Метод используется приложением, которое поддерживает интерфейс org.bluez.mesh.Provisioner1, чтобы начать прослушивание (сканирование) неинициализированных устройств в области.

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

uint16 Seconds
Указывает количество секунд, в течение которых сканирование будет активным. Если установлено значение 0 или этот ключ отсутствует, то сканирование будет продолжаться до тех пор, пока не будут вызваны методы UnprovisionedScanCancel() или AddNode().

Каждый раз, когда появляется уникальный неподготовленный сигнал, метод ScanResult() в приложении будет вызываться с результатом.

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

  • org.bluez.mesh.Error.InvalidArguments,
  • org.bluez.mesh.Error.NotAuthorized,
  • org.bluez.mesh.Error.Busy.
UnprovisionedScanCancel()

Метод используется приложением, которое поддерживает интерфейс org.bluez.mesh.Provisioner1, чтобы прекратить прослушивание (сканирование) неинициализированных устройств в области.

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

  • org.bluez.mesh.Error.InvalidArguments,
  • org.bluez.mesh.Error.NotAuthorized.
UpdateAppKey(uint16 app_index)

Метод используется приложением для создания нового ключа приложения.

Аргумент app_index — это 12-битное значение (0x000-0xFFF), указывающее, какой ключ приложения нужно обновить. Следует обратить внимание, что подсеть, к которой привязан ключ, должна существовать и находиться на этапе 1.

Вызов метода влияет только на локальную базу данных ключей bluetooth-meshd.

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

  • org.bluez.mesh.Error.Failed,
  • org.bluez.mesh.Error.InvalidArguments,
  • org.bluez.mesh.Error.DoesNotExist,
  • org.bluez.mesh.Error.InProgress.
UpdateSubnet(uint16 net_index)

Метод используется приложением для создания нового ключа подсети и установки состояния обновления ключа на этап 1.

Аргумент net_index представляет собой 12-битное значение (0x001-0xFFF), указывающее, какой сетевой ключ обновить. Следует обратить внимание, что подсеть должна существовать до обновления.

Вызов метода влияет только на локальную базу данных ключей bluetooth-meshd.

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

  • org.bluez.mesh.Error.Failed,
  • org.bluez.mesh.Error.InvalidArguments,
  • org.bluez.mesh.Error.DoesNotExist,
  • org.bluez.mesh.Error.Busy.

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

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