Frameworks

Eine Software-Infrastruktur für das Internet der Dinge

Seite: 2/3

Firmen zum Thema

Obwohl die zentralen REST-Mechanismen in HTTP flexibel sind, arbeiten sie auf unterer Ebene. Ein Entwicklungsumgebung wie Qt kann diese Details auf unterer Ebene durch Komfortklassen abstrahieren und High-Level-objektorientierte Klassen für andere Teile der Anwendung bereitstellen.

Da Qt C++-basiert ist, lässt sich der Embedded-Code auf unterer Ebene, etwa für Hardware-Verbindungen, in die gleiche Software integrieren, ohne dabei Teile des Codes isolieren zu müssen. Mit der Kombination aus REST und Qt-Klassen haben IoT-Einrichtungen die Möglichkeit, nicht nur Daten zu empfangen und sich Befehle zuzusenden, sondern auch mit Servern in der Cloud zu kommunizieren und ihre lokale Hardware-Peripherie zu integrieren.

Bildergalerie

Die Cloud-Dienste müssen nicht für jede Anwendung von Grund auf neu entwickelt werden. Durch Cloud Services steht Qt-Entwicklern ein Angebot an Cloud-Funktionen auf Basis der RESTful-APIs und eine umfassende Cloud-API für den direkten Einsatz seitens Qt-Kunden zur Verfügung. Zu diesen Diensten zählen der Enginio Data Storage Service, Managed WebSockets für Verbindungen in Echtzeit und Managed Runtimes zur Übergabe von Teilen der Implementierung oder Berechnung – geschrieben mit herkömmlichen serverseitigen Technologien oder direkt über Qt-APIs – auf die skalierbare Serverseite. Vor allem für Systeme, die große Datenmengen sammeln und analysieren, hilft eine skalierbare serverseitige Berechnung dabei, die eingesetzten Embedded-Einrichtungen vernünftig zu betreiben.

Verschiedene Zielplattformen unterstützen

Neben dem zentralen IoT-Software-Stack muss der Entwickler auch langfristigen Support, Wartung, Upgrades und Verbesserungen berücksichtigen. Mit jeder Weiterentwicklung müssen IoT-basierte Systeme imstande sein, neue Hardware zu integrieren, die nahtlos mit den bestehenden Geräten zusammenarbeitet. Entwickler von Embedded-Systemen stehen dann vor dem Problem, dass verschiedene Implementierungsziele erfüllt werden müssen. Erforderlich wird damit eine Entwicklungsumgebung, die eine Software-Implementierung auf verschiedenen Zielanwendungen ermöglicht, die unterschiedliche Funktionen bieten – und das mit einer minimalen Anzahl erforderlicher Änderungen des Quellcodes.

IoT-Systeme erfordern nicht nur die Entwicklung von untereinander vernetzten Embedded-Einrichtungen, sondern auch die Bereitstellung von Client-Anwendungen, um mit diesen Einrichtungen und deren Daten zu interagieren. Heute gibt es zahlreiche Zielplattformen: Web-Dienste über den Browser, jede Art von Android-, iOS- oder Windows-Smartphones oder Tablets und Desktop-PCs. Mit einer übergreifenden Plattformtechnologie wird die Mehrzahl derzeitiger und zukünftiger Plattformen abgedeckt.

Code, der mit dem Qt-Framework geschrieben wurde, läuft auf einer Vielzahl von Betriebssystemen – von Plattformen für Anwendungen auf Echtzeit-Betriebssystemen über Embedded Linux bis hin zu Desktop-PCs und Mobilgeräten. Damit lässt sich eine gemeinsame Betriebslogik für Sensorknoten und Mobilgeräte einsetzen, die grafikintensive Software wie Android verwendet.

Qt bietet einen hohen Grad an Portierbarkeit durch seine Klassen und Tools, genauso wie die UI-(User-Interface-)Ansätze. Mit einer Auswahl an Grafikansätzen können Entwickler die Portierbarkeit maximieren, aber immer noch die Feineinstellung der Anwendung für jedes Zielgerät beibehalten. So können ein Wearable-Funksensor und ein Display einfache Grafik auf Basis statischer Symbole und Zeichen verwenden. Die gleiche Displayfunktion für eine Android-App kann alle Vorteile der Animation und Multi-Touch-Funktion nutzen.

Artikelfiles und Artikellinks

(ID:43848358)