MQTT
Драйвер устройства MQTT позволяет SberMobile Server подключаться к брокеру MQTT и подписываться на темы (topics). Полученные сообщения представлены как события устройства.
MQTT – протокол обмена сообщениями стандарта ISO типа "издатель/подписчик" , используемый в добавок к протоколу TCP/IP. |
Информация о драйвере
ID плагина драйвера: | com.tibbo.linkserver.plugin.device.mqtt |
Общие настройки
Не определены.
Настройки уровня пользователя
Не определены.
Свойства device
Настройки подключения
Настройки подключения определяют, как SberMobile Server взаимодействует с MQTT брокером. Данные настройки доступны через опцию Изменить свойства Device контекста Device. Доступны следующие свойства подключения:
Настройка | Описание | |
Адрес брокера | Адрес брокера MQTT. Он определен как URI. Поддерживаются два типа подключения: | |
Пример 1: | ||
Пример 2: | ||
Если порт не определен, MQTT будет использовать | ||
Темы | Таблица тем и параметров Качества услуг (QoS (Quality of Service)). Темы поддерживают подстановочные знаки. Параметр QoS может быть выставлен на 0, 1 или 2.
| |
Тип сообщения | Тип сообщений. Может быть текствым сообщением или сообщением с данными. | |
Имя пользователя | Имя пользователя, которое используется для подключения к брокеру MQTT. | |
Пароль | Пароль, который используется для подключения к брокеру MQTT. | |
ID клиента | Идентификатор каждого клиента, устанавливающего соединение с сервером. ID клиента должен быть уникальным для всех клиентов. Используется сервером для хранения данных, которые связаны с клиентом, поэтому важно, чтобы этот параметр оставался неизменным, когда запрашивается соединение с сервером в течение подписок или достоверных сообщений. По умолчанию ID клиента генерируется автоматически. | |
Clean Session | Устанавливает, должен ли клиент и сервер запоминать состояние при перезапуске и переподключении. Если уставлено на false, и клиент и сервер будут сохранять состояние при перезагрузке клиента, сервера и переподключении. Доставка сообщений будет надежной и отвечать указанному QoS, даже при перезапуске клиента, сервера или соединения. Если уставлено на true, клиент и сервер не сохранят состояние при перезагрузке клиента, сервера или подключения. | |
Интервал Keep Alive | Это значение, измеряемое в секундах, определяет максимумальный временной интервал между отправленными или полученными сообщениями. Это позволяет клиенту определить, что сервер больше недоступен, без необходимости ждать таймаута TCP/IP. Клиент обеспечит то, что по крайней мере одно сообщение находится в сети в пределах каждого интервала keep alive. При отсутствии сообщения с данными в пределах временного периода, клиент посылает очень маленькое "пинг" сообщение, которое будет подтверждено сервером. Значение 0 отменяет обработку параметра в клиенте. | |
Таймаут подключения | Устанавливает значение таймаута подключения. Это значение, измеряемое в секундах, определяет максимальный временной интервал, в течение которого клиент будет ожидать установления подключения к серверу MQTT. Таймаут по умолчанию – 30 секунд. Значение 0 отменяет обработку таймаута. Это означает, что клиент будет ждать до тех пор, пока подключение не установится или будет отклонено. | |
Версия MQTT | Устанавливает версию MQTT. Действие по умолчанию для подключения с версией 3.1.1, и возвращение к версии 3.1, если предыдущая отказала в работе. Версия 3.1.1 или 3.1 может быть выбрана специфически, без возвращения к предыдущей версии. | |
Максимальное количество сообщений в процессе передачи | Устанавливает максимальное количество сообщений, которые могут одновременно передаваться по сетевому потоку. Увеличение данного значения займет больше памяти, но может увеличить пропускную способность. Значение по умолчанию - 10. | |
Использовать SSL/TLS | Позволяет использовать TCP подключение, защищенное SSL/TLS. | |
Протокол | Имя использовуемого криптографического протокола (SSL, SSLv2, SSLv3, TLS, TLSv1, TLSv1.1 или TLSv1.2). | |
Тип хранилища | Тип файла хранилища ключей: JKS, JCEKS или PKCS12. | |
Файл хранилища | Путь к файлу хранилища, содержащему сертификаты клиента. Это путь к локальной файловой системе на машине, на которой работает SberMobile Server. | |
Путь к CA сертификату | Путь к файлу с CA сертификатом. | |
Путь к сертификату клиента | Путь к файлу с сертификатом клиента. | |
Пароль хранилища | Пароль для декодирования файла хранилища ключей. | |
Пароль менеджера ключей | Пароль для восстановления ключей в хранилище. | |
Включить буфер | Активирует использование офлайнового буфера сообщений для неподтвержденных сообщений. | |
Размер буфера | Максимальное число сообщений, которые могут храниться в буфере. | |
Удалять наиболее старые сообщения | Определяет, будут ли удаляться наиболее старые сообщения, когда количество сообщений в буфере достигает максимума. Если это значение false, буду игнорироваться сообщения сверх установленного максимума. |
Активы device
Драйвер не поддерживает активы.
Настройки device
Драйвер устройства MQTT создает одну переменную настроек Device:
Имя переменной | Описание переменной | Комментарии |
messageCount | Количество сообщений | Количество полученных сообщений. Значение обновляется после каждой синхронизации. При переподключении количество становится снова 0. |
Операции device
Опубликовать текстовое сообщение
Отправить текстовое сообщение брокеру.
У формата функции параметров входа есть следующие поля:
Имя | Тип | Описание |
Topic | Строка | Тема, относительно которой будет опубликовано сообщение. |
QoS | Целочисленное | Количество уровня сервиса. Валидные значения 0, 1 или 2. |
Retained | Булевое | Должны сохраняться или нет сообщения брокером. |
Text Message | Строка | Сообщение. |
У функций нет параметров выхода.
Опубликовать сообщение данных
Отправить сообщение данных брокеру.
У формата функции параметров входа есть следующие поля:
Имя | Тип | Описание |
Topic | Строка | Тема, относительно которой будет опубликовано сообщение. |
QoS | Целочисленное | Количество уровня сервиса. Валидные значения 0, 1 или 2. |
Retained | Булевое | Должны сохраняться или нет сообщения брокером. |
Data Message | Блок данных | Сообщение данных. |
У функций нет параметров выхода.
События device
Сообщение
Запускается, когда SberMobile Server получает входящее сообщение MQTT.
Имя события | message |
Записи: | 1 |
Формат записи:
Имя поля | Тип поля | Заметки | |
topic | Строка | Тема сообщения. | |
message | Таблица данных | Формат таблицы данных зависит от типа сообщения.
| |
Имя поля | Тип поля | ||
---|---|---|---|
textMessage | Строка | ||
| |||
Имя поля | Тип поля | ||
dataMessage | Блок данных |
Подключение
Данный драйвер переводит устройство в режим онлайн, если было установлено соединение с брокером MQTT.