MQTT

Драйвер устройства MQTT позволяет AggreGate Server подключаться к брокеру MQTT и подписываться на темы (topics). Полученные сообщения представлены как события устройства.

MQTT – протокол обмена сообщениями стандарта ISO типа "издатель/подписчик" , используемый в добавок к протоколу TCP/IP.

Информация о драйвере

ID плагина драйвера:

com.tibbo.linkserver.plugin.device.mqtt

Общие настройки

Не определены.

Настройки уровня пользователя

Не определены.

Свойства device

Настройки подключения

Настройки подключения определяют, как AggreGate Server взаимодействует с MQTT брокером. Данные настройки доступны через опцию Редактировать свойства аккаунта устройства контекста Device. Доступны следующие свойства подключения:

Настройка

Описание

Метод подключения

Определяет, как устройство устанавливает соединение с брокером MQTT. Возможны следующие варианты:

  • TCP: стандартный, незашифрованный метод соединения с использованием TCP, подходящий для локальных сетей, где безопасность не имеет решающего значения.

  • SSL/TLS: безопасное, зашифрованное соединение с использованием SSL/TLS, защищающее данные, передаваемые между клиентом и брокером, и необходимое для конфиденциальных данных через ненадежные сети.

  • WebSocket: использует протокол WebSocket для постоянной двунаправленной связи, часто применяемый в веб-браузерах, но не имеющий встроенного шифрования.

  • Secure WebSocket: объединяет WebSockets с шифрованием SSL/TLS, обеспечивая безопасные и постоянные соединения для веб-приложений MQTT, обрабатывающих конфиденциальные данные.

Адрес брокера

IP адрес или имя хоста брокера MQTT.

Порт

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

Темы

Таблица тем и параметров Качества услуг (QoS (Quality of Service)). Темы поддерживают подстановочные знаки. Параметр QoS может быть выставлен на 0, 1 или 2.

  • QoS 0 показывает, что сообщение должно быть доставлено не более одного раза (ноль или один раз).

  • QoS 1 показывает, что сообщение должно быть доставлено не менее одного раза (один или более раз).

  • QoS 2 показывает, что сообщение должно быть доставлено только один раз.

Формат данных сообщения

Тип данных поля Данные сообщения событий Message. Возможные типы:

  • Текстовое поле Данные сообщения событий Message будет содержать текст полученного сообщения.

  • Двоичное поле Данные сообщения событий Message будет содержать необработанные данные полученных сообщений в формате Data Block.

ID клиента

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

Чистая сессия

Устанавливает, должен ли клиент и сервер запоминать состояние при перезапуске и переподключении. Если уставлено на false, и клиент и сервер будут сохранять состояние при перезагрузке клиента, сервера и переподключении. Доставка сообщений будет надежной и отвечать указанному QoS, даже при перезапуске клиента, сервера или соединения. Если уставлено на true, клиент и сервер не сохранят состояние при перезагрузке клиента, сервера или подключения.

Интервал Keep Alive

Это значение, измеряемое в секундах, определяет максимумальный временной интервал между отправленными или полученными сообщениями. Это позволяет клиенту определить, что сервер больше недоступен, без необходимости ждать таймаута TCP/IP. Клиент обеспечит то, что по крайней мере одно сообщение находится в сети в пределах каждого интервала keep alive. При отсутствии сообщения с данными в пределах временного периода, клиент посылает очень маленькое  "пинг" сообщение, которое будет подтверждено сервером. Значение 0 отменяет обработку параметра в клиенте.
Значение по умолчанию – 60 секунд.

Таймаут подключения

Устанавливает значение таймаута подключения. Это значение, измеряемое в секундах, определяет максимальный временной интервал, в течение которого клиент будет ожидать установления подключения к серверу MQTT. Таймаут по умолчанию – 30 секунд. Значение 0 отменяет обработку таймаута. Это означает, что клиент будет ждать до тех пор, пока подключение не установится или будет отклонено.

Политика доверия сертификатов

Определяет способ проверки сертификатов, предоставленных через соединение SSL/TLS.

Сертификат

Псевдоним сертификата SSL/TLS для использования при аутентификации. Сертификат с этим псевдонимом должен существовать в хранилище клиентских сертификатов сервера.

Имя пользователя

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

Пароль

Пароль, который используется для подключения к брокеру MQTT.

Включить офлайн буфер

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

Размер буфера

Максимальное число сообщений, которые могут храниться в буфере.

Удалять наиболее старые сообщения

Определяет, будут ли удаляться наиболее старые сообщения, когда количество сообщений в буфере достигает максимума. Если это значение false, будут игнорироваться сообщения сверх установленного максимума. 

Активы device

Драйвер не поддерживает активы.

Настройки device

Драйвер устройства MQTT создает одну переменную настроек Device:

Имя переменной

Описание переменной

Комментарии

messageCount

Количество сообщений

Количество полученных сообщений. Значение обновляется после каждой синхронизации. При переподключении количество становится снова 0.

clientID

ID клиента

Идентификатор клиента, связанный с этим устройством.

Операции device

Опубликовать текстовое сообщение

Отправить текстовое сообщение брокеру.

У формата функции параметров входа есть следующие поля:

Имя

Тип

Описание

Topic

Строка

Тема, относительно которой будет опубликовано сообщение.

QoS

Целочисленное

Количество уровня сервиса. Валидные значения 0, 1 или 2.

Retained

Булевое

Должны сохраняться или нет сообщения брокером.

Message

Строка

Текстовое сообщение для отправки.

У функций нет параметров выхода.

Опубликовать двоичное сообщение

Отправьте брокеру двоичное сообщение.

Формат входных параметров функции имеет следующие поля:

Имя

Тип

Описание

Topic

Строка

Тема, относительно которой будет опубликовано сообщение.

QoS

Целочисленное

Количество уровня сервиса. Валидные значения 0, 1 или 2.

Retained

Булевое

Следует ли сохранять сообщение у брокера.

Message

Блок данных

Двоичное сообщение с данными для отправки.

У функций нет параметров выхода.

События device

Сообщение

Запускается, когда AggreGate Server получает входящее сообщение MQTT.

Имя события

message

Записи:

1

Формат записи:

Имя поля

Тип поля

Заметки

topic

String

Тема, относительно которой должно быть опубликовано сообщение.

message

String

Текст сообщения, если сообщение было опубликовано в виде строки.

messageData

Data Block

Блок данных сообщения, если сообщение было опубликовано в виде двоичных данных.

id

String

Идентификатор сообщения.

qos

Integer

QoS, связанное с сообщением.

retained

Boolean

Было ли сообщение сохранено брокером.

duplicate

Boolean

Является ли это сообщение дубликатом.

Подключение

Данный драйвер переводит устройство в режим онлайн, если было установлено соединение с брокером MQTT.

Was this page helpful?