Octave_Diagram_R4_v2.2

Schematischer Aufbau der Octave-Lösung von Sierra Wireless. Sierra Wireless/Acal BFi

Viele der noch vor Jahren prognostizierten vernetzten IoT-Geräte sind heute in der Realität angekommen und produzieren emsig Informationen, die sie dann in die Cloud senden. Umgekehrt erhalten sie auch Instruktionen aus der Cloud. 2018 sollen demnach 7 Milliarden dieser Geräte installiert gewesen sein, aktuell sind es etwa 9 Milliarden und bis 2025 soll die Zahl auf 22 Milliarden anwachsen.

Warum IoT-Designs scheitern

Es stellt sich aber die Frage, wie oft eine Entwicklung eines IoT-Designs scheiterte? Die Gründe hierfür können von unterschiedlicher Natur sein, ärgerlich sind sie aber immer. Zwei grundsätzliche Ursachen lassen sich festmachen: bedingt durch den Umstand, dass eine IoT-Anwendung sich vom Entwicklungsstandpunkt durch eine gewisse Komplexität auszeichnet, hat hier so mancher Entwickler oder Entwicklerteam nach Wochen oder Monaten erkannt, sich thematisch etwas zu weit in unbekanntes Terrain gewagt zu haben. Etwas positiver verlaufend, konnten sie zwar alle Hürden meistern, nur war der Zeitaufwand so groß, dass das Design zu spät am Markt war.

Grund für dieses Scheitern liegt darin, dass eine IoT-Anwendung aus Komponenten besteht, die in unterschiedlichen Disziplinen angesiedelt sind. Entwickler müssen das eigentliche Endgerät um eine Kommunikationseinheit, basierend auf Mobilfunk, erweitern. Diese übernimmt dann die Kommunikation zur Cloud. Hier ist viel Know-how erforderlich, da es gilt, das System in ein zellulares Netzwerk einzubinden und sich um einen Mobilfunkprovider zu kümmern, der je nach Installationsort auch den entsprechenden flächendeckenden Service bietet und eine weltweite Versorgung zur Verfügung stellt. Ist das nicht möglich, sind mehrere Provider notwendig.

Die Kommunikation von und zu den Geräten erfolgt über Mobilfunkmodems, die mittels proprietärer Protokolle über AT-Kommandos gesteuert werden. Zusätzlich zur Hardware kommt noch die Implementierung der eigentlichen Cloudlösung, die den Kommunikationsstack und die Geräteverwaltung, sowohl was die Mobilfunkfunktionalität als auch das eigentliche Endgerät angeht, abdeckt.

30 % aller IoT-Projekte enden in der Konzeptphase

Wie angeführt handelt es sich um unterschiedliche Disziplinen und abhängig von der vorhandenen Erfahrung, können unvorhergesehene Probleme auftreten, die ein solches Projekt schnell zum Scheitern verurteilen. Untersuchungen zeigen, dass 30 Prozent aller IoT-Projekte schon in der Konzeptphase enden, da immer wieder neue Fakten auftauchen, die es zu beachten gilt und wo die Erkenntnis reift, dass das notwendige Fachwissen oder die Erfahrung fehlt, oder das neue Ideen auftauchen, die es umzusetzen gilt, was das Ganze in die Länge zieht. Am Ende des Tages soll das Gerät einen gewissen Marktwert erzielen, was einen Einfluss auf die Wahl der Komponenten und auf die zur Verfügung stehenden Mittel für die Entwicklung hat. Das alles vor Augen, wenn es darum geht, die richtigen Komponenten auszuwählen, um ein zuverlässiges und sicheres System zu schaffen, ist das Ganze keine einfache Aufgabe.

Web-Applikationen zu entwickeln ist für jemanden aus diesem Metier einfach; Analysen oder Berechnungen bieten alle großen Cloudanbieter, geographische Implementierung kommt von Google Maps, Visualisierung lässt sich mit Tableau-Software bewerkstelligen. Jeder Cloudentwickler hat Zugang zu solchen Ressourcen.

Knackpunkt Cloudanbindung

Das Problem ist, das IoT-Endgerät muss sich über eine Infrastruktur an die Cloud anbinden lassen. Das erfordert unterschiedlichstes Fachwissen und Architekturerfahrung für Protokollstrukturen, Datenmanagement und Netzwerkaufbau. Entwickler brauchen deshalb Erfahrung mit Embedded-Geräten. Dazu gehören Telekomerfahrung speziell im Mobilfunkmodembereich, Erfahrung mit Providern, zellularer Netzwerktechnologie (APN), Zertifizierung und Zulassung in unterschiedlichen Ländern einschließlich unterschiedlicher rechtlichen Vorgaben, die sich von Land zu Land oder Region unterscheiden, Cybersicherheit, Systemintegration, wie End-to-End-Integration, Test und Validierung und auch Fehlersuche. Im Betrieb kommen dann beispielsweise noch Flottenmanagement und Softwareupdates (OTA – Over the Air) hinzu.

Dem Umstand Rechnung tragend, dass 30 Prozent aller IoT-Projekte schon in der Konzeptphase scheitern, hat Sierra Wireless für solche Anwendungen ein Konzept entwickelt, das das komplette Gerätemanagement vom Design bis zur Wartung und den Betrieb umfasst. Aufsetzend auf dem vorhandenen Portfolio und dem Wissen um die Bedürfnisse der Anwender entwickelte Sierra Wireless die Octave-Lösung. Dabei handelt es sich um ein ein Out-of-the-Box IoT-Produkt als Komplettlösung, um Daten zu orchestrieren, zu arrangieren oder aufeinander abzustimmen.

Schlüsselkomponenten von Octave

Mit Octave erhalten Entwickler eine Out-of-the-Box End-to-End-Verbindung für Endgeräte, die sich aus den folgenden Komponenten zusammensetzt:

  • Octave Cloud: Ein Sortiment an Diensten, das ein gezieltes Verarbeiten der IoT-Daten ermöglicht.
  • Octave Endgeräte: Octave-kompatible Geräte wie das mangOH Red Board – eigentlich ein Evaluierungs- oder Referenzboard, das Entwickler oftmals aber auch als fertige Hardware nutzen – oder das FX30-Gateway; beide verfügen über die notwendige Mobilfunkverbindung und sind in der Lage, über die Octave-Schnittstelle zur Cloud oder zum Endgerät zu kommunizieren. Beiden ist gemein, dass sie unter Legato laufen, einer Sierra Wireless Linux Distribution.
  • Built-in Services: Damit lassen sich Geräte via Modbus, ADC and GPIOs steuern. Mittels eines Universal Serial Parsers ist es möglich, mit jedem Gerät, das über einen UART verfügt, zu kommunizieren.
  • Octave Resource Protocol (ORP): Ermöglicht die Kommunikation auf Basis eines ASCII Protokoll zwischen einem Endgerät und einem auf Octave basierenden Mobilfunkmodem über eine UART-Schnittstelle. Damit ist es möglich, Endgeräteapplikationen in Hochsprachen wie C oder Python zu schreiben, die dann mit Octave kommunizieren können.
  • Octave REST API: APIs die es ermöglichen, Octave Cloud über das Cloud Interface anzusprechen, um Web-basierte Anwendungen zu schaffen, die Schreib- und Lesezugriff auf das Endgerät ermöglichen.
  • Octave-Benutzerschnittstelle: komplettausgestattete Web-basierte Benutzerschnittstelle, über die Geräte verwaltet, gelesen oder Daten geschrieben werden.

Was kann Octave?

SW-Octave-FX30_475x274

Bei Octave von Sierra Wireless handelt es sich um eine All-in-One-Lösung, um industrielle Anwendungen an die Cloud anzubinden. Sierra Wireless/Acal BFi

Octave ist speziell auf die Bedürfnisse des IoT abgestimmt. Hauptziel ist es, die Risiken einer solchen Entwicklung zu minimieren und die Entwicklung und Installation einer IoT- und Cloudlösung zu vereinfachen und nicht einzuengen. Mit Octave besteht keine Notwendigkeit mehr eine IoT-Infrastruktur aufzubauen und sich um Sicherheitsstrukturen Gedanken zu machen. Die Kommunikation basiert auf aktuellen Verschlüsselungstechniken. Octave extrahiert die Daten, orchestriert unterschiedliche Datentypen und fasst diese dann zu Datenströmen zusammen, die es dann in die Cloud überträgt. Am Ende kann sich der Anwender auf die reinen Daten und deren Auswertung konzentrieren. Außerdem lassen sich so auch Störmeldungen oder Nachrichten von der Cloud zum Endgerät schicken.

Für den Anwender ist es schwierig, die Kosten abzuschätzen. Das beginnt bei der Wahl der richtigen Verbindungstechnologie – LPWA, WiFi, Mesh – und mündet in den Fragen, ob eine Mobilfunklösung kostentechnisch überhaupt möglich ist und welches Datenvolumen aufkommen wird. Die Menge an Nutzdaten ist zwar bekannt, wie groß ist aber der Protokolloverhead, wieviel fällt für die Geräteverwaltung und ein Firmwareupdate (FOTA) an? Diese Datenmengen sind schwer vorhersagbar und kontrollierbar. Um das Datenaufkommen besser abschätzen zu können ist es wichtig, dass die vielen sich im Einsatz befindenden Geräten keine riesigen, ungefilterten Datenmengen verursachen. In der Cloud kann das mit entsprechenden Kosten für Speicherung einhergehen, genauso können aber Bandbreitenengpässe oder Latenzprobleme auftreten. Was hier benötigt wird ist ein Framework, das es erlaubt, Daten sowohl in der Cloud als auch auf dem Endgerät zu verarbeiten. Zudem muss es in der Lage sein, den Datenstrom vom Endgerät zur Cloud oder umgekehrt einfach zu arrangieren. Daten zu filtern oder passend zu arrangieren ist im LPWA-Umfeld von Bedeutung, da es hier gilt die Übertragungszeiten zu optimieren. Auf Basis eines Javascripts lässt sich ein Filterblock implementieren der es ermöglicht, die Daten auf der Geräteseite zu bearbeiten, bevor diese in die Cloud gesendet werden. So agiert das Ganze als ein frei konfigurierbares Datencenter, um die Gerätedaten zu handhaben und zu priorisieren. Außer Daten zu filtern, können Entwickler auch Logiken aufbauen, wobei die Javascript basierten Logiken als Edge Actions auch ohne Cloudanbindung aktiv sind. So könnte ein Sensor ein Alarmhorn über die GPIOs auslösen, ohne dass das System mit der Cloud über Mobilfunkverbindung verbunden ist.

Mit Octave sind Entwickler in der Lage, ausgelesene Daten zu puffern, zu filtern, zu speichern und weiterzuleiten. Dadurch liegen die benötigten Daten zum gewünschten Zeitpunkt vor. Der Anwender hat somit den kompletten Zugriff auf die Datenebene und ist außerdem in der Lage dynamisch zu entscheiden, welche Daten das IoT-Gerät extrahiert und überträgt. Wenn Daten zugeordnet oder weitergeleitet werden sollen, geschieht das mittels eines Werkzeugs, das diese zu sogenannten Eventstreams zusammensetzt, um diese dann in der Cloud zu handeln. Herkömmliche IoT-Lösungen wiederum schränken den Entwickler mit unflexibler, oftmals hartcodierter Logik ein. Mit Octave lassen sich die Eventstreams und somit die Anwendung ändern und auch erweitern. Es ist somit die Möglichkeit gegeben, Verarbeitungsregeln in Echtzeit auf dem Gerät anzupassen, was ansonsten bestenfalls über ein Firmwareupdate (FOTA) möglich ist. Mit Octave ist es aber auch möglich, den Programmcode spontan anzupassen und Probleme in den Griff zu bekommen.

Mit Octave werden die zu erwartenden und oftmals beworbenen langen Produktlebenszyklen aus wartungstechnischer Sicht keinerlei Herausforderung. Da sich Gerät, Netzwerk und Cloud API auf derselben Ebene befinden, ist es einfacher, IoT-Daten nahtlos in alle wichtigen ERP- oder CRM-Systeme zu implementieren und dort zu analysieren. Dadurch entfällt die Notwendigkeit, die eigene Infrastruktur neu zu erfinden. Außerdem ist eine eigene IoT-Infrastruktur zeitaufwendig und eine Herausforderung für sich.Das Arbeiten mit Octave geschieht über eine Plattform, während die Programmierung mittels einer Webkonsole über eine programmierbare Schnittstelle mit einem Javaskript erfolgt. Octave bietet aber auch eine gut dokumentierte Entwicklungsumgebung und versucht damit jegliche Komplexität zu umgehen. Zudem ist der Entwickler in der Lage, den Backend-Code zu optimieren, auch wenn das Gerät bereits am Markt ist. Weiterhin ist die Octave-Cloud unabhängig und unterstützt gängige Cloud-Anbieter wie Amazon, Google, Microchip Azure oder SAP.

Mit der Octave-Lösung von Sierra Wireless können Entwickler neben Entwicklungskosten auch Kosten bei Evaluierung und Wartung einsparen. Einhergehend mit den Einsparungen bei den Entwicklungskosten ist eine Reduzierung der Entwicklungszeit von 6 bis 12 Monaten zu erzielen, was in einem früheren Time to Market mündet. Sierra-Wireless-Distributor ACAL BFi steht mit einem speziellen Octave-Supportteam bereit.