Protokolle für das Internet der Dinge

Was genau ist das Internet der Dinge? Die Antwort hängt stark von Ihrer Position in der Lieferkette ab. Viele haben sich an einer Festlegung versucht, und die unterschiedlichen Definitionen sind oftmals durch die Anforderungen der jeweiligen Branche oder die eigenen Interessen gefärbt. Doch als Hardware- oder Softwaretechniker ist Ihnen das Grundelement bereits vertraut: die Erstellung von Produkten, die miteinander vernetzt sind. Und eingebettete Systeme werden – wie schon jetzt – eine wichtige Rolle bei der Entwicklung des Internet der Dinge (Internet of Things, IoT) spielen. In diesem Artikel beschäftigen wir uns mit dem Internet sowie mit den vorhandenen und neuen Protokollen, die das IoT unterstützen. Bevor wir uns den Protokollen zuwenden, müssen wir zunächst den Begriff „Ding“ definieren, da die Aufgaben der Endgeräte den Großteil der von den Protokollen zu verwendenden Anforderungen vorschreiben.

Ein Internet der Dinge für die Industrie und eins für Verbraucher

Die Softwareanforderungen für IoT-Geräte aus Industrie- und Verbraucherperspektive können erheblich voneinander abweichen. Zwar sind ihnen möglicherweise ein Kernel und bestimmte Low-Level-Dienstleistungen gemeinsam, aber die für ihre Anwendungen erforderliche Middleware ist oftmals komplett unterschiedlich.


Das industrielle IoT, sprich ein drahtloser Sensorknoten (Wireless Sensor Node, WSN), stellt einen Softwarestack für ein industrielles IoT-Gerät dar. Dieses kostengünstige Gerät mit geringem Energieverbrauch kann komplett über eine Batterie betrieben werden und verwendet in der Regel einen

32-Bit-Prozessor. Auch die Verwendung eines 8- oder 16-Bit-Prozessors ist möglich, aber dann laufen die Kommunikationsstacks auf Zusatzmodulen. Um die Übertragungszeit zu reduzieren und Strom zu sparen, ist ein leistungsstarkes Netzwerkprotokoll wie 6LoWPAN vonnöten. Auch eine drahtlose Bluetooth-Kommunikation über kurze Distanzen ist möglich. Als Edge-Knoten müssen die Daten vom drahtlosen Netz in ein IP-basiertes Netz (lokales oder öffentliches Internet) übertragen werden, wofür eine stromsparende Wi-Fi- oder Ethernet-Verbindung verwendet wird. 

Die Softwareanforderungen für dieses Gerät sind natürlich deutlich anspruchsvoller, und es ist möglicherweise eine Java-VM erforderlich. Außerdem wird wahrscheinlich ein Protokoll für vertikale Märkte verwendet. Leider ist das IoT für Verbraucher in Bezug auf das Protokoll für vertikale Märkte (Anwendungsprotokoll) stark fragmentiert. Viele Unternehmen schlagen eigene Lösungen vor. Auf dem Verbrauchermarkt umfasst dies zum Beispiel:

  •  MFI (Made For Idevices) von Apple

  •  Google (Nest) hat Thread angekündigt.

  •  Samsung, Intel , Dell , Atmel und Broadcom haben sich zusammengetan und das Open Interconnect Consortium

    (OIC) gegründet.

  •  Die AllSeen Alliance (früher AllJoyn) schlägt schon seit Jahren einen Standard vor. Zu den Hauptmitgliedern zählen

    Haier, LG, Microsoft, Panasonic, Qualcomm, Sharp, Silicon Image, Technicolor und TP-Link.  

Es gibt auch andere Beispiele wie PLC (Power Line Communication): HomePlug und HomeGrid.
Im vertikalen Medizinmarkt werden von Organisationen wie der Continua Alliance, IHE (Integrating the HealthCare Enterprise) und IEEE ebenfalls Standards entwickelt und vorgeschlagen.

Micrium bietet diese Protokolle nicht an. Ein Gerätehersteller, dessen Produkte mit einem dieser Protokolle für das Verbraucher-IoT kompatibel sein müssen, muss bei diesen Organisationen eingetragen sein und diese Protokolle dann im Rahmen der Produktanwendung integrieren.

Beim industriellen IoT ist diese marktgesteuerte Initiative weniger stark vertreten. Es gibt eine größere Kooperation namens IIC (Industrial Internet Consortium), zu deren Gründungsmitgliedern AT&T, Cisco, GE, Intel und IBM gehören. Doch abgesehen von IIC ist die Entwicklung von IoT-Geräten und -Systemen im Prinzip den Unternehmen überlassen. Aus diesem Grund sind Kenntnisse über das Internet und die Internetprotokolle (IP) heutzutage so wichtig für Entwickler von eingebetteten Systemen.

Internetprotokoll (IP)

Die Verwendung von IP-Technologie ist ein grundlegendes Merkmal des IoT. IP ermöglicht die Interoperabilität zwischen Systemen. Dies mag heute noch nicht so wichtig erscheinen, aber mit der Weiterentwicklung des IoT wird sich die Interoperabilität zwischen Systemen zu einer relevanten einkommenswirksamen Funktion auswachsen. Ethernet/Wi-Fi und 6LoWPAN stützen sich stark auf IPv4 und IPv6.

Im IoT verwendete IP-Protokolle

Es ist sicherlich möglich, ein IoT-System unter Nutzung bestehender Webtechnologien zu entwickeln, selbst wenn dies nicht so effizient wie die Verwendung der neueren Protokolle ist. HTTP(S) und WebSocket sind gängige Standards in Verbindung mit XML oder JavaScript Object Notation (JSON) als Nutzlast. Bei Verwendung eines Standardwebbrowsers (HTTP-Client) stellt JSON eine Abstraktionsschicht bereit, über die Webentwickler eine statusbehaftete Webanwendung mit persistenter Duplexverbindung zu einem Webserver (HTTP-Server) erstellen können, indem zwei HTTP-Verbindungen offen gehalten werden.

HTTP

HTTP ist die Grundlage des für das Web verwendeten Client-Server-Modells. Die sicherste Methode für die Implementierung von HTTP im IoT-Gerät ist die Verwendung eines Clients (anstelle eines Servers). Anders ausgedrückt ist es sicherer, wenn das IoT-Gerät Verbindungen zu einem Webserver initiieren, aber keine Verbindungsanforderungen empfangen kann. Schließlich sollen externe Computer keinen Zugriff auf das lokale Netzwerk erhalten, in dem die IoT-Geräte installiert sind.

WebSocket

WebSocket ist ein Protokoll, das eine Voll-Duplex-Kommunikation über eine einzelne TCP-Verbindung zum Senden von Nachrichten zwischen Client und Server bereitstellt. Dieses Protokoll gehört zur HTML-5-Spezifikation. Durch den WebSocket-Standard wird das komplexe Gefüge von bidirektionaler Webkommunikation und Verbindungsverwaltung sehr vereinfacht. Die Verwendung von WebSocket in Verbindung mit HTTP stellt eine gute Lösung für IoT-Geräte dar, wenn diese Geräte die HTTP-Nutzlast handhaben können.

XMPP

XMPP (Extensible Messaging and Presence Protocol) ist ein gutes Beispiel für eine bestehende Webtechnologie, die in der IoT-Struktur eine neue Verwendung findet.

XMPP hat seine Wurzeln in den Bereichen Instant Messaging und Präsenzinformationen. Das Protokoll hat in Sprach- und Videoanrufe, Zusammenarbeit, leichte Middleware, Content-Syndication und das allgemeine Routing von XML-Daten Eingang gefunden. Es ist ein Mitstreiter beim Massenmanagement von Haushaltsgeräten wie Waschmaschinen, Trocknern, Kühlschränken usw.

Aufgrund seiner Stärken, wie Adressierung, Sicherheit und Skalierbarkeit, ist XMPP wie geschaffen für verbraucherorientierte IoT-Anwendungen.

HTTP, WebSocket und XMPP sind Beispiele für Technologien, die für das IoT eingesetzt werden, ohne optimal dafür geeignet zu sein. Andere Gruppen arbeiten hart an der Entwicklung von Lösungen für die neuen Herausforderungen, vor die uns das Internet der Dinge stellt.

Spezielle Protokolle für das IoT

Viele IoT-Experten bezeichnen IoT-Geräte als Systeme mit Beschränkungen. Diese Fachleute sind der Auffassung, dass IoT-Geräte bei der Ausführung in einem Kommunikationsstack so kostengünstig wie möglich angeboten werden und die kleinsten verfügbaren MCUs verwenden sollten. 

Die Anpassung des Internets für das IoT gehört derzeit zu den wichtigsten Prioritäten vieler globaler Standardisierungsstellen. 

Wenn Ihr System keine TCP-Funktionen benötigt und mit den begrenzteren UDP-Funktionen auskommt, können Sie die Größe des gesamten Codebedarfs für Ihr Produkt reduzieren, indem Sie das TCP-Modul komplett entfernen. Dies ist der Beitrag von 6LoWPAN (für WSN) und CoAP (Lightweight IP) zur Welt des IoT.

CoAP

Obwohl die Webinfrastruktur verfügbar ist und für IoT-Geräte eingesetzt werden kann, ist sie für die meisten IoT-Anwendungen zu aufwendig. Im Juli 2013 hat die IETF das CoAP (Constrained Application Protocol) für die Verwendung mit verlustbehafteten (eingeschränkten) Knoten und Netzwerken mit geringem Energieverbrauch(Low-Power and Lossy Nodes and Networks, LLNs) veröffentlicht. CoAP ist wie HTTP ein RESTful-Protokoll.

CoAP ist semantisch im Einklang mit HTTP und verfügt sogar über Eins-zu-Eins-Mapping mit HTTP. Netzwerkgeräte werden durch kleinere Mikrocontroller mit geringem Flash-Speicher und RAM beschränkt, während die Beschränkungen in lokalen Netzwerken, wie 6LoWPAN, auf hohe Paketfehlerraten und einen geringen Durchsatz (zig Kilobit pro Sekunde) zurückzuführen sind. CoAP eignet sich mitunter gut als Protokoll für Geräte, die über Batterien oder Energy-Harvesting betrieben werden.

Merkmale von CoAP: CoAP verwendet UDP

 Da CoAP UDP verwendet, werden einige TCP-Funktionen direkt in CoAP repliziert. Beispielsweise unterscheidet CoAP zwischen überprüfbaren Nachrichten (die eine Bestätigung erfordern) und nicht überprüfbaren Nachrichten.

  •  Anforderungen und Antworten werden asynchron über CoAP-Nachrichten ausgetauscht (im Gegensatz zu HTTP, wo eine vorhandene TCP-Verbindung verwendet wird).

  •  Alle Header, Methoden und Statuscodes sind binär codiert, wodurch sich der Protokoll-Overhead reduziert. Allerdings ist dabei ein Protokollanalyseprogramm für die Fehlerbehebung von Netzwerkproblemen erforderlich.

  •  Anders als bei HTTP hängt die Fähigkeit, CoAP-Antworten zwischenzuspeichern, nicht von der Anforderungsmethode, sondern vom Antwortcode ab.

    CoAP erfüllt alle Anforderungen für ein äußerst leichtgewichtiges Protokoll, das die Eigenschaften einer dauerhaften Verbindung aufweist. Es hat semantische Ähnlichkeit mit HTTP und ist ein RESTful-Dienst (Ressourcen, Ressourcenbezeichner und Bearbeitung dieser Ressourcen über eine einheitliche API (Application Programming Interface)). Für Entwickler mit Hintergrund im Webbereich ist die Verwendung von CoAP relativ einfach.

    MQTT

    MQ Telemetry Transport (MQTT) ist ein Open-Source-Protokoll, das für Geräte mit Beschränkungen und Netzwerke mit geringer Bandbreite, hoher Latenz oder großer Unzuverlässigkeit entwickelt und optimiert wurde. Es handelt sich um einen besonders leichtgewichtigen Nachrichtentransport nach dem Veröffentlichen-Abonnieren-Prinzip, der sich ideal für die Vernetzung von kleinen Geräten und Netzwerken mit geringer Bandbreite eignet. MQTT ist bandbreiteneffizient, datenagnostisch und kontinuierlich sitzungspräsent, da es TCP verwendet. MQTT soll die Ressourcenanforderungen von Geräten reduzieren und gleichzeitig für Zuverlässigkeit und eine gewisse Liefersicherheit mit verschiedenen Servicegraden sorgen.

    MQTT zielt auf große Netzwerke für kleine Geräte ab, die von einem Back-End-Server im Internet überwacht oder gesteuert werden müssen. Es ist nicht für die Übertragung von Gerät zu Gerät geeignet und auch nicht für das Multicasting von Daten an viele Empfänger. MQTT ist einfach strukturiert und bietet nur wenige Steueroptionen. Anwendungen, die MQTT verwenden, sind üblicherweise eher „langsam“, wobei die Echtzeit in diesem Fall normalerweise in Sekunden gemessen wird.

    Vergleich potenzieller IoT-Protokolle

    Cisco ist das Herzstück des Internets, und die IP-Ausrüstung dieses Unternehmens findet sich überall. Cisco nimmt heute aktiv an der Evolution des IoT teil. Das Unternehmen erkennt, welches Potenzial eine Vernetzung physischer Objekte, das Abrufen von Daten aus unserer Umgebung und die Verarbeitung dieser Daten zur Verbesserung unseres Lebensstandards bietet.

    Diese internetspezifischen IoT-Protokolle wurden entwickelt, um die Anforderungen von Geräten mit wenig

    Speicher und von Netzwerken mit geringer Bandbreite und hoher Latenz zu erfüllen.

    HTTP kann ein schwergewichtiges Protokoll für ein IoT-Gerät sein. Die Nachrichten sind umfangreich, da sie im Klarschriftformat gesendet werden. Für IoT-Geräte ist die Nutzlastgröße oftmals eine Einschränkung. Bei einer großen Gerätefamilie kann das Melden und Annehmen von Befehlen wesentlich effizienter mit einem leichteren Protokoll erfolgen. MQTT wurde als Antwort auf diese Probleme vorgeschlagen. MQTT ist kein IETF-Standard, sondern wird von IBM und der Eclipse Foundation vorangetrieben.

    Fazit

    Das Internet der Dinge beinhaltet den Begriff „Internet“. Mitunter werden Geräte als IoT-Geräte angeboten, ohne dass das Internetprotokoll verwendet wird. Das ist zu erwarten. Heute ist das Internet der Dinge oder IoT ein derart starkes Konzept (manche würden auch von einem Hype sprechen), dass alle Hersteller den enormen Medienrummel um IoT nutzen möchten.

    Das Internetprotokoll (IP) fungiert als Träger. Es kann genauso viele Protokolle für das IoT umfassen wie es das bereits für das Web tut. Viele Branchenexperten verlangen nach einer Protokollstandardisierung. Doch wenn es eine solch große Anzahl an Protokollen für das Web gibt, warum sollte es nicht genauso viele für das IoT geben? Sie können die Protokolle auswählen, die Ihrem Bedarf entsprechen. Der einzige Unterschied besteht darin, dass die IoT-Protokolle relativ jung sind und ihre Zuverlässigkeit noch unter Beweis stellen müssen. Man darf nicht vergessen, dass IP-Version 4 das Internet erst zur Realität werden ließ. Mittlerweile wird IP 6 im großen Umfang bereitgestellt, und das IoT ist die Killeranwendung, auf die Telekommunikationsanbieter schon gewartet haben, um die erforderliche Investition zu rechtfertigen.

    Die Positionierung für die einzelnen IoT-Protokolle wirft ähnliche Fragen auf. Mit der Ausnahme von HTTP sind alle diese Protokolle als Echtzeit-IoT-Protokolle nach dem Veröffentlichen-Abonnieren-Prinzip positioniert und bieten Unterstützung für Millionen von Geräten. Die Auswahl des richtigen Protokolls für Ihr Produkt ist von großer Bedeutung und hängt davon ab, wie Sie „Echtzeit“ (Sekunden, Millisekunden oder Mikrosekunden) und „Dinge“ (WSN-Knoten, Multimediagerät, tragbares persönliches Gerät, medizinischer Scanner, Motorsteuerung usw.) definieren. Grundsätzlich sind diese Protokolle alle sehr unterschiedlich.

    Abgesehen vom Hardware- und Softwaredesign ist da noch das Design der IoT-Datensysteme. Man muss zwischen Daten und Anwendung unterscheiden – nur so können wir komplett neue Dinge erschaffen. Dinge, die wir uns heutzutage noch nicht einmal vorstellen können. Für die meisten Entwickler eingebetteter Systeme erfordert der Fokus auf die vom System generierten Daten einen neuen Denkansatz. Diese Daten haben einen Wert. Beim eingebetteten Systemdesign haben wir ein sehr gutes Verständnis von der Architektur des „Dings“, des lokalen Netzwerks und sogar des Gateways. Prozessoren, Sensoren, drahtlose Konnektivität, Gateways, IP-Netzwerke und Sicherheit sind alles Elemente, mit denen Entwickler eingebetteter Systeme bestens vertraut sind.

    Die neue Herausforderung für die Embedded-Community besteht darin, den Wert unserer Daten zu nutzen, indem eine Art von Cloud Computing eingesetzt wird. Um die Daten des eingebetteten Systems zu monetarisieren, kann auf Cloud Computing nicht verzichtet werden, wobei es sich um privates, ausgelagertes oder öffentliches Cloud Computing handeln kann. Das ist ein neues Paradigma für die Embedded-Community.

    Hardware- und Softwaretechnologie, Infrastruktur und Cloud Computing für eingebettete Systeme werden aktiv getestet und bereitgestellt und fördern das aufstrebende Internet der Dinge. Um wirklich erfolgreich zu sein und die 50 Milliarden Geräte bis zum Jahr 2020 Realität werden zu lassen, benötigen wir dieselben offenen Standards und das gleiche Niveau an Entwicklung und Zusammenarbeit, das zum Internet der Menschen (sprich dem Web) geführt hat. Die IPSO Alliance setzt sich für IP-Standards ein, um die von Produktentwicklern gewünschten Referenzarchitekturen zu schaffen.

    Das IoT für eingebettete Systeme ist mit einer neuen industriellen Revolution gleichzusetzen. Das Wachstumspotenzial für die Embedded-Industrie ist enorm. Um dieses Potenzial zu realisieren, muss die Branche das neue IoT-Paradigma annehmen. Nun wissen wir, was zu tun ist. Zwar stehen noch keine ausgereiften, etablierten Standards und Normen für die einzelnen Strukturelemente zukünftiger IoT-Systeme zur Verfügung, wie einfache Konfigurierbarkeit oder sichere Remotefirmware-Upgrades, aber das sollte niemanden davon abhalten, ein System zu erstellen, das Kunden Nutzen bringt. 







Neue Beiträge

Leider ergab Ihre Suche kein Ergebnis

Aktuelles über Elektronikkomponenten­

Wir haben unsere Datenschutzbestimmungen aktualisiert. Bitte nehmen Sie sich einen Moment Zeit, diese Änderungen zu überprüfen. Mit einem Klick auf "Ich stimme zu", stimmen Sie den Datenschutz- und Nutzungsbedingungen von Arrow Electronics zu.

Wir verwenden Cookies, um den Anwendernutzen zu vergrößern und unsere Webseite zu optimieren. Mehr über Cookies und wie man sie abschaltet finden Sie hier. Cookies und tracking Technologien können für Marketingzwecke verwendet werden.
Durch Klicken von „RICHTLINIEN AKZEPTIEREN“ stimmen Sie der Verwendung von Cookies auf Ihrem Endgerät und der Verwendung von tracking Technologien zu. Klicken Sie auf „MEHR INFORMATIONEN“ unten für mehr Informationen und Anleitungen wie man Cookies und tracking Technologien abschaltet. Das Akzeptieren von Cookies und tracking Technologien ist zwar freiwillig, das Blockieren kann aber eine korrekte Ausführung unserer Website verhindern, und bestimmte Werbung könnte für Sie weniger relevant sein.
Ihr Datenschutz ist uns wichtig. Lesen Sie mehr über unsere Datenschutzrichtlinien hier.