9. Протокол MQTT – простой протокол для Интернета вещей
Наконец мы готовы к тому, чтобы устройства нашего "умного" дома стали устройствами Интернета вещей, что позволит получать данные с датчиков и управлять исполнительными устройствами нашего "умного дома" через интернет из любой точки мира. В качестве устройства управления удобнее всего использовать мобильный телефон. Нас интересует получение данных на телефон и управление исполнительными устройствами с телефона. Т.е. мобильный телефон выступает в качестве еще одного устройства IoT, совмещающего в себе табло для отображения данных с датчиков и пульт для управления исполнительными устройствами.
Устройства в сетях IoT взаимодействуют друг с другом по средствам различных интерфейсов и протоколов передачи данных. Рассмотрим наиболее популярный и одновременно простой протокола обмена для устройств Интернета вещей – MQTT (Message Queue Telemetry Transport).
Основные особенности протокола MQTT:

•    Асинхронный протокол;
•    Компактные сообщения;
•    Работа в условиях нестабильной связи на линии передачи данных;
•    Поддержка нескольких уровней качества обслуживания (QoS);
•    Легкая интеграция новых устройств.

Обмен сообщениями в протоколе MQTT осуществляется между клиентом (client), который может быть издателем или подписчиком (publisher/subscriber) сообщений, и брокером (broker) сообщений (например, Mosquitto MQTT). Издатель и подписчик не передают друг другу сообщения напрямую, не устанавливают прямой контакт, могут не знать о существовании друг друга. Издатель отправляет данные на MQTT брокер, указывая в сообщении определенную тему, топик (topic). Подписчики могут получать разные данные от множества издателей в зависимости от подписки на соответствующие топики.
Топики представляют собой символы с кодировкой UTF-8. Иерархическая структура топиков имеет формат "дерева", что упрощает их организацию и доступ к данным. Топики состоят из одного или нескольких уровней, которые разделены между собой символом "/".
/home/living /living-room1/temperature

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

•    Connect – установить соединение с брокером
•    Disconnect – разорвать соединение с брокером
•    Publish – опубликовать данные в топик на брокере
•    Subscribe – подписаться на топик на брокере
•    Unsubscribe – отписаться от топика

Схема простого взаимодействия между подписчиком, издателем и брокером показана на рис. 9.1.
 


Рис. 9.1. Схема простого взаимодействия по протоколу MQTT.



1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33 

 

Вверх