7 Grundlegende IoT-Kommunikationsprotokolle, die jeder Entwickler kennen muss

Minen Dez. 26. 2024
Inhaltsverzeichnis

    Was sind IoT -Kommunikationsprotokolle?

    IoT-Protokolle sind Standards bzw “Sprachen” von Maschinen genutzt, um miteinander zu kommunizieren, oder mit Plattformen. Basierend auf ihren Merkmalen und ihrer Funktionalität, Diese Protokolle sind hauptsächlich unterteilt in 3 Typen: Übertragungsprotokolle, Kommunikationsprotokolle, und branchenspezifische Protokolle.

    Übertragungsprotokolle: verwendet von Geräten für IoT-Netzwerk und Verbindung innerhalb des Subnetzes herstellen, inklusive WLAN, Bluetooth, Zigbee, Ethernet, NFC, 3G/ 4g/ 5g usw..

    Kommunikationsprotokolle: Wird für die Datenübertragung zwischen Geräten verwendet, Arbeiten Sie über der Netzwerkebene und stellen Sie den Benutzern Anwendungsschichtdienste zur Verfügung. Einige der Kommunikationsprotokolle: MQTT, COAP, Http/https, Websocket, Amqp.

    Branchenspezifische Protokolle: Standardprotokolle innerhalb einer bestimmten Branche, um die Kompatibilität zwischen den Geräten sicherzustellen, Systeme, Plattformen durch verschiedene Hersteller und Marken, wie jt/t 808 Fahrzeugterminalkommunikationsprotokoll in China.

    7 Essential IoT Communication Protocols

    Verständnis von 7 IoT -Kommunikationsprotokolle:

    Hier finden Sie einige der in der IoT -Branche verwendeten Kommunikationsprotokolle, einschließlich:

    1. Rest/Http

    Was ist Ruhe

    AUSRUHEN (Repräsentationsstaatsübertragung)ist eher ein architektonischer Stil als Standards für die Gestaltung vernetzter Anwendungen, verwendet HTTP in der Regel als Transportprotokoll, um seine architektonischen Prinzipien umzusetzen.

    Merkmale:

    • Staatenlosigkeit: Jede Anfrage enthält alle erforderlichen Informationen, und der Server behält den Status des Clients nicht bei.
    • Ressourcenidentifikation: Auf der Serverseite, Der Anwendungszustand und die Funktionalität können in verschiedene Ressourcen unterteilt werden, die dem Kunden ausgesetzt sind. Beispiele für Ressourcen umfassen Anwendungsobjekte, Datenbankdatensätze, Algorithmen, usw. Jede Ressource wird eine eindeutige Adresse mit einem URI zugewiesen (Universelle Ressourcenkennung).
    • Einheitliche Schnittstelle: Verwenden Sie Standard -HTTP -Methoden, um Ressourcen zu manipulieren, wie bekommen, POST, SETZEN, LÖSCHEN

    Anwendung:

    REST/HTTP zielt in erster Linie darauf ab, die Systemarchitektur des Internets zu vereinfachen, schnell eine lockere Kopplung zwischen Client- und Server -Interaktionen erreichen, Dadurch werden die Latenz der Interaktion verringert. daher, es ist geeignet für IoT -Anwendung, Aktivieren Sie die Belichtung von IoT -Ressourcen durch Ruhe, Ermöglichen, dass Dienste von anderen Anwendungen aufgerufen werden.

    2. COAP

    Was ist CoAp

    COAP (Eingeschränktes Anwendungsprotokoll) bietet eine einfache und effiziente Kommunikation für eingeschränkte Geräte, Es ist ideal für den Betrieb in geringer Leistung, Low-Bandbreite, und Umgebungen mit hoher Latenz.

    Merkmale:

    • Kopfkomprimierung: CoAp verfügt über einen kompakten Binärkopf mit einer Basis von 4 Bytes, gefolgt von erweiterten Optionen, in der Regel zu einem Anforderungs -Header von 10-20 Bytes.
    • Methoden und URIs: Unterstützung erhalten, SETZEN, POST, Methoden löschen, und URIs zum Zugriff auf Serverressourcen.
    • Transportschicht: Auf UDP aufgebaut, um den Overhead zu minimieren und Multicast zu unterstützen, mit einem einfachen Stop-and-Wait-Zuverlässigkeitsmechanismus.
    • Asynchrone Kommunikation: Im Gegensatz zu http, COAP unterstützt asynchrone Kommunikation, Ideal für M2M -Anwendungen.
    • Ressourcenentdeckung: Beinhaltet ein integriertes Format für die Entdeckung von Ressourcen, Konform mit RFC 5785, Verwenden Sie /.well- bekannt/core für Ressourcenbeschreibungen.
    • Ausschnitt: Unterstützt die Ausstattung von Ressourcenbeschreibungen, um die Leistung zu verbessern.

    Anwendung:

    COAP ist eine vereinfachte HTTP-basierte erholsame API. CoAp ist ein Anwendungsschichtprotokoll in der 6 Lowpan Protocol Stack, Geeignet für IP-Netzwerke für ressourcenbezogene Kommunikation, wie Sensoren mit geringer Leistung und eingebettete Systeme.

    3. MQTT

    Was ist Mqtt

    Das MQTT -Protokoll verwendet ein Veröffentlichung/Abonnement -Muster, wobei IoT -Terminals über TCP typischerweise mit einem MQTT -Broker eine Verbindung herstellen. Der Broker verwaltet die Kommunikationsinhalte durch Themen und ist für die Weiterleitung von Nachrichten zwischen Geräten verantwortlich.

    Merkmale:

    • Pubish/Abonnement -Modell: Clients können Nachrichten an ein Thema veröffentlichen und Nachrichten von bestimmten Themen empfangen. Dieses Modell ermöglicht eine flexible Nachrichtenverteilung.
    • Niedrige Bandbreite: Der Nachrichtenkopf ist minimal, typisch nur 2 Bytes, Unterstützung der effizienten Bandbreitennutzung und der geeigneten für die niedrige Bandbreite geeignet, High-Latenz, und instabile Netzwerke.
    • Zuverlässigkeit: MQTT bietet drei QoS -Ebenen für die Zustellung der Nachrichten an: “höchstens einmal,” “mindestens einmal,” Und “genau einmal.”

    Anwendung:

    MQTT ist im Allgemeinen für die Erfassung von Gerätedaten für Endpunkte geeignet (z.B., Gerät -> Server) und zentralisierte Kommunikation in einer Sternennetzwerkarchitektur, Wenn der Broker als Hub fungiert. Es wird in IoT -Szenarien weit verbreitet und wurde auch in einigen mobilen Anwendungen übernommen, wie Facebook Messenger (historisch).

    4. Dds

    Was ist dds

    Dds (Datenverteilungsdienst) ist ein Middleware -Standard für Echtzeitsysteme. Es erfüllt die strengen Anforderungen verteilter Anwendungen, indem es eine geringe Latenz liefert, hoher Durchsatz, und deterministische Leistung.

    Merkmale:

    • Datenzentriert
    • Brokerless veröffentlichen/abonnieren Messaging -Modell: Point-to-Point unterstützen, Punkt-zu-Multipoint, und Multipoint-Multipoint-Kommunikation.
    • Anbieten bis 21 Servicequalität (QoS) Richtlinien

    Anwendung:

    Verteilt, sehr zuverlässig, Echtzeitdatenkommunikation für Geräte. Momentan, DDS wird in Bereichen wie Zivilluftfahrt und industrieller Kontrolle häufig verwendet.

    5. Amqp

    Was ist AMQP

    AMQP ist ein Protokoll mit offenem Standard für Anwendungsschichten.

    Merkmale:

    • Protokoll auf Drahtebene: Überträgt Daten im Netzwerk als Strom von Bytes über das Netzwerk.
    • Hohe Kompatibilität aufgrund des offenen Standards
    • Flexibel & Sicher: Unterstützt verschiedene Messaging -Muster, einschließlich Veröffentlichung/Abonnieren und Punkt-zu-Punkt. Es umfasst auch mehrere Sicherheitsmechanismen, wie Verschlüsselung und Authentifizierung.

    Anwendung:

    Zunächst für Transaktionsnachrichten in Finanzsystemen verwendet, AMQP wird jetzt hauptsächlich in IoT -Anwendungen für Kommunikations- und Datenanalysen zwischen mobilen Geräten und Backend -Rechenzentren verwendet.

    6. XMPP

    Was ist XMPP

    Als offenes Kommunikationsprotokoll, XMPP (Erweiterbares Nachrichten- und Präsenzprotokoll) ist für Echtzeitkommunikation entwickelt, wie Instant Messaging und Präsenzinformationen.

    Merkmale:

    • Client/Server -Kommunikationsmodell: Clients senden Anfragen an den Server, Dies verarbeitet die Anfragen und sendet die entsprechende Antwort oder Ressource an den Client zurück.
    • Verteiltes Netzwerk: Mehrere unabhängige Knoten bilden das Netzwerk, Beseitigung einzelner Versagenspunkte.
    • Einfache Kunden: Kunden erledigen weniger Aufgaben, mit den meisten Berechnungen auf der Serverseite.
    • XML wird verwendet, um Daten zu beschreiben, Gewährleistung der plattformübergreifenden Kompatibilität, Obwohl JSON in modernen Anwendungen beliebter geworden ist.

    Anwendung:

    XMPP wird in Instant Messaging verwendet, Netzwerkmanagement, Inhaltszustellung, Kollaborationswerkzeuge, Dateifreigabe, Gaming, Remote -Systemüberwachung, und mehr.

    7. JMS

    Was ist JMS

    JMS (Java Message Service) ist eine Standard -API der Java -Plattform für Nachrichten in verteilten Anwendungen. Es ermöglicht die Kommunikation von Anwendungen über Nachrichtenwarteschlangen, So erreichen Sie asynchron, flexibel, und zuverlässiger Nachrichtenaustausch.

    Merkmale:

    • Asynchrone Kommunikation: Ermöglicht das Senden und Empfangen von Nachrichten zu verschiedenen Zeiten, Steigerung der Systemflexibilität und Reaktionsfähigkeit.
    • Meldungsdauer: Bietet Nachrichtendauer, Sicherstellen, dass Nachrichten bei Systemfehlern nicht verloren gehen, und Verbesserung der Zuverlässigkeit
    • Transaktionsunterstützung: JMS bietet Transaktionsunterstützung, Gewährleistung der Atomizität einer Gruppe von Nachrichtenoperationen, bedeutet, dass alle Operationen entweder vollständig erfolgreich sind oder vollständig scheitern, Dadurch garantieren Sie die Datenkonsistenz.

    Anwendung:

    JMS ist ideal für verteilte Anwendungen, die asynchrone Nachrichten erfordern, Systementkopplung, und hohe Zuverlässigkeit, wie die Integration der Unternehmensanwendung, ereignisgesteuerte Architektur, und Echtzeit-Datenverarbeitung.

    Vergleiche von IoT -Kommunikationsprotokollen

    Besonderheit Dds MQTT Amqp XMPP JMS Rest/Http COAP
    Abstraktion Pub/Sub Pub/Sub Pub/Sub DAS Pub/Sub Anfrage/Antwort Anfrage/Antwort
    Architektur Globaler Datenraum Stellvertreter P2P oder Proxy DAS Stellvertreter Durch TCP -Garantie P2P
    QoS 22 Typen 3 Typen 3 Typen DAS 3 Typen Bestätigen Sie über TCP oder bestätigte Nachrichten Ja
    Interoperabilität Ja Teilweise Ja DAS NEIN Ja Ja
    Leistung 100,000 msg/s/sub 1,000 msg/s/sub 1,000 msg/s/sub DAS 1,000 msg/s/sub 100 req/s 100 req/s
    Echtzeit Ja NEIN NEIN NEIN NEIN NEIN Ja
    Transportschicht Unterstützt UDP und TCP TCP TCP Nicht angegeben, Normalerweise TCP TCP UDP UDP
    Abonnementfilterung Nachrichten inhaltsbasierte und themenbasierte Filterung Layered Abonnement basierend auf Themen und Nachrichteninhalten Warteschlange und Nachrichtenfilterung DAS Nachrichteninhalt und Themenfilterung Nicht unterstützt Unterstützt Thema und Multicast
    Codierung Binär Binär Binär XML -Format Binär Einfacher Text Einfacher Text
    Dynamische Entdeckung Ja NEIN NEIN DAS NEIN NEIN NEIN
    Sicherheit Bietet FSS, TLS, und andere Sicherheitsoptionen Einfacher Benutzername/Passwort, SSL -Datenverschlüsselung SASL- und TLS -Datenverschlüsselung DAS Bietet FSS, TLS, Jaas -API -Unterstützung Allgemeine Unterstützung für SSL und TLS Allgemeine Unterstützung für SSL und TLS

     

    Abschluss

    MQTT, Dds, Amqp, XMPP, JMS, AUSRUHEN, und COAP sind weit verbreitete Protokolle, jeweils mit mehreren Implementierungen, Diese Behauptungsunterstützung für Echtzeit-Veröffentlichungen/Abonnieren von IoT-Kommunikation. Jedoch, Bei der Gestaltung bestimmter IoT -Systemarchitekturen, Es ist wichtig, die tatsächlichen Kommunikationsbedürfnisse des Szenarios zu berücksichtigen - wie Bandbreitenbeschränkungen, Latenzanforderungen, und Sicherheit - vor der Auswahl des am besten geeigneten Protokolls.

    Nächste: Was ist RTLS?? Umfassender Leitfaden zum Echtzeit-Ortungssystem
    Vorher: 7 Grundlegende IoT-Kommunikationsprotokolle, die jeder Entwickler kennen muss