web-dev-qa-db-fra.com

Quand MQTT-SN doit être utilisé? En quoi est-il différent du MQTT?

Si MQTT est déjà un protocole léger et qu'il utilise une petite quantité d'énergie et de bande passante, alors pourquoi avons-nous MQTT-SN. Quand est-il approprié d'utiliser MQTT et quand MQTT-SN?

34
Sasikumar

Il y a peu d'avantages dans MQTT-SN (SN pour Sensors Network) par rapport à MQTT, en particulier pour les appareils intégrés.

Les avantages

  1. MQTT-SN prend en charge l'ID de rubrique au lieu du nom de rubrique. Le premier client envoie une demande d'enregistrement avec le nom du sujet et l'ID du sujet (2 octets) à un courtier. Une fois l'enregistrement accepté, le client utilise l'ID de rubrique pour faire référence au nom de la rubrique. Cela économise de la bande passante multimédia et de la mémoire de l'appareil - il est assez coûteux de conserver et d'envoyer le nom du sujet, par exemple: home/livingroom/socket2/meter en mémoire pour chaque message de publication.
  2. Le nom de la rubrique à l'ID de la rubrique peut être préconfiguré dans la passerelle MQTT-SN, de sorte que même le message d'enregistrement peut être ignoré avant la publication.
  3. MQTT-SN ne nécessite pas de pile TCP/IP. Il peut être utilisé sur une liaison série (méthode préférée), où avec un protocole de liaison simple (pour distinguer différents périphériques sur la ligne), la surcharge est vraiment faible. Alternativement, il peut être utilisé sur UDP, qui a moins faim que TCP.

Désavantages

  1. Vous avez besoin d'une sorte de passerelle, qui n'est rien d'autre qu'un TCP ou pile UDP déplacée vers un autre appareil. Cela peut aussi être un appareil simple (par exemple: Arduino Uno) servant simplement plusieurs MQTT- Périphériques SN sans autre tâche.
  2. MQTT-SN n'est pas bien pris en charge.

Si vous manquez de ressources ou si vous n'avez pas Ethernet/Wifi dans votre appareil, utilisez MQTT-SN.

39
Michal Foksa

MQTT-SN (où SN signifie Réseau de capteurs) est différent de MQTT. MQTT passe par TCP/IP et peut être utilisé pour la communication LAN ou sur Internet et le Cloud (si vous avez un client à l'intérieur de votre réseau mais que le courtier est à l'extérieur sur Internet). MQTT-SN peut être utilisé sur plusieurs protocoles adaptés aux réseaux de capteurs comme ZigBee, Z-Wave, etc. La spécification est différente de MQTT ... donc ce n'est pas MQTT pas sur TCP/IP. Il est plus léger et a besoin d'un pont pour traduire les messages MQTT-SN en messages MQTT.

Paolo.

5
ppatierno