Nouveau : le pare-feu IA surveille chaque module et explique chaque incident en termes simples. Découvrez comment ça marche

MQTT pour les appareils industriels : guide pratique

MQTT est le moyen le plus courant d'envoyer les données des appareils à une plateforme IoT. Un guide pratique sur les topics, la QoS, les messages conservés, la sécurité et les charges utiles.

MQTT est un protocole de messagerie léger de type publication-abonnement. Il a été conçu pour des appareils connectés sur des liaisons lentes ou peu fiables, et il est devenu le moyen par défaut pour les capteurs, les automates et les passerelles d’envoyer des données à une plateforme IoT. Ce guide présente ce qu’il faut savoir pour connecter des équipements industriels avec MQTT, ainsi que les erreurs à éviter.

Fonctionnement de MQTT

MQTT repose sur trois rôles.

  • Les publieurs envoient des messages. Un capteur de température publie ses relevés.
  • Les abonnés reçoivent des messages. Une plateforme s’abonne aux relevés dont elle a besoin.
  • Le broker se trouve au milieu. Il reçoit chaque message et le transmet aux abonnés qui l’ont demandé.

Les appareils ne communiquent jamais directement entre eux. Chacun maintient une seule connexion ouverte vers le broker. Cela rend MQTT compatible avec les pare-feu et les réseaux mobiles : l’appareil ouvre une connexion sortante, et rien n’a besoin d’accéder au site.

Topics

Chaque message est publié sur un topic, un chemin textuel tel que site-a/line-2/filler/temperature. Les abonnés peuvent utiliser des caractères génériques pour recevoir plusieurs topics à la fois. La conception des topics est plus importante qu’il n’y paraît.

  • Conservez un ordre fixe, par exemple site, zone, appareil, mesure.
  • Évitez les espaces et les caractères spéciaux.
  • Ne mettez pas de valeurs ni d’horodatages dans le topic ; ils doivent figurer dans la charge utile.
  • Lorsqu’une plateforme définit les topics à votre place, utilisez-les. Hermetry indique à chaque appareil les topics à utiliser, de sorte que les données arrivent sur le bon appareil sans mappage personnalisé.

Qualité de service

MQTT propose trois niveaux de distribution, appelés QoS.

  • QoS 0, au plus une fois. Le message est envoyé une seule fois, sans confirmation. Convient aux relevés fréquents lorsque la perte d’un message n’a pas d’importance.
  • QoS 1, au moins une fois. Le message est renvoyé jusqu’à ce que le broker le confirme. Il peut arriver deux fois, donc le récepteur doit tolérer les doublons. C’est le choix habituel pour la télémétrie.
  • QoS 2, exactement une fois. Un échange en quatre étapes garantit que le message arrive une seule fois. Il consomme davantage de trafic et est rarement nécessaire pour les relevés.

Une règle pratique : utilisez la QoS 1 pour les mesures et les événements, et incluez un horodatage dans la charge utile afin de pouvoir reconnaître les doublons.

Messages conservés et last will

Un message retained (conservé) est mémorisé par le broker et livré à quiconque s’abonne ultérieurement. Il est utile pour un état qui change lentement, comme une configuration ou la dernière position connue d’une vanne. Ne conservez pas les relevés rapides : un nouvel abonné recevrait une valeur périmée sans avertissement.

Le last will (testament) est un message que le broker publie pour un appareil lorsque sa connexion est interrompue de manière inattendue. C’est un moyen simple de marquer un appareil comme hors ligne. Combiné à un intervalle de keep-alive, il vous indique en quelques secondes ou minutes qu’un appareil ne donne plus signe de vie, selon l’intervalle choisi.

Charges utiles

MQTT ne se soucie pas du contenu d’un message. JSON est le choix le plus courant, car il est facile à lire et à déboguer. Une bonne charge utile contient :

  • un horodatage émis par l’appareil, en UTC ;
  • des valeurs nommées avec des unités claires, comme temperature_c plutôt que t ;
  • uniquement ce qui a changé ou ce qui est nécessaire, pour garder des messages légers sur les liaisons facturées au volume.

Les formats binaires économisent la bande passante sur les liaisons très contraintes, mais réduisent la lisibilité. Commencez par JSON, sauf si vous disposez d’une raison mesurée de ne pas le faire.

Sécurité

Une connexion MQTT est une porte d’entrée vers votre plateforme. Traitez-la comme telle.

  • Utilisez toujours TLS. Les identifiants et les données ne doivent jamais circuler en clair sur un réseau.
  • Donnez à chaque appareil ses propres identifiants. Un nom d’utilisateur partagé pour toute une flotte signifie qu’un appareil compromis expose tous les autres.
  • Limitez ce que chaque appareil peut publier et auquel il peut s’abonner. Un capteur ne doit pouvoir écrire que sur ses propres topics.
  • Renouvelez les identifiants lorsqu’un appareil est remplacé ou qu’un technicien quitte l’entreprise.
  • Utilisez des certificats lorsque les appareils en ont besoin. Certains appareils et certains clients exigent une identité basée sur des certificats, en plus des mots de passe.

Sur Hermetry, les appareils MQTT se connectent avec un nom d’utilisateur et un mot de passe propres à chaque appareil, sur une connexion chiffrée, et le service de certificats de la plateforme délivre des certificats lorsque les appareils en ont besoin.

Passerelles et appareils qui ne parlent pas MQTT

De nombreux équipements industriels parlent Modbus, SNMP ou un protocole propriétaire. La réponse habituelle consiste à installer une passerelle sur site : elle lit les appareils locaux et publie leurs données via une seule connexion MQTT ou HTTP. Cela est également utile lorsqu’une seule machine du site est autorisée à accéder à Internet.

Liste de contrôle avant la mise en service

  • Les topics suivent un modèle fixe et sont documentés.
  • QoS 1 pour la télémétrie, avec un horodatage dans chaque charge utile.
  • TLS activé, un identifiant par appareil et un plan de renouvellement.
  • Keep-alive et last will configurés, afin de détecter les appareils hors ligne.
  • Les profils d’appareils définissent ce que chaque type d’appareil envoie, de sorte que cent appareils soient configurés de la même façon qu’un seul.

Pour savoir comment fonctionnent les profils d’appareils et le provisionnement, consultez la page appareils, ou consultez la liste complète des protocoles dans la documentation.

Partager

Voyez vos données terrain en direct dès cette semaine

Démarrez un essai dans votre région avec vos premiers appareils, ou réservez une démo et apportez votre propre cas d'usage.