Message Queuing Télémétrie Transport


Le protocole MQTT sera l'une des technologies les plus importantes dans le domaine de l'IoT en 2022. Outre la multitude de types de capteurs différents, il existe de nombreux protocoles pour la transmission des informations et cette hétérogénéité augmente considérablement la complexité de l'intégration des capteurs. Une façon de faciliter la connexion est d'utiliser le MQTT (Message Queuing Telemetry Transport) avec une spécification de charge utile unifiée.
MQTT est l'un des protocoles les plus répandus dans le contexte des applications IoT, si ce n'est le standard de facto. Ses avantages résident dans son efficacité énergétique, sa vitesse, son évolutivité et son applicabilité aux connexions non sécurisées. De plus, la spécification Eclipse Sparkplug est une norme qui définit un schéma de données uniforme. Comme tous les capteurs sont traités de la même manière si la spécification est respectée, une connexion plug-and-play des capteurs est possible. Deux brokers MQTT établis sont Eclipse Mosquitto et HiveMQ. Le choix du courtier dépend de l'application et du nombre de capteurs connectés.
Mosquitto et HiveMQ
Mosquitto Broker est également développé par la Fondation Eclipse. Il s'agit d'une implémentation légère qui peut être exploitée aussi bien sur des serveurs que sur des appareils Edge sans grande puissance de calcul. Le Mosquitto Broker est également souvent intégré dans les plateformes IoT afin de pouvoir recevoir des données via MQTT.
HiveMQ fournit une version prête pour l'entreprise d'un courtier MQTT. Contrairement à Mosquitto, HiveMQ peut être mis à l'échelle et utilisé en mode cluster. HiveMQ Cloud est également une variante gérée, native pour le cloud, afin de simplifier au maximum l'installation et la mise à l'échelle de la solution. De plus, HiveMQ peut être complété par des extensions, par exemple pour transférer des données vers Apache Kafka. Les plateformes de streaming d'événements sont une autre technologie importante. Elles font office de hub central de données pour collecter des données provenant de différentes sources et gérer les flux. Cela comprend non seulement les données des capteurs, mais aussi d'autres données pertinentes pour l'entreprise, provenant par exemple de systèmes opérationnels tels que ERP ou CRM. Le logiciel/la solution de streaming d'événements le/la plus populaire est Apache Kafka, un logiciel à code source libre comme MQTT.
Cluster Kafka et Confluent
Un cluster Kafka se compose de plusieurs brokers et peut être facilement mis à l'échelle en cas d'augmentation du volume de données. Les données sont persistantes dans la mémoire du disque dur et peuvent être conservées indéfiniment si on le souhaite. Kafka peut ainsi faire office de mémoire à long terme, par exemple pour envoyer à nouveau des données à des systèmes en aval. Les données sont répliquées, de sorte que les pannes des différents nœuds de courtage du cluster peuvent être compensées et n'entraînent pas de pertes de données. La combinaison de Kafka avec MQTT s'est avérée particulièrement efficace dans la pratique, car les deux technologies se complètent très bien dans le contexte de l'IoT.
Confluent est une plateforme Kafka qui accélère la gestion et la mise à l'échelle d'un cluster Kafka (sur site ou dans le cloud). Une interface de gestion, différents connecteurs et plugins sont intégrés. Cela permet de connecter facilement différentes sources de données et API. Les flux Kafka permettent de combiner les données de plusieurs flux ou d'effectuer des agrégations. KSQL, un niveau d'abstraction, permet de définir des logiques de traitement dans une syntaxe similaire à celle de SQL. Le "Schema Registry" est également intéressant, car il permet d'enregistrer des schémas pour les messages, de sorte que seules les données avec un schéma valide sont acceptées.
La plateforme IoT constitue le cœur de toute architecture IoT, car elle prend en charge la gestion des actifs et des appareils. De plus, les données peuvent y être visualisées en temps réel dans des tableaux de bord afin de réaliser un monitoring pour les techniciens et les clients finaux. Le monitoring lui-même peut être étendu par des logiques d'alarme proactives, afin que des valeurs seuils ou d'autres critères puissent être définis et contrôlés en permanence. Si une situation d'alarme se produit, les cercles de personnes responsables sont informés de manière automatisée. La plateforme règle également les autorisations d'accès et la sécurité des données, afin d'empêcher tout accès par des tiers et que chaque utilisateur ne puisse consulter que ses propres capteurs/dispositifs.
La plateforme ouverte ThingsBoard permet de répondre à toutes ces exigences d'une plateforme IoT et fait donc partie des techniques les plus importantes en 2022. ThingsBoard peut être utilisée aussi bien sur site que dans le cloud. De plus, une architecture de microservices est disponible pour exploiter les différents services en tant que containers au sein d'un cluster Kubernetes. En outre, la plateforme n'est pas limitée à des cas d'utilisation IoT individuels tels que Smart Manufacturing ou Smart City, mais peut être utilisée de manière flexible dans différents cas d'application. La plateforme peut en outre être complétée à volonté par des connecteurs ou des visualisations propres. En plus de l'interface web, il existe depuis peu une application smartphone pour iOS et Android.
Une autre technologie importante est celle des passerelles API résiduelles, qui mettent les données à la disposition des utilisateurs finaux de manière simple et intuitive. Un exemple classique est celui des services publics de données ouvertes dans le contexte de la ville intelligente, qui sont généralement mis à disposition par les communes et les villes. Ces données ouvertes peuvent être utilisées pour des projets de données allant des applications pour smartphones aux solutions d'analyse avancée. Afin de rendre cette mise à disposition aussi simple que possible pour l'utilisateur, les API résiduelles s'imposent. Les API Rest sont agnostiques en termes de langage de programmation et peuvent donc être utilisées de manière flexible dans différents environnements.