Lorsque MQTT-SN doit être utilisé? En quoi est-ce différent de MQTT?

si MQTT est déjà un protocole léger et utilise peu de puissance et de bande passante, alors pourquoi avons-nous MQTT-SN. Quand est-il approprié D'utiliser MQTT et quand MQTT-SN?

32
demandé sur Michal Foksa 2014-12-19 09:03:39

2 réponses

Il y a peu d'avantages à MQTT-SN (SN pour Réseau De Capteurs) sur MQTT, en particulier pour les dispositifs embarqués.

les Avantages

  1. MQTT-SN supporte l'ID du sujet au lieu du nom du sujet. Le premier client envoie une demande d'inscription avec le nom du sujet et L'ID du sujet (2 octets) à un courtier. Une fois l'inscription acceptée, le client utilise le numéro d'identification du sujet pour renvoyer le nom du sujet. Cela permet d'économiser la bande passante des médias et la mémoire de l'appareil - il est assez coûteux de garder et d'envoyer le nom du sujet l'e.g: home/livingroom/socket2/meter dans la mémoire pour chacun de publier le message.
  2. nom du sujet à ID du sujet peut être préconfiguré dans la passerelle MQTT-SN, de sorte que même le message d'enregistrement peut être sauté avant publication.
  3. MQTT-SN ne nécessite pas de pile TCP/IP. Il peut être utilisé sur un lien série (de préférence), où avec le protocole de lien simple (pour distinguer les différents appareils sur la ligne) la tête est vraiment petite. Il peut aussi être utilisé sur UDP, qui est moins affamé que TCP.

désavantages

  1. vous avez besoin d'une sorte de passerelle, qui n'est rien d'autre qu'une pile TCP ou UDP déplacée vers un périphérique différent. Cela peut aussi être un périphérique simple (par exemple: Arduino Uno) servant simplement plusieurs périphériques MQTT-SN sans faire d'autre travail.
  2. MQTT-SN n'est pas bien supporté.

si vous êtes à court de ressources, ou si vous n'avez pas Ethernet/Wifi dans votre appareil, utilisez MQTT-SN.

36
répondu Michal Foksa 2017-09-13 05:03:16

MQTT-SN (où SN signifie réseau de capteurs) est différent de MQTT. MQTT passe sur 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 plus de protocoles adaptés aux réseaux de capteurs comme ZigBee, Z-Wave et ainsi de suite. 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 MQTT messages.

Paolo.

5
répondu ppatierno 2017-08-28 13:35:16