
Le protocole MQTT est en train d'être largement adopté pour la communication des dispositifs de localisation GPS. En fait, les principaux fabricants, dont TOPFLYtech, DCT, Squarell Technology, Globalmatix, Xirgo Global et Teltonika, proposent déjà des dispositifs compatibles avec le protocole MQTT. Examinons les raisons de cette tendance et les avantages du protocole MQTT par rapport à la communication traditionnelle entre les appareils et les applications GPS.
Les systèmes télématiques qui comprennent des dispositifs et des applications de télématique embarquée deviennent de plus en plus complexes. Aujourd'hui, ces systèmes peuvent intégrer des dispositifs GPS, divers capteurs, des contrôleurs de bus CAN et de multiples composants logiciels qui traitent les données de manière indépendante et sont souvent maintenus par différentes équipes de développement. Les appareils IdO sont également limités par la connectivité, l'autonomie de la batterie, la puissance de traitement et l'utilisation des données, ce qui peut accroître la valeur d'une communication efficace entre les composants de ces systèmes complexes.
Prenons l'exemple des services de covoiturage. De nombreux aspects doivent être pris en compte : partage de la localisation du véhicule, accès et contrôle à distance, ravitaillement et entretien en temps voulu, notation du conducteur, accidents de la route, antivol, et bien d'autres encore. Ces systèmes nécessitent le traitement d'un grand nombre de données provenant de centaines de capteurs de véhicules et de milliers d'interactions avec les utilisateurs, tout en étant suffisamment évolutifs pour prendre en charge des milliers de véhicules dans plusieurs villes. L'utilisation du protocole MQTT pour les systèmes complexes et évolutifs est avantageuse en raison de son utilité pour atténuer les contraintes de communication de l'IdO et de sa compatibilité presque universelle sur les plateformes, notamment AWS IoT Core, Cloud IoT Core et Azure IoT Hub. Ainsi, MQTT est devenu assez communément utilisé par les développeurs de logiciels et les fabricants d'appareils. Examinons de plus près les avantages du protocole MQTT :
Contrairement au modèle de messagerie traditionnel Request/Response couramment utilisé dans les systèmes télématiques, MQTT utilise la méthode Publish/Subscribe, qui offre la possibilité de diffuser des messages à de nombreux clients à la fois. Les données provenant de n'importe quel type d'appareil IoT peuvent être facilement et rapidement distribuées à de nombreuses applications. Chaque application peut s'abonner à des communications de données particulières provenant de clients connectés à un courtier appelé "topic". L'application ne recevra que les données relatives au sujet auquel elle est abonnée, ce qui limite la quantité de trafic sur le réseau. Par exemple, une application peut s'abonner à un sujet GPS et une autre à un sujet bus CAN. La fonction de publication et d'abonnement permet de rendre les systèmes complexes comme Navixy plus évolutifs avec de multiples nœuds et ensembles de données. Les modèles de communication Publish/Subscribe sont utiles dans les environnements où de nombreux serveurs et clients doivent partager des données et des services. Ils sont mis en œuvre de manière asynchrone (à l'aide d'une file d'attente de messages) et créent beaucoup moins de trafic sur le réseau que les modèles de communication Request/Response traditionnels, qui exigent que tous les clients et serveurs qui doivent partager des données soient connectés les uns aux autres. Ils doivent également s'interroger régulièrement dans le modèle Request/Response, ce qui crée encore plus de trafic sur le réseau, pour voir s'il y a de nouvelles données par rapport au modèle Publish/Subscribe qui n'envoie les données que lorsqu'elles changent. En outre, la communication entre les appareils est découplée, ce qui signifie qu'il est plus facile de sécuriser l'ensemble du réseau.
Certains paquets de données sont plus importants que d'autres. Par exemple, il peut être très important de recevoir toutes les alertes d'une alarme de voiture, alors que manquer une paire de mesures de la température du liquide de refroidissement n'est pas grave. C'est là que le mécanisme de qualité de service (QoS) est vraiment utile : il permet aux développeurs et aux intégrateurs de systèmes télématiques de définir certaines attentes en matière de livraison de données. La qualité de service garantit que certaines données prioritaires sont transmises aux dispositifs ou aux applications, ou en proviennent, lorsque la capacité du réseau est limitée. Le protocole MQTT comporte trois niveaux de qualité de service qui sont déterminés par le type de client ou d'abonnement :
Avant l'existence de MQTT, la connexion des appareils et des réseaux aux logiciels et aux applications nécessitait des intégrations complexes, opportunes et coûteuses en raison de l'utilisation d'une variété de protocoles de communication. MQTT est couramment utilisé dans les applications et les secteurs d'activité, et il est facile pour les développeurs de créer des applications et des progiciels dans les nuages ou sur site. Par exemple, Mosquitto MQTT peut être déployé avec un pont MQTT configuré avec Navixy Broker sur Navixy Central. AWS IoT, Azure IoT et Google Cloud IoT disposent tous de courtiers MQTT et sont compatibles avec leurs plateformes d'informatique en nuage.
Il convient de mentionner que le protocole MQTT a été conçu à l'origine pour surveiller les capteurs IoT dans le désert via des liaisons par satellite. C'est pourquoi MQTT a une empreinte de code réduite et n'ajoute pas beaucoup de frais généraux. Il maximise la bande passante disponible et réduit les taux de mise à jour à quelques secondes. De plus, il peut également être utilisé pour contrôler des appareils en envoyant des commandes à partir d'applications. Un nombre illimité d'appareils peut recevoir des commandes, par exemple lors de mises à jour en masse. Pour la télématique embarquée, l'avantage de la légèreté permet de maintenir les coûts de connectivité cellulaire et satellitaire aussi bas que possible.
Grâce à la faible surcharge et au mécanisme de qualité de service intégré, le protocole de messagerie MQTT peut être utilisé dans n'importe quel réseau physique. Pour la télématique automobile, il s'agit le plus souvent de réseaux GPRS, SAT ou LPWAN. MQTT nécessite un transport sous-jacent qui fournit un flux d'octets ordonné et sans perte entre le client et le courtier. Il ne nécessite pas de protocole de transport spécifique, mais peut prendre en charge TCP/IP, Transport Layer Security et Websocket, entre autres. Les transports réseau sans connexion tels que UDP ne sont pas appropriés en soi car ils risquent de réorganiser les données. MQTT est un protocole binaire dans lequel les éléments de contrôle sont des octets binaires et non des chaînes de texte. Il a un format de commande et d'accusé de réception de commande, de sorte que lorsqu'un éditeur/client envoie un message pour établir une connexion avec le courtier, ce dernier envoie un accusé de réception. D'autres accusés de réception sont déterminés par le niveau de qualité de service. Les paquets se composent d'un en-tête, d'un en-tête variable et d'une charge utile.
Au niveau supérieur, les messages MQTT peuvent encapsuler diverses structures de données. D'après les observations faites sur les appareils déjà pris en charge par Navixy, le protocole MQTT transporte l'un ou l'autre des éléments suivants :
L'un des principaux attributs de Navixy est la facilité d'intégration avec une grande variété de types d'appareils. Il est actuellement intégré à plus de 1 200 types d'appareils qui peuvent être connectés à Navixy à l'aide de MQTT ou de tout autre protocole propriétaire. Dans un cas d'utilisation MQTT, Navixy agit en tant que courtier MQTT et prend en charge le protocole MQTT v3.1.1 et tous les niveaux de QoS. Navixy utilise également une API REST pour faciliter l'accès aux données recueillies. Ces caractéristiques permettent aux fournisseurs de GPS et aux intégrateurs de connecter des appareils compatibles MQTT à Navixy et de construire des réseaux IoT et GPS complexes.
Navixy peut également être configuré comme un client MQTT qui reçoit des mises à jour publiées par d'autres clients connectés à un courtier tiers. Dans ce cas, Navixy s'abonne aux sujets MQTT pertinents qui sont publiés par les autres clients. Navixy ne reçoit que les données publiées des sujets auxquels il est abonné. Les types d'appareils qui peuvent être intégrés seront dictés par le courtier tiers et non par Navixy. Cela peut limiter le nombre de types d'appareils disponibles pour collecter des données.
De nombreux fabricants d'appareils GPS de premier plan produisent déjà du matériel compatible avec MQTT et le nombre de ces types d'appareils ne cesse d'augmenter. TOPFLYtech a récemment déployé MQTT dans sa nouvelle série d'appareils 4G. Selon le directeur des ventes Blazer Hou, MQTT optimise considérablement la communication dans les grands systèmes comportant de nombreux serveurs et applications. L'entreprise voit donc de nouvelles opportunités fondamentales dans la création de grandes solutions IoT basées sur MQTT. Le fabricant allemand Globalmatix trouve MQTT avantageux pour travailler avec des données CANbus. L'application spécifique de ses appareils est la capacité de travailler avec un grand nombre de paramètres CAN-bus. Grâce à la possibilité d'utiliser des sujets MQTT, les développeurs d'applications peuvent facilement s'abonner uniquement à l'ensemble des paramètres dont ils ont besoin. Le fabricant d'appareils Xirgo Global, récemment acquis par Sensata Holding, utilise également MQTT dans ses appareils les plus avancés, tels que le XG3700. Cette ligne est axée sur les applications dans les solutions non standard : les intégrateurs peuvent utiliser le SDK pour créer leurs propres scripts de gestion des périphériques, y compris via le bus CAN. Il est logique que MQTT ait été choisi comme protocole de communication pour les appareils conçus pour ces projets complexes. Une approche similaire est suivie par Digital Communications Technologies (DCT), qui produit une passerelle embarquée pour les données télématiques Syrus 4G qui utilise également MQTT pour la communication. La passerelle est construite sur une plateforme Linux et fournit une API et un SDK pour les intégrateurs. Parmi les autres entreprises qui utilisent MQTT dans leurs appareils, citons Teltonika, Aplicom, Squarell Technology, InHand, Thinkrace et bien d'autres. On peut donc dire qu'il existe une tendance à l'utilisation de MQTT pour la communication avec des dispositifs GPS configurables de manière flexible.
Un mauvais choix de protocole de messagerie peut être coûteux, retarder le développement et faire dérailler la mise en œuvre. Si vous construisez un système télématique avec la perspective d'un développement sérieux, alors vous devriez examiner attentivement l'utilisation de MQTT comme protocole principal entre vos dispositifs GPS et les applications IoT. Les intégrateurs et les développeurs peuvent utiliser n'importe quel équipement GPS/IoT fonctionnant avec le protocole MQTT avec la plateforme Navixy. Les capacités du Navixy MQTT Broker et du Navixy MQTT Central vous permettent de créer des solutions flexibles et fiables, prêtes à supporter des coûts élevés.