Интернет вещей, Internet of Things (IoT)
Интернет вещей, Internet of Things (IoT)
Протоколы и схемы передачи данных
Для сравнения были выбраны два протокола передачи данных: MqTT и COAP. В таблице 4 приведена сравнительная характеристика двух протоколов передачи данных.
Таблица 4 – Сравнительная характеристика протоколов передачи данных
Критерий сравнения |
CoAP |
MQTT |
Модель, используемая для отправки сообщений |
Запрос – Ответ; Подписчик- Издатель |
Подписчик- Издатель |
RESTful |
Да |
Нет |
Протокол передачи данных |
UDP |
TCP |
Размер заголовков |
4 байта |
2 байта |
Количество типов используемых сообщений |
4 |
16 |
Тип сообщения |
Асинхронный; Синхронных |
Асинхронный |
Количество уровней надежности передачи |
2 |
3 |
Стандартный протокол защиты |
IPSEC или DTLS
|
Нет стандарта для защиты |
Сфера применения |
Используется для настройки сообщений в сетях общего пользования |
Является стандартом для сообщения в IoT |
Исходя из сравнений двух протоколов передачи данных, между устройствами, был выбран Mqtt так как, он является стандартом в сфере IoT. Mqtt более гибок и легковесен по сравнению с CoAP. Протокол Mqtt имеет выше уровень надежности передачи данных, чем у CoAP.
Существует несколько базовых понятий, которые необходимо знать, чтобы понимать, как работает протокол MQTT:
- Публикация/подписка
- Сообщения
- Топики
- Брокер
Подписка — это понятие, которое означает, что устройство может публиковать сообщения на наши устройства, а также то, что наше устройство может подписаться на какой-нибудь топик, чтобы получать эти сообщения.
Работа подписок детально представлена на рисунке:Подписка. http://wikihandbk.com/wiki. Дата доступа: 29.09.2020
Сообщения – это информация, обмен которой
осуществляется между устройствами. Это могут быть и инструкции, и обычные
данные. Топики – это то, куда будут сохраняться входящие
сообщения и куда будут публиковаться исходящие сообщения. Он представляют собой
строки, составные части которых разделены слешами. Слеш – это
разделитель между уровнями топика.
Топик
для лампы http://wikihandbk.com/wiki. Дата доступа: 29.09.2020
Брокер – это программа, отвечающая за получение всех сообщений, фильтровку сообщений, решение того, кому отправлять сообщения, а также публикацию сообщений на подписанных клиентов.
Работа брокера представлена на рисунке:Брокер. http://wikihandbk.com/wiki. Дата доступа: 29.09.2020
Существует разные программы-брокеры. В частности, в
нашем случае наиболее полезен брокер Mosquitto, который можно установить
на Raspberry Pi. MQTT позволяет отправлять команды клиенту (вроде Node-RED), с его помощью управляя различными устройствами, а
также считывать данные с датчиков и публиковать их на клиенте (вроде Node-RED). На рисунке 19 представлена данная схема взаимодействия
устройств с использованием MQTT.
Схема передачи
данных. http://wikihandbk.com/wiki. Дата доступа: 29.09.2020