MQTT vs LWM2M : Quel protocole choisir ?

MQTT vs LWM2M : Quel protocole choisir ?

En tant qu’architecte IoT au sein de votre entreprise, vous avez la lourde tâche de prendre les décisions technologiques. Parmi les challenges, vous devez choisir quel protocole utiliser pour faire transiter les informations depuis votre device vers la plateforme IoT. Est-ce LWM2M, ou bien MQTT ou un autre protocole ?

Le choix n’est jamais facile et vous savez pertinemment qu’il serait quasi impossible de faire marche arrière. Dans cet article nous allons vous aider à choisir le protocole le plus adéquat pour votre projet IoT.

Tout d’abord, commençons par de brèves introductions des différents protocoles, ensuite nous allons voir quelles sont les différences et comparer leurs performances et enfin nous terminerons par choisir lequel serait le mieux pour votre projet.

Pourquoi avons-nous choisi de comparer ces deux protocoles, tout en sachant qu’il y en a d’autres sur le marché ? Tout simplement car ce sont les protocoles plus couramment utilisés et par conséquent ce sont ceux qui possèdent le plus de ressources disponibles.

LWM2M (Lightweight M2M) : Définition

C’est un protocole de l’Open Mobile Alliance pour device management. Il est conçu pour la gestion à distance des appareils M2M et l’activation des services associés, y compris la télémétrie en temps réel, ainsi que le contrôle.

Il présente une conception architecturale moderne basée sur REST , il définit un modèle extensible de ressources et de données souvent appelé modèle Smart Objects.

Il s’appuie sur une norme de transfert de données sécurisée appelée Constrained Application Protocol (CoAP). LWM2M est livré avec un ensemble d’objets de gestion standardisés ainsi que de nombreux autres qui peuvent être ajoutés en tant qu’objets standard basés sur IPSO Smart Object Registry de l’Alliance IPSO.

De plus, LWM2M prend en charge une variété de formats d’encodage de données pour la communication device-to-pltaform et platform-to-device, y compris le TLV, JSON et CBOR.

 

Obtenez des conseils exclusifs sur l’IoT partagés qu’avec les abonnés par e-mail

MQTT : Définition

C’est un protocole de connectivité machine-to-machine (M2M) et IoT. Il a été conçu comme un transport de messagerie de publication/abonnement (publish/subscribe) extrêmement léger pour faciliter la livraison efficace et standardisée des messages

Bien que le protocole MQTT lui-même ne définisse aucune norme spécifique pour le codage des données, la plupart des implémentations exploitent JSON pour la communication device-to-platform et platform-to-device.

Bien qu’il ne s’agisse pas d’une limitation technique du protocole lui-même et que d’autres encodages tels que CBOR ou TLV soient possibles, ils sont utilisés beaucoup moins régulièrement dans la pratique, en grande partie en raison du manque de prise en charge de la plateforme.

De plus, des plateformes telles que AWS IoT et Azure IoT exigent que les messages de télémétrie soient au format JSON pour prendre en charge de nombreuses fonctionnalités standard telles que le digital twin ou le traitement d’événements pré-intégré.

L’utilisation de schémas de codage non JSON nécessite généralement la mise en œuvre de solutions de traduction de données supplémentaires avant que les messages entrants puissent être stockés ou traités.

Le guide complet pour comprendre les piliers fondamentaux de l’IIoT et bien lancer votre projet 

guide IoT pur bien lancer votre projet
Veuillez activer JavaScript dans votre navigateur pour remplir ce formulaire.

 

LWM2M vs MQTT : Différences

Les deux protocoles ont le même objectif commun, celui d’échanger les données entre les devices et les plateformes IoT, mais leurs différences résident dans leur implémentation ainsi que leur utilité:

  LWM2M MQTT
Standards Possède un modèle de données et de communication bien défini, offrant une variété d’objets standard prêts à l’emploi, une surveillance de la connectivité, des commandes de devices à distance.
Il propose des mises à jour structurées FOTA et SOTA comme étant une fonctionnalité de base.
Aucunes fonctionnalités de base définies, elles sont entièrement spécifiques au fournisseur et à la plateforme.
Les mises à jour du firmware ou toute autre fonctionnalité de gestion doivent être créées à partir de zéro.
Utilisation Il a été conçu comme un protocole de device Management qui peut également être appliqué avec succès aux cas d’utilisation de la télémétrie. Il a été conçu et est principalement utilisé comme protocole de télémétrie, bien qu’il serve parfois de base pour développer des fonctionnalités Device Management propriétaires.

Voyons maintenant plus en détails leurs différences techniques :

LWM2M vs MQTT : Comparatif des performances

Machnation a effectué une étude qui permet de comparer les performances des protocoles LWM2M et MQTT, nous avons résumé les résultats ci-dessous :

Connexion initiale

LwM2M est 72 % plus efficace que MQTT pour fournir des données lors de la connexion initiale entre le device IoT et la plateforme.

Analyse de paquets : état stable sans rapport d’observation

Les devices LwM2M transmettent 31 % moins de données en régime permanent que les devices MQTT.

Analyse de paquets : rapports d’observation à intervalles de 30 secondes

LwM2M est 88 % plus efficace que MQTT pour fournir des données lors des rapports d’observation à des intervalles de 30 secondes.

Analyse de paquets : message unique platform-to-device

LWM2M est 17 % plus efficace que MQTT pour fournir des données lors d’un seul message plateform-to-device.

Analyse de paquets : mise à jour du firmware OTA (Over-The-Air)

MQTT est 4 % plus efficace que LwM2M pour fournir des données lors d’une mise à jour du firmware OTA.

Consommation d’énergie : inactif, intervalles de rapport d’observation de 1, 30 et 60 secondes

Les devices MQTT consomment 33 % plus d’énergie que les devices LWM2M lorsqu’ils sont mesurés au repos et à des intervalles de mise à jour de 1, 30 et 60 secondes, lors du test du SDK AWS IoT basé sur Python par rapport au SDK Anjay basé sur C

Quel protocole choisir ?

Au final, quel protocole devez vous choisir ? Quel protocole emporte ce duel LWM2M vs MQTT ? La réponse courte est cela dépend du contexte du projet.

Pour mieux faire votre choix, nous vous proposons ces questions réponses :

Est-ce que ma solution a une contrainte de consommation ?

LWM2M serait idéal pour les appareils contraints et à faible consommation, c’est aussi une option fiable pour les applications de technologie cellulaire qui veulent minimiser la quantité de données transférées.

Est-ce que ma solution est complexe ?

LwM2M est un protocole robuste qui convient aux projets IoT à faible et à haute intensité. Il est parfait pour les projets susceptibles d’évoluer à l’avenir et qui impliquent une infrastructure matérielle complexe et diversifiée.

Ai-je besoin d’une solution facile à mettre en place ?

Si vous souhaitez réaliser rapidement un PoC ou mettre en place une solution rapide, MQTT est le meilleur choix, car dans ce cas précis, le fait que LWM2M soit standardisé le rend plus complexe à mettre en place.

Nous sommes curieux de savoir quel protocole vous avez choisi et pourquoi ?

L’article MQTT vs LWM2M : Quel protocole choisir ? est apparu en premier sur IoT Industriel Blog.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour haut de page