Eine sichere IoT-Cloud-Anwendung realisieren

Die Mehrzahl der im IoT verbundenen Geräte ist klein und einfach. Beispiele sind Sensoren und/oder Aktoren als Bestandteile größerer Systeme (z.B. Maschinen oder Fabriken). Wie auch immer das IoT konfiguriert sein wird – es wird Mengen mit Mikrocontrollern bestückter Geräte geben, die über große Bereiche verteilt und mit Cloud-basierten Daten-Hubs verbunden sind. Hierfür benötigen die Ingenieure ein Verbindungs-Protokoll, das kompakt, einfach, robust und sicher ist.

. Ablauf einer einfachen Publish/Subscribe-Operation (Bild: HCC-Embedded)

Ablauf einer einfachen Publish/Subscribe-Operation

Ein erstklassiger Kandidat, der diese Eigenschaften mitbringt, ist MQTT (Message Queue Telemetry Transport). Dieses einfache Protokoll erlaubt es eingebetteten Geräten, Nachrichten in der Cloud zu publizieren und zu empfangen. Es zeichnet sich gegenüber anderen Protokollen wie etwa HTTP durch einen geringen Paket-Overhead aus, wodurch es sehr effizient ist und sich für die Verwendung in stromsparenden Umgebungen anbietet. Um die Übertragung von MQTT-Nachrichten sicher zu machen, wird TLS (Transport Layer Security) benutzt. TLS ist der Standard für die sichere Kommunikation per Internet und kommt beim Surfen im Internet ebenso zum Einsatz wie bei Email und anderen Anwendungen. TLS sorgt auf folgende Weise für eine sichere Kommunikation:

  1. Authentisierung der an der Kommunikation beteiligten Parteien, um die Identität der Beteiligten zu verifizieren
  2. Verschlüsselung der Kommunikation, um sicherzustellen, dass die Nachrichten von keinem Dritten verstanden werden können
  3. Garantie der Verbindungssicherheit zwischen zwei Knoten, wodurch es sich für den Einsatz mit einer Client-Server-Technologie wie MQTT eignet.

 

Verwendung von MQTT zum Steuern und Überwachen eines Kfz-Türverriegelungssystems (Bild: HCC-Embedded)MQTT im Überblick

Das Publish/Subscribe-System von MQTT besteht aus vielen Clients, die mit einem als Broker (Makler) fungierenden Server verbunden sind. Ein Client ist sowohl Produzent als auch Konsument von MQTT-Daten. Bild 1 zeigt den Ablauf einer einfachen MQTT-Publish/Subscribe-Transaktion. Das MQTT-Messaging-Protokoll wurde auf der Basis einiger Grundprinzipien gestaltet:

  • Ein Message Broker fungiert als Mittler zwischen einem Publisher (Veröffentlicher) eines Topics und einem Subscriber (Abonnent) dieses Topics. Er ist ein Server und bildet das zentralisierte System, über das die Client-Daten übertragen werden.
  • Ein Subscriber kann ein oder mehrere Topics ‚abonnieren‘.
  • Eine veröffentlichte Nachricht kann an mehrere Subscriber versendet werden, die am Empfang von Informationen zu einem Topic interessiert sind.
  • Ein Subscriber kann Nachrichten von mehreren Publishern empfangen.
  • Ein Subscriber kann das Abonnement eines Topics jederzeit aufheben.

Die MQTT-Version 3.1 erlaubt die Verwendung eines Benutzernamens und eines Passworts in einem Paket, um einem Client die Möglichkeit zu geben, sich beim Broker zu authentisieren. Ein Client veröffentlicht mit einem von der Applikation definierten ‚Topic‘ frei formatierte Daten an einen Broker, und der Broker überträgt diese Daten anschließend an all jene Clients, die dieses Topic abonniert haben. Die Verwendung von Wildcards macht es möglich, mit einer einzigen Subskription Daten von mehreren Clients zu empfangen. Ebenso können Daten aus einer Publish-Aktion an mehrere Clients weitergeleitet werden. Bild 2 zeigt exemplarisch, wie ein Mobiltelefon mit einem entfernten Auto kommunizieren könnte, um eine Fahrzeugtür zu verriegeln.

Die auf dem Smartphone des Anwenders laufende App fordert das Auto auf, die Türverriegelung das Topic ‚Message_Car001‘ abonnieren zu lassen.

  • Der Broker erhält eine Anfrage.
  • Car001 erhält durch Subskription die Nachricht.
  • Das Auto verriegelt die Tür und sendet eine Bestätigungsmeldung.
  • Die App erhält die Bestätigung.

Die Nutzdaten der Nachricht enthalten die Anweisung zum Verriegeln der Tür. Über dasselbe Publish/Subscribe-System kann außerdem eine ganze Reihe weiterer Befehle versendet werden.

Dienstqualität (Quality of Service – QoS)

MQTT bietet drei QoS-Levels, die einen Kompromiss bieten zwischen dem Kommunikationsaufwand und der Sicherheit, dass eine Nachricht ankommt. Level 0 bietet nach dem Prinzip ‚Fire and Forget‘ keinerlei Gewähr, dass die gesendete Nachricht zugestellt wird. Level 1 garantiert, dass die Nachricht mindestens einmal ankommt, eventuell aber auch mehr als einmal. Level 2 garantiert, dass die Nachricht genau einmal empfangen wird. Die Entscheidung für eine MQTT-Implementierung mit Unterstützung für alle drei Levels verleiht dem Entwickler die Flexibilität zur Verbesserung gemäß seinen individuellen Datenanforderungen.

Eine sichere IoT-Cloud-Anwendung realisieren
Bild: HCC-Embedded


Das könnte Sie auch interessieren

3-Liter-PC mit Steckplatz für PCIe-x16-Erweiterungskarten

Shuttle stellt seinen ersten 3-Liter-PC vor. Das Modell XH110G aus der Kategorie XPC slim ist ein kompaktes Barebone im Format 25x20x7,85cm (TBH). Sein Mainboard mit Intel H110 Chipsatz eignet sich für bis zu 32GB DDR4-Speicher und Intel Prozessoren (LGA1151) bis 65W TDP.

Anzeige
Funkmodul mit BI-Mode Lora- und Sigfox-Stack

Hy-Line Communication bietet mit der Modul-Familie MM-xx-EU eine Low-Power- und Long-Range-Funklösung für das lizenzfreie 868-MHz-Frequenzband an. Auf Grund des geringen Stromverbrauchs und der ausgeprägten Störfestigkeit ist diese Funk-Modul-Familie eine Lösung für Anwendungen, deren Fokus auf Batterielebensdauer, sicherem Funkkanal und hoher Reichweite liegt.

Anzeige
Entwicklungskit zur Spracherkennung für den Alexa Voice Service (AVS) jetzt bei Digi-Key

Bei dem Kit handelt es sich um eine Komplettlösung zur Entwicklung eines freihändig bedienbaren AVS-Produkts, das mit Alexa, der Sprachsteuerung von Amazon, kompatibel ist. Das Kit verfügt über die Sprachaufnahmelösung Soundclear von Cirrus Logic, einen intelligenten Codec, MEMS-Mikrofone und eine Steuerkonsole, die die AVS-API nutzt, um Entwickler, Produktingenieure und OEMs bei der Entwicklung handelsüblicher sprachsteuerbarer Produkte zu unterstützen.

Altium: PCB-Design-Konferenz mit Call for Speaker

Altium hat seine erste jährliche PCB-Design-Konferenz bekanntgegeben, um Entwicklern dabei zu helfen, ihre Design-Kompetenz auszubauen und einen Beitrag zur Weiterentwicklung der Community für Elektronik-Design zu leisten. ‚AltiumLive 2017: Annual PCB Design Summit‘ wird den Teilnehmern ermöglichen, neue Fähigkeiten zu erlernen, sich mit gleichgesinnten Entwicklern auszutauschen und Inspiration von Kennern der Branche und Design-Experten zu erhalten, um so selbst Elektroniklösungen der nächsten Generation zu entwickeln.

Clips und Federn für die Kühlkörperbefestigung

Kühlkörper können mittels Kleben, Klemmen, Löten oder Schrauben auf dem zu kühlenden elektronischen Bauteil befestigt werden. Für das feste Anpressen des Kühlkörpers an den Halbleiter bietet CTX unterschiedliche Clip- und Federlösungen.

Weiteres Wachstum der Leiterplattenbranche im Juni

Der Umsatz der Leiterplattenhersteller im Juni lag in der Region DACH auf der gleichen Höhe wie im Durchschnitt der ersten sechs Monate. Er war damit 4,3% höher als der Vergleichswert im Juni 2016 trotz drei Arbeitstagen weniger. Dies berichtet der ZVEI-Fachverband PCB and Electronic Systems. Die ersten sechs Monate 2017 schlossen mit einer Steigerung um 8,1% gegenüber dem gleichen Zeitraum des Vorjahres ab. Pro Arbeitstag erreichte das 1. Halbjahr einen um sieben Prozent höheren Umsatz als im Vorjahr. Der Auftragseingang im Juni 2017 war im Jahresvergleich um 2,8% niedriger. Aufgrund des außergewöhnlich hohen Bestelleingangs im Mai schloss das erste Halbjahr mit einer Steigerung von 16,1% gegenüber Vorjahr ab. Pro Arbeitstag wurden im Juni 12,5% mehr Aufträge als im Vorjahr gebucht, im 1. Halbjahr kumuliert 17% mehr. Das Book-to-Bill-Ratio als Trendindikator erreichte im Juni einen Wert von 0,97, das 1. Halbjahr schloss mit 1,09 ab.