Описание параметров в конфигурационном файле MqttPublisherSettings-0.json

18 мая 2023

ID 240940

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

Параметры в файле MqttPublisherSettings-0.json

Имя параметра

Обязательный параметр

Описание

Возможные значения и примечания

id

Да

Идентификатор клиента MQTT, который будет отправлять данные в MQTT-брокер.

0.

Значение этого параметра должно совпадать со значением параметра sendingHubId в конфигурационном файле GuideSettings-0.json.

name

Да

Имя клиента MQTT, который будет отправлять данные в MQTT-брокер.

<MQTT Publisher name>.

Пример: Kaspersky IoT Secure Gateway 100 MQTT Publisher.

description

Нет

Описание клиента MQTT, который будет отправлять данные в MQTT-брокер.

<MQTT Publisher description>.

Пример: Transfer data to MQTT Broker by Kaspersky IoT Secure Gateway 100.

clientId

Нет

Уникальный идентификатор клиента MQTT.

1.

Внутренняя архитектура Kaspersky IoT Secure Gateway 100 предполагает взаимодействие между принимающим и отправляющим концентратором. Параметр id связан с отправляющим концентратором. Параметр clientId связан с требованиями протокола MQTT и определяет идентификатор клиента MQTT в рамках этого протокола.

Значение clientId должно быть уникальным среди всех подключенных к MQTT-брокеру клиентов.

serverUri

Да

Адрес сервера, к которому будет подключаться клиент MQTT.

<схема>://<хост>:<порт>.

Пример: ssl://192.168.188.8:8883.

ssl – схема обращения к ресурсу, предусмотренная архитектурой.

8883 – порт по умолчанию.

security

Да

Блок параметров для настройки безопасного соединения. Содержит блоки параметров clientPkiData и trustStore.

Блок параметров {clientPkiData, trustStore}.

В блоке параметров security указываются сертификаты и криптографические ключи для цифровой подписи и шифрования данных.

clientPkiData

Да

Блок параметров с именами файлов сертификата и закрытого криптографического ключа клиента MQTT для безопасного соединения.

Блок параметров {certificate, privateKey}.

certificate

Да

Имя файла, содержащего цепочку сертификатов до сертификата клиента MQTT.

mqtt-publisher.crt.

privateKey

Да

Имя файла закрытого криптографического ключа.

mqtt-publisher.key.

Длина ключа должна составлять не менее 2048 бит.

trustStore

Да

Массив, который содержит имя файла, содержащего цепочку сертификатов до сертификата MQTT-брокера.

ca-bundle.crt.

Имя файла, содержащего цепочку сертификатов до сертификата удостоверяющего центра, который подписывал сертификат MQTT-брокера.

userCredentials

Да

Блок параметров, который отвечает за аутентификацию клиента MQTT на сервере.

  • Блок параметров {username, password} с учетными данными пользователя.
  • null – указывается, если вы хотите разрешить анонимное подключение клиента MQTT к MQTT-брокеру. В этом случае не требуется заполнять поля username и password.

username

Нет

Имя учетной записи пользователя для авторизации на сервере MQTT.

<username>.

password

Нет

Пароль учетной записи пользователя для авторизации на сервере MQTT.

<password>.

lastWill

Нет

Блок параметров для настройки сообщения, которое уведомляет о некорректном отключении клиента (LWT-сообщение).

Блок параметров {topicName, message}.

Клиент может указать LWT-сообщение при первом подключении к MQTT-брокеру. MQTT-брокер хранит это сообщение до тех пор, пока не обнаружит некорректное отключение клиента, а при обнаружении – отправит LWT-сообщение всем клиентам, подписавшимся на получение такого сообщения. При корректном отключении клиента, MQTT-брокер не отправляет такое сообщение.

topicName

Нет

Название MQTT-топика, который определяет информационный канал, на котором публикуется LWT-сообщение.

<topicName>.

Пример: LastWill.

message

Нет

Содержание LWT-сообщения.

<message>.

Пример: LastMessage.

keepAlive

Нет

Интервал, в течение которого MQTT-брокер может не получать сообщения от клиента MQTT и при этом не разрывать соединение.

800.

Значение по умолчанию: 120.

Возможные значения: 065535.

Если значение keepAlive равно нулю, сервер не будет обязан отключать клиента на основании бездействия клиента.

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

qualityOfService

Нет

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

1.

Соглашение между отправителем сообщения (издателем) и получателем сообщения (подписчиком), которое определяет гарантию доставки для конкретного сообщения. В спецификации MQTT определены три уровня qualityOfService:

  • 0 – не более одного раза: клиент публикует сообщения, не проверяя факт доставки до брокера. Сообщения могут быть потеряны или продублированы.
  • 1 – по крайней мере один раз: брокер подтверждает доставку. Сообщения могут дублироваться, но доставка гарантирована.
  • 2 – ровно один раз: обеспечивается гарантированная доставка сообщения, при этом исключается возможное дублирование.

Значение по умолчанию: 1.

topics

Да

Массив из блоков параметров MQTT-топиков.

Массив блоков параметров [{id, name, topicName}].

Отдельный блок параметров в массиве заполняется для каждого MQTT-топика.

id

Да

Идентификатор целевого порта.

<id>.

Пример: 0.

name

Да

Имя целевого порта. Должно совпадать с именем исходящего порта name одного из узлов данных сервера OPC UA, указанным в блоке параметров nodes в конфигурационном файле OpcUaClientSettings-0.json.

<name>.

Пример: Temperature.

Для корректной передачи данных от сервера OPC UA в MQTT-брокер, требуется сопоставить MQTT-топики и соответствующие им узлы данных OPC UA. Сопоставление осуществляется по значению name.

topicName

Да

Название MQTT-топика.

<topicName>.

Пример: Heartbeat.

См. также: Особенности заполнения названий MQTT-топиков.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!