Использование протокола MQTT в контроллерах ZONT: различия между версиями
Материал из Библиотека
Микро Лайн
Admin (обсуждение | вклад) Нет описания правки |
Admin (обсуждение | вклад) Нет описания правки |
||
Строка 22: | Строка 22: | ||
Протокол ориентируется на простоту в использовании и легкую встраиваемость в любую систему, невысокую нагрузку на каналы связи и/или работу в условиях постоянной потери связи. | Протокол ориентируется на простоту в использовании и легкую встраиваемость в любую систему, невысокую нагрузку на каналы связи и/или работу в условиях постоянной потери связи. | ||
=== <font color="c45911">Область применения</font> === | ===<font color="c45911">Область применения</font>=== | ||
Основное предназначение протокола MQTT – работа с телеметрией – получением данных от различных датчиков и устройств. | Основное предназначение протокола MQTT – работа с телеметрией – получением данных от различных датчиков и устройств. | ||
Строка 29: | Строка 29: | ||
Наиболее часто на практике протокол MQTT используется в: | Наиболее часто на практике протокол MQTT используется в: | ||
* <u>Системах мониторинга инженерных систем и оборудования</u>. На различном промышленном оборудовании, агрегатах и трубопроводах устанавливаются датчики, которые контролируют работу оборудования в режиме реального времени: снимают показания и передают значения в центр обработки данных. Все это позволяет мгновенно реагировать на проблемы, минимизировать поломки оборудования, исключить аварии и простои. | *<u>Системах мониторинга инженерных систем и оборудования</u>. На различном промышленном оборудовании, агрегатах и трубопроводах устанавливаются датчики, которые контролируют работу оборудования в режиме реального времени: снимают показания и передают значения в центр обработки данных. Все это позволяет мгновенно реагировать на проблемы, минимизировать поломки оборудования, исключить аварии и простои. | ||
* <u>Системах мониторинга окружающей среды</u>. Позволяет контролировать климатические показатели, температуру, влажность, давление, скорость ветра, наличие осадков, сейсмическую активность и устойчивость к ней зданий и сооружений. В удаленных регионах размещаются маломощные датчики, которые с заданным интервалом снимают информацию и передают ее на обработку через MQTT брокер. | *<u>Системах мониторинга окружающей среды</u>. Позволяет контролировать климатические показатели, температуру, влажность, давление, скорость ветра, наличие осадков, сейсмическую активность и устойчивость к ней зданий и сооружений. В удаленных регионах размещаются маломощные датчики, которые с заданным интервалом снимают информацию и передают ее на обработку через MQTT брокер. | ||
* <u>Системы работы с важными данными</u>. Например, учет биллинга мобильных операторов и провайдеров. Позволяют передавать информацию о текущем состоянии клиентских счетов без риска ее потери. Информация передается «точно один раз», что исключает также и ее дублирование, снижает количество аномалий. | *<u>Системы работы с важными данными</u>. Например, учет биллинга мобильных операторов и провайдеров. Позволяют передавать информацию о текущем состоянии клиентских счетов без риска ее потери. Информация передается «точно один раз», что исключает также и ее дублирование, снижает количество аномалий. | ||
=== <font color="c45911">Особенности протокола MQTT</font> === | |||
MQTT использует для организации соединения и передачи информации протокол TCP/IP. По умолчанию применяется порт 1883. Если требуется дополнительно обеспечить защиту данных, используется SSL. В этом случае для подключения применяется порт 8883. | |||
MQTT ориентирован на обмен сообщениями между устройствами по принципу «издатель – подписчик». | |||
[[Файл:Как работает MQTT.jpg|846x846пкс]] | |||
Использование шаблона подписчика обеспечивает возможность устройствам выходить на связь и публиковать сообщения, которые не были заранее известны или предопределены, в частности, протокол не вводит ограничений на формат передаваемых данных. | |||
В процессе взаимодействия принимает участие три категории пользователей: | |||
* '''Издатели''': Это те, кто отправляют сообщения. Они указывают topic – тему. Как пример – датчики, снимающие показания с термометров или других устройств, подключенных к Интернету вещей. | |||
* '''Подписчики''': Конечные получатели информации. Они могут работать с разными издателями, в зависимости от того, на какие топики они подписаны. Как пример – аналитическая облачная система. | |||
* '''Брокер''': Это основной узел MQTT, обеспечивающий стабильную передачу информации между клиентами: издателями и подписчиками. Он получает информацию от издателя, обрабатывает ее, передает подписчикам, контролирует доставку. Роль брокера зачастую возлагается на сервер или контроллер. | |||
Для взаимодействия с брокером предусмотрен набор стандартизированных сообщений: | |||
* '''Connect''': установка доступа/соединения; | |||
* '''Disconnect''': разрыв соединения; | |||
* '''Publish''': публикация информации в topic; | |||
* '''Subscribe''': подписка на topic; | |||
* '''Unsubscribe''': отписка от topic. | |||
Все эти действия выполняются с брокером. | |||
=== <font color="c45911">Подключение</font> === | |||
Протокол MQTT поддерживается контроллерами [[H1000+ PRO.V2|H1000+PRO.V2]], [[H2000+ PRO.V2|H2000+PRO.V2]], C2000+ PRO (версии прошивки не ниже 420). | |||
MQTT на контроллерах ZONT работает по каналам связи Wi-Fi и Ethernet. | |||
<font color="c45911">''Примечание:''</font> По каналу GSM (мобильная сеть) MQTT не работает. | |||
=== <font color="c45911">Настройка сервера</font> === | |||
<font color="c45911">''Пример настройки адреса MQTT сервера:''</font> | |||
mqtt://username:password@mqtt.eclipseprojects.io:1883 | |||
Адрес : mqtt.eclipseprojects.io | |||
Порт: 1883 | |||
Имя пользователя: username | |||
Пароль: password | |||
[[Файл:Пример настройки MQTT.jpg|766x766пкс]] | |||
<font color="c45911">''Примечание:''</font> Если имя пользователя и пароль не используются, то их можно не указывать: | |||
mqtt://mqtt.eclipseprojects.io:1883 | |||
=== <font color="c45911">Публикация данных</font> === | |||
Датчик | |||
{| class="wikitable" | |||
|+ | |||
|{ | |||
“v”:12.3, | |||
“a”:1 | |||
} | |||
|} | |||
v - напряжение Вольты (значение float) | |||
a - доступность датчика (0-не доступен, 1-доступен) |
Версия от 11:11, 16 октября 2024
О документе
Уважаемые пользователи!
В настоящем документе приведена информация по использованию протокола MQTT для обмена данными контроллеров ZONT со сторонними устройствами поддерживающими этот протокол.
Обращаем Ваше внимание на то, что настоящий документ постоянно обновляется и корректируется. Это связано с разработкой и применением новых функций, которые не использовались ранее. В связи с этим тексты некоторых разделов могут изменяться и/или дополняться, а некоторые иллюстрации и скриншоты, представленные в документе, могут устареть.
Если Вы обнаружили ошибки и/или неточности — отправьте, пожалуйста, описание проблемы с указанием страницы документа на e-mail: support@microline.ru.
Актуальная версия документа также доступна на сайте zont.online в разделе "Поддержка. Техническая документация". Документ доступен для чтения и скачивания в формате *.pdf.
Общие сведения
Назначение и применение MQTT
MQTT (Message Queue Telemetry Transport) – небольшой, открытый и маловесный протокол обмена данными. Он используется для передачи информации между удаленными локациями в случае ограниченной пропускной способности канала и небольшого размера кода. Эти особенности позволяют применять его в Промышленном интернете вещей (IIoT), при Машинно-Машинном взаимодействии (М2М).
MQTT – протокол для потоковой передачи данных между устройствами с ограниченной мощностью CPU и/или временем автономной работы (смартфоны, различные датчики и прочие «умные» устройства, работающие на встроенных источниках питания), а также для сетей с платным трафиком или низкой пропускной способностью, непредсказуемой стабильностью или высокой задержкой.
Протокол ориентируется на простоту в использовании и легкую встраиваемость в любую систему, невысокую нагрузку на каналы связи и/или работу в условиях постоянной потери связи.
Область применения
Основное предназначение протокола MQTT – работа с телеметрией – получением данных от различных датчиков и устройств.
Использование протокола MQTT наиболее известный, масштабируемый и простой способ для развертывания распределенных вычислений. Это позволило расширить функциональность Интернета вещей (далее в тексте IoT), привлечь большую пользовательскую базу устройств и использовать MQTT как на бытовом уровне так и в промышленности.
Наиболее часто на практике протокол MQTT используется в:
- Системах мониторинга инженерных систем и оборудования. На различном промышленном оборудовании, агрегатах и трубопроводах устанавливаются датчики, которые контролируют работу оборудования в режиме реального времени: снимают показания и передают значения в центр обработки данных. Все это позволяет мгновенно реагировать на проблемы, минимизировать поломки оборудования, исключить аварии и простои.
- Системах мониторинга окружающей среды. Позволяет контролировать климатические показатели, температуру, влажность, давление, скорость ветра, наличие осадков, сейсмическую активность и устойчивость к ней зданий и сооружений. В удаленных регионах размещаются маломощные датчики, которые с заданным интервалом снимают информацию и передают ее на обработку через MQTT брокер.
- Системы работы с важными данными. Например, учет биллинга мобильных операторов и провайдеров. Позволяют передавать информацию о текущем состоянии клиентских счетов без риска ее потери. Информация передается «точно один раз», что исключает также и ее дублирование, снижает количество аномалий.
Особенности протокола MQTT
MQTT использует для организации соединения и передачи информации протокол TCP/IP. По умолчанию применяется порт 1883. Если требуется дополнительно обеспечить защиту данных, используется SSL. В этом случае для подключения применяется порт 8883.
MQTT ориентирован на обмен сообщениями между устройствами по принципу «издатель – подписчик».
Использование шаблона подписчика обеспечивает возможность устройствам выходить на связь и публиковать сообщения, которые не были заранее известны или предопределены, в частности, протокол не вводит ограничений на формат передаваемых данных.
В процессе взаимодействия принимает участие три категории пользователей:
- Издатели: Это те, кто отправляют сообщения. Они указывают topic – тему. Как пример – датчики, снимающие показания с термометров или других устройств, подключенных к Интернету вещей.
- Подписчики: Конечные получатели информации. Они могут работать с разными издателями, в зависимости от того, на какие топики они подписаны. Как пример – аналитическая облачная система.
- Брокер: Это основной узел MQTT, обеспечивающий стабильную передачу информации между клиентами: издателями и подписчиками. Он получает информацию от издателя, обрабатывает ее, передает подписчикам, контролирует доставку. Роль брокера зачастую возлагается на сервер или контроллер.
Для взаимодействия с брокером предусмотрен набор стандартизированных сообщений:
- Connect: установка доступа/соединения;
- Disconnect: разрыв соединения;
- Publish: публикация информации в topic;
- Subscribe: подписка на topic;
- Unsubscribe: отписка от topic.
Все эти действия выполняются с брокером.
Подключение
Протокол MQTT поддерживается контроллерами H1000+PRO.V2, H2000+PRO.V2, C2000+ PRO (версии прошивки не ниже 420).
MQTT на контроллерах ZONT работает по каналам связи Wi-Fi и Ethernet.
Примечание: По каналу GSM (мобильная сеть) MQTT не работает.
Настройка сервера
Пример настройки адреса MQTT сервера:
mqtt://username:password@mqtt.eclipseprojects.io:1883
Адрес : mqtt.eclipseprojects.io
Порт: 1883
Имя пользователя: username
Пароль: password
Примечание: Если имя пользователя и пароль не используются, то их можно не указывать:
mqtt://mqtt.eclipseprojects.io:1883
Публикация данных
Датчик
{
“v”:12.3, “a”:1 } |
v - напряжение Вольты (значение float)
a - доступность датчика (0-не доступен, 1-доступен)