Frameworks

Eine Software-Infrastruktur für das Internet der Dinge

28.01.16 | Autor / Redakteur: Tuukka Ahoniemi * / Franz Graser

Das Qt-Logo.
Das Qt-Logo. (Bild: Qt Company)

Um Fallstricke bei der Integration von IoT-Systemen zu vermeiden, müssen diverse Front- und Backend-Techniken angewendet werden. Bereits bei Beginn des Designs ist das gesamte System zu betrachten.

Die Anwendungen und Neuerungen, die das IoT hervorbringt, sind beeindruckend, und die Technik zur Entwicklung solcher Systeme sowie deren Cloud-Backends sind bereits vorhanden. Aus der Sicht des Embedded-Software-Designs gestaltet sich die Entwicklung solcher Systeme jedoch immer komplexer, und die technischen Anforderungen steigen erheblich. Um Fallstricke bei der Integration zu vermeiden, müssen verschiedene Front- und Backend-Techniken angewendet und bereits bei Beginn des Designs das gesamte System berücksichtigt werden.

Eine völlig neue Welt durch Cloud-Datenanbindung

Wenn Geräte oder Einrichtungen nahtlos zusammenarbeiten, ermöglicht das IoT komplexe Dienste – von denen einige bei der Implementierung noch gar nicht in Betracht gezogen wurden –, indem vergleichsweise preiswerte und energieeffiziente Geräte zum Einsatz kommen. Hinzu kommt, dass sich jederzeit weitere Dienste aufrüsten lassen, ohne dabei die auf dem Gerät laufende Software zu stören. Dies ist insbesondere dann von Vorteil, wenn die verwendeten Technologien dynamische Softwareänderungen erlauben oder flexible externe APIs haben, die Plugin-basierte Designmuster verwenden, um eine einfache Erweiterung von Diensten zu ermöglichen.

Ergänzendes zum Thema
 
Die Qt-Wetterstation – ein Anwendungsbeispiel

Die Cloud-Server können als permanente, geräteunabhängige Speicher und Archive verwendet werden und Informationen über den Zustand jedes Geräts beinhalten. Im Unterhaltungsumfeld kann ein Anwender etwa auf einem Mobilgerät Musik hören und diese pausieren, um dann zuhause vor dem PC wieder dort fortzufahren, wo pausiert wurde. Durch die Cloud können Systeme Benachrichtigungen an Geräte senden, sowie Sensordaten empfangen, verarbeiten und für Statistikzwecke analysieren.

Da die Datenspeicherung und komplexe Datenanalyse im Cloud-Backend zentralisiert sind, kann die Kapazität der Rechenleistung dynamisch skaliert werden, ohne dabei die einzelnen angeschlossenen Geräte zu beeinträchtigen. Auch der zufällige Verlust der Verbindung zu einem Gerät macht für andere Teile des Systems keinen Unterschied. Die Forderung nach Verfügbarkeit besteht zwar weiter, allerdings nur für das Cloud-Backend. Um die Funktionalität eines einzelnen Geräts ohne Verbindung zum Backend zu gewährleisten sind demnach ein Offline- Speicher und ein logisches Offline-Verhalten erforderlich.

REST Assured: Funktionalität auf höchster Ebene

Obwohl das IoT-Konzept flexible, zukunftssichere, vernetzte Systeme ermöglicht, müssen bestimmte Herausforderungen bei der Entwicklung erfüllt werden. Die Architektur des Internet und World Wide Web ermöglicht es, bestimmte Aspekte des IoT-Designs zu vereinfachen. So bietet REST (Representational State Transfer), eine Architektur auf Basis einfacher HTTP-Protokollbefehle, mehr Flexibilität als herkömmliche Client-Server-Architekturen wie SOAP.

Eine RESTful-API ermöglicht es Clients und Servern in komplexer Weise zu interagieren, ohne dass der Client Details über mögliche Dienste kennen muss, bevor er mit dem Server verbunden wird. Dies spielt bei der Erweiterung des Systems um beliebige Geräte oder Dienstleistungen eine wichtige Rolle. Ein einfacher URI (Universal Resource Identifier) reicht aus, damit der Client den Server findet. Von hier aus führen der Server und der Client mittels HTTP-Befehlen eine Reihe von Verhandlungen und Datentransferschritten aus, die Informationen über die angebotenen Dienste enthalten, und wie auf sie zugegriffen werden kann.

Inhalt des Artikels:

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Kommentar abschicken

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 43805178 / Embedded Software Entwicklungswerkzeuge)

Embedded Software Engineering Report abonnieren

4 mal jährlich: Die kostenlose Pflichtlektüre für Embedded­-Software- und Systems-Entwickler, von Analyse bis Wartung und Betrieb

* Ich bin mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung und AGB einverstanden.
Spamschutz:
Bitte geben Sie das Ergebnis der Rechenaufgabe (Addition) ein.