Des protocoles allégés pour l'IoT : MQTT, CoAP et LwM2M

Le volume de données qu'un appareil IoT transmet pendant la communication a un grand effet sur ses demandes d'énergie. Plus l'appareil transmet de données, plus il doit rester actif longtemps et plus sa consommation d'énergie est importante. Outre les méthodes basées sur le réseau, telles que PSM et eDRX, qui déterminent les intervalles d'activité d'un appareil au niveau du réseau, le choix du bon protocole de communication peut également permettre d'économiser autant d'énergie, voire de rendre PSM ou eDRX obsolètes.

Blog series "Power Saving in cellular LPWAN"


Contrairement à PSM et eDRX dont les fonctions dépendent fortement des opérateurs de réseau individuels, le choix des protocoles de communication s'applique universellement et rend l'optimisation de la consommation d'énergie des appareils cohérente partout, ce qui est une condition préalable à la mise à l'échelle d'un produit pour les déploiements de masse, car le développeur n'a pas besoin de tenir compte de la carte SIM IoT et de l'opérateur de réseau en cours d'utilisation.


MQTT : fin, mais pas assez fin

Le protocole Message Queuing Telemetry Transport (MQTT) a été conçu pour les communications entre machines (M2M) en 1999, bien avant que l'on ne parle de l'internet des objets".  Aujourd'hui, il s'agit d'un protocole standard pour la communication des appareils. MQTT utilise le protocole de contrôle de transport (TCP) pour le transport des données.

La communication fonctionne selon un modèle client/serveur. L'appareil IoT est le client et dialogue avec un serveur désigné comme "courtier", par exemple un service cloud fourni par Amazon Web Service (AWS).

L'élément central de MQTT est l'organisation des données en "sujets". Le sujet est une chaîne de caractères triée hiérarchiquement. Dans l'exemple d'une station météorologique, il pourrait être organisé comme " weatherstation_a/temperature/ground " pour un capteur de température au sol de la station météorologique A, tandis que " weatherstation_a/temperature/air " définirait un capteur de température de l'air de cette même station. Selon la valeur qui doit être récupérée, une application IoT peut s'abonner à ces sujets pour lire cette donnée individuelle.

L'inconvénient de ces chaînes est qu'elles peuvent être peu économiques en termes de transmission de données. Ces chaînes peuvent devenir longues, ce qui augmente le volume de données qu'un capteur transmet et draine donc de l'énergie inutilement. Pour les capteurs simples dont la puissance de calcul et la consommation d'énergie sont strictement limitées, cette architecture peut rapidement devenir un problème.


CoAP : Plus léger, grâce à l'UDP


Le protocole CoAP (Constrained Application Protocol) gère les ressources de manière plus économique. Contrairement à MQTT, il s'appuie sur le protocole User Datagram Protocol (UDP). Contrairement au TCP, l'UPD est un protocole sans connexion, orienté vers les paquets. Par exemple, avec TCP, tous les paquets de données arrivent au destinataire numérotés et doivent être confirmés avant que le paquet de données suivant ne soit envoyé. UDP envoie les paquets de données l'un après l'autre, sans contrôle d'erreur supplémentaire. Cela permet d'économiser de l'effort, du temps et, surtout, de l'énergie.

C'est la raison pour laquelle CoAP est plus adapté lorsque les appareils doivent prêter une attention particulière à leurs besoins en ressources. Les appareils alimentés par batterie disposent généralement d'un matériel simple et d'une puissance de calcul limitée. Ils ne sont pas conçus pour effectuer des opérations informatiques complexes, mais plutôt pour transmettre des données rapidement et simplement tout en consommant le moins d'énergie possible.


LwM2M : le nouveau venu basé sur CoAP

Lightweight M2M (LwM2M) est la réponse à la demande du marché pour une norme commune de gestion des appareils de faible puissance sur l'internet des objets. Développé par l'Open Mobile Alliance, LwM2M est encore assez jeune. LwM2M a été présenté pour la première fois en février 2017.


Qu'est-ce que LwM2M ?

Lightweight M2M est basé sur CoAP et vise à simplifier et à standardiser la gestion des appareils dans l'Internet des objets. Il n'est donc pas seulement conçu pour la messagerie, mais comprend également des éléments pour la gestion des appareils.

Pour l'échange d'informations entre l'appareil et la plateforme, LwM2M utilise un modèle de données normalisé indépendant du fabricant de l'appareil. Le modèle est divisé hiérarchiquement en trois niveaux d'objets : Objet, Instance d'objet et Ressource. Chaque objet se voit attribuer un identifiant unique, qui est ensuite combiné pour former un chemin et une URL CoAP.

Lightweight M2M est la réponse moderne à MQTT, qui a dépassé son utilité initiale. Cependant, il n'est pas encore entièrement pris en charge par les principales plateformes de cloud IoT, telles qu'AWS ou Azure. Contrairement à MQTT, qui ne concerne que la messagerie, LwM2M peut faire plus :

  1. Amorçage sécurisé : mécanisme permettant de connecter un appareil à la plateforme de gestion en toute sécurité et de gérer toutes les clés et tous les certificats nécessaires.

  2. Télémaintenance : possibilité de configurer un appareil ou d'exécuter certaines fonctions à distance

  3. Mise à jour du micrologiciel : exécution d'une mise à jour sécurisée du micrologiciel sur le réseau (mise à jour "over-the-air") pour doter l'appareil de nouvelles fonctions ou corriger des erreurs fonctionnelles.

  4. Gestion des pannes : permettre à l'appareil de signaler les dysfonctionnements.

  5. Rapports : permettre à l'appareil de signaler les changements d'état et d'interroger les paramètres de configuration actuels.

On peut considérer LwM2M un peu comme un navigateur web qui permet d'offrir des services à valeur ajoutée supplémentaires à partir du protocole de transport HTTP pur. CoAP, la base de communication de LwM2M, n'est pas très éloignée du protocole de transfert hypertexte (HTTP).

Dans la troisième partie de notre série de blogs sur les économies d'énergie dans les réseaux LPWAN, vous découvrirez comment l'utilisation de protocoles allégés affecte la consommation d'énergie sur un exemple concret.