Если MQTT уже является легким протоколом, и он использует небольшое количество мощности и пропускной способности, то почему у нас есть MQTT-SN. Когда целесообразно использовать MQTT и когда MQTT-SN?
При использовании MQTT-SN? Как он отличается от MQTT?
Ответ 1
В MQTT-SN (SN для сети датчиков) есть несколько преимуществ по сравнению с MQTT, особенно для встроенных устройств.
Преимущества
- MQTT-SN поддерживает идентификатор темы вместо имени темы. Первый клиент отправляет запрос на регистрацию с именем темы и идентификатором темы (2 октета) брокеру. После того, как регистрация будет принята, клиент использует идентификатор темы для ссылки на название темы. Это экономит полосу пропускания носителей и память устройства - довольно дорого хранить и отправлять имя темы, например:
home/livingroom/socket2/meter
в памяти для каждого сообщения публикации. - Имя темы для идентификатора темы может быть предварительно сконфигурировано в шлюзе MQTT-SN, так что даже сообщение регистрации может быть пропущено перед публикацией.
- MQTT-SN не требует стека TCP/IP. Он может использоваться по последовательному каналу (предпочтительный путь), где с простым протоколом связи (для различения различных устройств на линии) накладные расходы действительно малы. В качестве альтернативы он может использоваться через UDP, который менее голоден, чем TCP.
Недостатки
- Вам нужен какой-то шлюз, который не что иное, как TCP или UDP-стек, перемещенный на другое устройство. Это также может быть простое устройство (например, Arduino Uno), просто обслуживающее несколько устройств MQTT-SN без выполнения других заданий.
- MQTT-SN не поддерживается.
Если у вас закончились ресурсы или у вас нет Ethernet/Wifi на вашем устройстве, используйте MQTT-SN.
Ответ 2
MQTT-SN (wher SN означает сеть датчиков) отличается от MQTT. MQTT проходит через TCP/IP и может использоваться для связи по локальной сети или через Интернет и облако (если у вас есть клиент внутри вашей сети, но брокер находится в Интернете). MQTT-SN может использоваться на нескольких протоколах, подходящих для сети датчиков, таких как ZigBee, Z-Wave и т.д. Спецификация отличается от MQTT... так что это не MQTT не по TCP/IP. Он более легкий и нуждается в мосту для перевода сообщений MQTT-SN в сообщения MQTT.
Паоло.