7 Protocoles de communication IoT essentiels que tout développeur doit connaître

Mines Déc. 26. 2024
Table des matières

    Que sont Protocoles de communication IoT?

    Les protocoles IoT sont des normes ou “langues” utilisé par les machines pour communiquer entre elles, ou avec des plateformes. En fonction de leurs caractéristiques et fonctionnalités, ces protocoles sont principalement divisés en 3 genres: protocoles de transmission, protocoles de communication, et protocoles spécifiques à l'industrie.

    Protocoles de transmission: utilisé par les appareils pour Réseau IdO et se connecter dans le sous-réseau, y compris le Wi-Fi, Bluetooth, Zigbee, Ethernet, NFC, 3G / 4G / 5G etc.

    Protocoles de communication: Utilisé pour la transmission des données entre les appareils, Faire fonctionner au-dessus de la couche réseau et fournir des services de couche d'application aux utilisateurs. Certains des protocoles de communication: MQTT, Épiler, Http / https, Websocket, AMQP.

    Protocoles spécifiques à l'industrie: Protocoles standard au sein d'une industrie spécifique pour assurer la compatibilité entre les appareils, systèmes, plates-formes de différents fabricants et marques, comme JT / T 808 Protocole de communication terminale de véhicule en Chine.

    7 Essential IoT Communication Protocols

    Compréhension de 7 Protocoles de communication IoT:

    Vous trouverez ici certains des protocoles de communication utilisés dans l'industrie IoT, y compris:

    1. Repos / http

    Qu'est-ce qui se repose

    REPOS (Transfert d'état de représentation)est un style architectural plutôt que des normes de conception d'applications en réseau, Utilise généralement HTTP comme protocole de transport pour mettre en œuvre ses principes architecturaux.

    Caractéristiques:

    • Apatritude: Chaque demande contient toutes les informations nécessaires, Et le serveur ne maintient pas l'état du client.
    • Identification des ressources: Côté serveur, L'état d'application et la fonctionnalité peuvent être divisés en diverses ressources, qui sont exposés au client. Les exemples de ressources incluent les objets d'application, Enregistrements de base de données, algorithmes, etc.. Chaque ressource se voit attribuer une adresse unique en utilisant un URI (Identifiant de ressources universels).
    • Interface uniforme: Utilisez des méthodes HTTP standard pour manipuler les ressources, comme obtenir, POSTE, METTRE, SUPPRIMER

    Application:

    REST / HTTP vise principalement à simplifier l'architecture système d'Internet, Atteindre rapidement le couplage lâche entre les interactions client et serveur, réduisant ainsi la latence d'interaction. Donc, il convient à Application IoT, Activer l'exposition des ressources IoT par le repos, Permettre aux services d'être invoqués par d'autres applications.

    2. Épiler

    Qu'est-ce que COP

    Épiler (Protocole d'application contraint) Offre une communication facile et efficace pour les appareils contraints, Le rendre idéal pour le fonctionnement en faible puissance, basse bande passante, et des environnements de latence élevée.

    Caractéristiques:

    • Compression en tête: COAP dispose d'un en-tête binaire compact avec une base de 4 octets, suivi des options étendues, résultant généralement en une en-tête de demande de 10-20 octets.
    • Méthodes et uris: Les supports Get, METTRE, POSTE, Supprimer les méthodes, et uris pour accéder aux ressources du serveur.
    • Couche de transport: Construit sur UDP pour minimiser les frais généraux et prendre en charge la multidiffusion, avec un simple mécanisme de fiabilité d'arrêt et d'attente.
    • Communication asynchrone: Contrairement à Http, COAP prend en charge la communication asynchrone, Idéal pour les applications M2M.
    • Découverte de ressources: Comprend un format intégré pour la découverte des ressources, conforme à la RFC 5785, Utilisation /.well-known/core pour les descriptions des ressources.
    • Mise en cache: Prend en charge la mise en cache des descriptions des ressources pour améliorer les performances.

    Application:

    COAP est une API RESTful Simplified HTTP. COAP est un protocole de couche d'application dans le 6 Pile de protocole LowPan, Convient pour les réseaux IP de communication à base de ressources, tels que des capteurs à faible puissance et des systèmes intégrés.

    3. MQTT

    Qu'est-ce que MQTT

    Le protocole MQTT utilise un modèle de publication / d'abonnement, où les terminaux IoT se connectent généralement à un courtier MQTT via TCP. Le courtier gère le contenu de la communication via des sujets et est responsable du transfert des messages entre les appareils.

    Caractéristiques:

    • Modèle pubish / abonnement: Les clients peuvent publier des messages sur un sujet et s'abonner pour recevoir des messages de sujets spécifiques. Ce modèle permet une distribution de messages flexible.
    • Bande passante: L'en-tête de message est minime, Généralement seulement 2 octets, Soutenir une utilisation efficace de la bande passante et la rendre adaptée à la bandon à faible bande passante, à la latence élevée, et réseaux instables.
    • Fiabilité: MQTT propose trois niveaux de QoS pour la livraison de messages: “au plus une fois,” “au moins une fois,” et “Exactement une fois.”

    Application:

    MQTT convient généralement à la collecte des données de l'appareil aux points de terminaison (par exemple., Appareil -> Serveur) et communication centralisée dans une architecture de réseau star, avec le courtier agissant comme le hub. Il est largement utilisé dans les scénarios IoT et a également été adopté dans certaines applications mobiles, comme Facebook Messenger (historiquement).

    4. Dds

    Qu'est-ce que DDS

    Dds (Service de distribution de données) est une norme de middleware créée pour systèmes en temps réel. Il répond aux demandes strictes des demandes distribuées en offrant une faible latence, haut débit, et performance déterministe.

    Caractéristiques:

    • Axé sur les données
    • Modèle de messagerie publique / souscrip sans courtiers: Support point à point, point à manquer de point, et communication multipoint à multipoint.
    • Offrir 21 Qualité de service (QoS) Politiques

    Application:

    Distribué, très fiable, Communication de données en temps réel pour les appareils. Actuellement, DDS est largement utilisé dans des domaines comme l'aviation civile et le contrôle industriel.

    5. AMQP

    Qu'est-ce que AMQP

    L'AMQP est un protocole de couche d'application à standard ouvert conçu pour garantir des mécanismes fiables de transmission et de file d'attente de messages.

    Caractéristiques:

    • Protocole de niveau de fil: Transmet des données sur le réseau comme un flux d'octets.
    • Compatibilité élevée en raison de la norme ouverte
    • Flexible & Sécurisé: Prend en charge divers motifs de messagerie, y compris publier / abonner et point à point. Il intègre également plusieurs mécanismes de sécurité, comme le cryptage et l'authentification.

    Application:

    Initialement utilisé pour la messagerie de transaction dans les systèmes financiers, L'AMQP est désormais principalement utilisée dans les applications IoT pour la communication et l'analyse des données entre les appareils mobiles et les centres de données backend.

    6. XMPP

    Qu'est-ce que XMPP

    En tant que protocole de communication à norme ouverte, XMPP (Protocole de messagerie et de présence extensible) est conçu pour une communication en temps réel, comme la messagerie instantanée et les informations de présence.

    Caractéristiques:

    • Modèle de communication client / serveur: Les clients envoient des demandes au serveur, qui traite les demandes et renvoie la réponse ou la ressource appropriée au client.
    • Réseau distribué: Plusieurs nœuds indépendants forment le réseau, Éliminer les points de défaillance uniques.
    • Clients simples: Les clients gèrent moins de tâches, avec la plupart des calculs effectués du côté serveur.
    • XML est utilisé pour décrire les données, Assurer la compatibilité multiplateforme, Bien que JSON soit devenu plus populaire dans les applications modernes.

    Application:

    XMPP est utilisé dans la messagerie instantanée, gestion du réseau, livraison de contenu, outils de collaboration, Partage de fichiers, jeu, Surveillance du système à distance, et plus.

    7. Jms

    Qu'est-ce que JMS

    Jms (Service de messages Java) est une API standard de la plate-forme Java pour la messagerie dans des applications distribuées. Il permet aux applications de communiquer via des files d'attente de messages, réalisant ainsi asynchrone, flexible, et échange de messages fiables.

    Caractéristiques:

    • Communication asynchrone: Permet d'envoyer et de recevoir des messages à différents moments, Augmentation de la flexibilité et de la réactivité du système.
    • Durabilité des messages: Fournit une persistance du message, S'assurer que les messages ne sont pas perdus en cas d'échecs système, et améliorer la fiabilité
    • Assistance des transactions: JMS fournit un support de transaction, Assurer l'atomicité d'un groupe d'opérations de messages, ce qui signifie que toutes les opérations réussissent complètement ou échouent entièrement, garantissant ainsi la cohérence des données.

    Application:

    JMS est idéal pour les applications distribuées nécessitant une messagerie asynchrone, découplage du système, et haute fiabilité, comme l'intégration des applications d'entreprise, Architecture axée sur l'événement, et traitement des données en temps réel.

    Comparaisons des protocoles de communication IoT

    Fonctionnalité Dds MQTT AMQP XMPP Jms Repos / http Épiler
    Abstraction Pub / sub Pub / sub Pub / sub QUE Pub / sub Demande / réponse Demande / réponse
    Architecture Espace de données mondial Procuration P2P ou proxy QUE Procuration Grâce à la garantie TCP P2P
    QoS 22 genres 3 genres 3 genres QUE 3 genres Confirmer via TCP ou les messages confirmés Oui
    Interopérabilité Oui Partiellement Oui QUE Non Oui Oui
    Performance 100,000 msg / s / sub 1,000 msg / s / sub 1,000 msg / s / sub QUE 1,000 msg / s / sub 100 req / s 100 req / s
    En temps réel Oui Non Non Non Non Non Oui
    Couche de transport Prend en charge UDP et TCP TCP TCP Non spécifié, Habituellement TCP TCP UDP UDP
    Filtrage d'abonnement Filtrage basé sur le contenu et basé sur le contenu Abonnement en couches basé sur des sujets et du contenu du message Filtrage de file d'attente et de messages QUE Contenu des messages et filtrage du sujet Non supporté Prend en charge le sujet et la multidiffusion
    Codage Binaire Binaire Binaire Format XML Binaire Texte brut Texte brut
    Découverte dynamique Oui Non Non QUE Non Non Non
    Sécurité Fournit FSS, TLS, et d'autres options de sécurité Nom d'utilisateur / mot de passe simple, Cryptage de données SSL Cryptage de données SASL et TLS QUE Fournit FSS, TLS, Support de l'API JAAS Support général pour SSL et TLS Support général pour SSL et TLS

     

    Conclusion

    MQTT, Dds, AMQP, XMPP, Jms, REPOS, et COAP sont des protocoles largement utilisés, chacun avec plusieurs implémentations, Cette affirmation du support pour la communication IoT Publish / Subcribe en temps réel. Cependant, Lors de la conception d'architectures de système IoT spécifiques, Il est essentiel de considérer les besoins de communication réels du scénario, comme les limitations de la bande passante, exigences de latence, et la sécurité - avant de sélectionner le protocole le plus approprié.

    Suivant: Qu'est-ce que RTLS? Guide complet du système de localisation en temps réel
    Précédent: 7 Protocoles de communication IoT essentiels que tout développeur doit connaître