Startseite » Data Science »

IoT-Endpunkte mit Docker

Warum benötigen intelligente IoT-Endpunkte einen Docker?
Zwei beispielhafte Antworten

Anzeige
Embedded-Applikationen werden in Bezug auf Softwareaspekte immer komplexer. Die derzeitigen IoT-Connectivity- und Security-Anforderungen sind noch nicht vollständig bewältigt, da kommt die künstliche Intelligenz bis zur vollständig autonomen Entscheidungsfindung in Echtzeit hinzu. Mit Hilfe der Docker-Technologie könnten die damit verbundenen Herausforderungen gelöst werden. Klaus-Dieter Walter, Geschäftsführer von SSV Software Systems in Hannover, gab im Gespräch mit der elektro AUTOMATION während der embedded world zwei Antworten.

Andreas Gees, stv. Chefredakteur elektro AUTOMATION

Embedded-Applikationen der relativ neuen Intelligent-Endpoint-Kategorie benötigen neben Connectivity und Security auch hochentwickelte integrierte KI-Algorithmen für das Real-Time Decision Making, z. B. künstliche neuronale Netzwerke auf der Basis von Tensorflow. Dadurch entstehen verschiedene völlig neue Aufgaben: Für die Machine-Learning-Modellbildung werden größere Datenmengen aus der Anwendungsumgebung benötigt; das jeweilige Modell ist von Zeit zu Zeit an veränderte Umgebungsbedingungen anzupassen; systematische Fehlentscheidungen müssen erkannt und die Ursachen schnellstmöglich abgestellt werden. Um diesen vielfältigen Herausforderungen zu entsprechen, eignen sich Docker-basierte Systemkonzepte. Dabei werden Unterstützungsfunktionen als Micro Services implementiert, die in Edge oder Cloud zum Einsatz kommen.

Antwort eins

Die anfangs gestellte Frage hat einen echten Praxisbezug: Es geht erstens darum, dass zukünftig Feldgeräte im industriellen Umfeld mittels Künstlicher Intelligenz Daten in der Edge auswerten sollen. SSV Software Systems ist seit vielen Jahren in der Automatisierungstechnik tätig und bietet Lösungen, die beispielsweise den Fernzugriff auf eine Steuerung über ein Gateway ermöglichen. Schon in der Vergangenheit hat man im Unternehmen erkannt, dass dazu bei den Feldgeräten im Schaltschrank Zubehör in Form von Software erforderlich ist. Die ersten Anwendungen dieser Art wurden schon vor längerer Zeit ausgeliefert. In diesen Anwendungen wurde den Kunden und den Anwendern als Zubehör zum VPN Gateway auch ein VPN-Server zur Verfügung gestellt bzw. die Serverkomponente als Software geliefert. Der Kunde musste selbst entscheiden, bei welchem Cloud-Anbieter er das hostet. Dann stellte das Unternehmen auf virtuelle Maschinen um und ist der Entwicklung in der IT folgend heute bei der Docker-Technologie angekommen.

In der Praxis besteht eine Problematik auch darin, dass Endgeräte an der Edge immer wieder Software-Updates benötigen, beispielsweise um Sicherheitslücken zu schließen, Software-Fehler zu korrigieren oder die Kommunikations-Infrastruktur anzupassen. Dafür wird jedoch eine Serverinstanz im Internet benötigt, die das Unternehmen in Zukunft auf die Docker-Technologie umstellen möchte. Seine Daten kann der Anwender dann bei jedem Cloud-Anbieter hosten, der Docker-Container als Service unterstützt. Diese Technologie ist bei Cloud-Anbietern heute Stand der Technik.

Dann lässt sich beispielsweise ein Software-Update in einen Container laden, das jemand für ein beliebiges Feldgerät entwickelt hat. Das Feldgerät schaut über seine Programmierschnittstelle, quasi von der anderen Seite, in diesen Container hinein und findet die verfügbaren Updates. SSV Software Systems nutzt heute die Docker-Struktur dazu, um sichere Updates durchzuführen und zu dokumentieren. Das Unternehmen hat dafür eigens ein Tool programmiert, das für digitale Signaturen genutzt wird. Das Update bekommt eine digitale Unterschrift, die vom Feldgerät geprüft wird. So kann sichergestellt werden, dass nur autorisierte Updates zum Einsatz kommen und keine gefälschten Zertifikate genutzt werden. Software-Updates von einem Angreifer haben so keine Chance installiert zu werden. Mit Hilfe von Docker ist es also möglich, den Missbrauch von Endgeräten zu unterbinden, die digitale Unterschrift ist eindeutig nachvollziehbar, und es ist sofort erkennbar, wenn sich das binäre Image ändert. Ein gefälschtes Update würde als ungültig erkannt und erst gar nicht in die Laufzeitumgebung geladen.

KI und Edge Computing

Die zweite Antwort bezieht sich auf das Thema Edge Computing. Im Bereich des Maschinen- und Anlagenbaus besteht die eigentliche Aufgabe darin, klassische Sensor-Retrofit-Aufgabenstellungen zu lösen. Dazu müssen an beliebigen Maschinen geeignete Sensoren befestigt und mit einem Gateway verbunden werden. Folgt im nächsten Schritt die Nutzung Künstlicher Intelligenz in der Edge, entsteht aus Sicht von SSV Software Systems ein zweiter Use Case für den Docker-Gedanken.

Um künftig KI in der Edge zu nutzen, setzt man bei SSV Software Systems auf TensorFlow. Dabei handelt es sich um ein Framework zur datenstromorientierten Programmierung. Von Google für den internen Bedarf entwickelt, ist die Bibliothek heute als Open-Source-Tool verfügbar. Diese Bibliothek wird von vielen Entwicklern weltweit unterstützt. Der Ablauf eines Projekts ist folgender: Für das Machine Learning muss zunächst ein Modell entwickelt werden, danach ist ein neuronales Netz zu trainieren. Für das Training werden die entsprechenden Sensordaten in der Cloud benötigt. Dieser sehr rechenintensive Prozess ist bestens in der Cloud aufgehoben, denn dort stehen die erforderlichen Ressourcen zur Verfügung.

Bei der Auswertung von Bildern beispielsweise entstehen jede Menge Matrizen mit Gewichtungen. Für dieses Lernen bzw. für diesen Lernprozess hat man bei SSV den Ansatz gewählt, den Kunden dafür zukünftig ebenfalls einen Docker zur Verfügung stellen. Dieser enthält alle benötigten und aufeinander abgestimmten Funktionalitäten, sodass der Anwender lediglich die Sensordaten laden muss. Jeder Docker erfüllt dabei die Bedingungen einer bestimmten Sensorkombination.

Ein Beschleunigungssensor an einer Maschine beispielsweise soll die Vibrationen erfassen und eine Sekunde lang Daten abtasten, in drei Achsen mit jeweils 500 Hz. Dann entstehen im Grunde genommen 1500 Werte als Eingangsvektoren für neuronale Netze. Das, was hier später als Merkmalsvektor erstellt werden soll, muss das neuronale Netz bei der Konzeption auch exakt am Eingang hergeben. Ziel ist, dass sich der Anwender mit diesen Details des maschinellen Lernens gar nicht auseinandersetzen soll, so werden bei SSV all diese Funktionalitäten in einen Container integriert. Der Anwender muss dann lediglich noch die Trainingsdaten erfassen, den Build-Prozess bzw. den Modell-Prozess starten und anschließend das Modell in das IoT-Device laden.

Der zweite Use Case besteht also darin, in einem Docker das maschinelle Lernen bzw. das Trainieren eines Neuronalen Netzes durchzuführen. In der sogenannten Inferenz-Phase beginnt die Anwendung, mit Hilfe eines Datenvektors den Zustand einer Maschine zu klassifizieren. Damit möchte man bei SSV für den Anwender die Komplexität minimieren und es soll vermieden werden, dass der Anwender in die Tiefen eines bestimmten Neuronalen Netzes einsteigen muss, das für ganz bestimmte Sensordaten entwickelt wurde.

Neuronale Netze
klassifizieren Maschinenzustände

Der Schlüssel bei Neuronalen Netzen ist immer auch die Genauigkeit, die sich erzielen lässt. Neuronale Netze sind in der Regel gut für Regressionsaufgaben geeignet, also die Klassifizierung in Bezug auf Maschinenzustände. Aufgabe ist es, aus der Regression bzw. der Abhängigkeit von Variablen beispielsweise Wartungstermine automatisch zu ermitteln, die eben von verschiedenen Maschinennutzungs-Parametern abhängen. Es wird sicher erforderlich sein, basierend auf gewonnenen Erfahrungen die Container-Funktionalitäten und Parameter zu optimieren, um die Genauigkeit zu steigern. Das Ganze erfordert zumindest eine Klassifizierung beziehungsweise eine Vorhersagegenauigkeit, die für den Anwender auch einen Wert darstellt. Geht dieser Wert verloren, lässt sich zwar daraus lernen, das eigentliche Condition Monitoring ist dann jedoch nur bedingt möglich.

Um die Vorteile von KI zu nutzen, ist es zwingend erforderlich, sogenannte gelabelte Daten zu erzeugen. Dazu muss der Anwender im Vorfeld zunächst einmal Daten erfassen und beispielsweise in eine CSV-Datei schreiben. Diesen Daten muss jeweils ein Zustand zugeordnet werden, so können mittels eines Sensors beispielsweise Maschinendaten für den Normalbetrieb erfasst und auch unter dem Begriff Normalbetrieb als CSV-Datei abgelegt werden. Der Vorgang lässt sich beliebig für den Standby-Betrieb oder die Bearbeitung eines Werkstücks wiederholen. Mit diesen Daten lassen sich dann drei unterschiedliche Zustände automatisch erkennen. Läuft die Maschine außerhalb dieser Parameter, kann auf eine Anomalie geschlossen werden. Die Dateinamen stellen damit die Basis für die sogenannten Labels dar. Werden nachträglich auch Daten von Fehlerzuständen erfasst, kann das Neuronale Netz trainiert werden.

Zurzeit kristallisiert sich heraus, dass mit Hilfe von Docker viele solcher Aufgaben in der Automatisierung erledigt werden können. Mit Hilfe von Docker wird der Anwender unabhängig bei der Wahl des Edge-Devices. Damit wird die Technologie auch für viele Softwarehäuser interessant, die für beliebige Edge-Gateways Anwendungen programmieren und das Image in einen Docker laden, der auf einem Marktplatz zur Verfügung gestellt werden kann. Dann kann der Anwender selbst entscheiden, auf welcher IoT-Hardware er die Funktionalität nutzen möchte. Die Docker-Technologie wird sich damit vermutlich auch auf der Hutschiene im Schaltschrank verbreiten.

Docker-Container bieten viele Vorteile

Grundsätzlich lassen sich Software-Apps auch ohne Docker auf einem IoT-Endgerät betreiben. Dann sind sie jedoch eng an Hardware und Hersteller gebunden. Sicherlich lässt sich auf einem Linux-Gateway beispielsweise mittels NoteRED eine App installieren, die die Programmierschnittstelle (API) nutzt. Der Vorteil der Docker-Container besteht jedoch darin, dass sie Hardware- und Anbieter-unabhängig sind. Kommen in IoT-Endgeräten Docker zum Einsatz, sind sie nur vom Betriebssystem und von der Prozessorarchitektur abhängig. Werden die Docker nach bestimmten Regeln entwickelt, können sie von einer Hardware auf eine andere übertragen werden. Damit lässt sich ein wesentlich größerer Markt erschließen, der viel mehr Anwendungen ermöglicht.

Entwickler können per Knopfdruck aus einem Image einen lauffähigen Container erstellen, wobei es keinen universellen Docker gibt. Es kann zum Beispiel sein, dass ein Container eine externe Schnittstelle wie USB unterstützen muss. Ein Docker-Image muss also so entwickelt werden, dass es für Linux zur Verfügung steht, für ARM- und x86- sowie für x86-Windows-Architekturen. Damit ist das Angebot vielfältiger als bei virtuellen Maschinen, wobei die Docker jedoch wesentlich kompakter aufgebaut sind. Ein Grundgedanke ist, dass jeder Docker-Container auch einen Service beinhalten sollte, und eine komplexe Anwendung sollte aus mehreren Dockern bestehen. Dabei ist jeder Entwickler für seinen Docker zuständig. Muss beispielsweise ein Machine-Learning-Algorithmus ausgetauscht werden, dann ist nur der Entwickler dieser Funktionalität für den Service zuständig.

Komplexität isolieren

Die Erwartungen an die Technologie sind hoch. Setzt sich die Erkenntnis weiter durch, dass die Docker-Technologie viele Vorzüge bietet, könnte der Markt für alle Anbieter wachsen und die Automatisierung davon profitieren. Anwender können in Applikationen investieren, die nicht an eine Hardware gebunden sind und so auch auf Langfristigkeit setzen. Schon Linux hat dafür gesorgt, dass die Technik universell wird. Noch sind nicht alle Anwendungen einfach austauschbar, es ist zumindest ein gewisses Engineering notwendig. Mit der Docker-Technik könnte sich das rasch ändern. Wird die zugrundeliegende Idee konsequent umgesetzt, ist die Hardware wirklich agnostisch. Es sind viele Anwendungen möglich, bei denen sich die Komplexität isolieren lässt. Docker bietet in der Automatisierung so Mittel und Wege, um auch komplexe Aufgaben einfach zu lösen. Für den Anwender ist lediglich entscheidend, wie er einen Docker starten, stoppen oder evtl. austauschen kann. Das Linux-Umfeld hat das Programmieren erst einmal komplizierter gemacht, mit Hilfe der Docker-Technik kann die Komplexität jedoch wieder reduziert werden.

Weitere Informationen zum Thema Machine Learning:

http://hier.pro/BUYQV

Kontakt:
SSV Software Systems GmbH
Dünenweg 5
D-30419 Hannover

Tel: +49511 / 40 000-0
info@ssv-embedded.de

www.ssv-embedded.de


Container-Virtualisierung

Bei Docker handelt es sich um eine Software-Technik zur Isolierung von Anwendungen mit Hilfe der Container-Virtualisierung. Docker vereinfacht die Bereitstellung von Anwendungen, weil sich Container, die alle nötigen Pakete enthalten, leicht als Dateien transportieren und installieren lassen. Diese Container gewährleisten die Trennung und Verwaltung der auf einem Rechner genutzten Ressourcen. Im Grunde handelt es sich um die Weiterentwicklung der Virtual Machines. Der Unterschied zur Docker-Technik besteht jedoch darin, dass in einer virtuellen Maschine das Betriebssystem integriert ist, während bei einem Docker-Container nur die Anwendung mit allen erforderlichen Elementen läuft. Docker-Elemente sind betriebssystemabhängig, heute unterstützt neben Linux auch Windows 10 diese Technologie. Aufgrund dieser Eigenschaften ist ein Docker-Container sehr viel kompakter als eine Virtual Machine, die ein sehr viel größeres Image erfordert.


Anzeige
Schlagzeilen
Video

So war das mit den Messen vor dem Auftauchen des Coronavirus: Blicken Sie mit uns zurück auf die SPS in Nürnberg...

Aktuelle Ausgabe
Titelbild elektro AUTOMATION 2
Ausgabe
2.2021
LESEN
ABO
Newsletter

Jetzt unseren Newsletter abonnieren

Webinare & Webcasts

Technisches Wissen aus erster Hand

Automation Award
Videos

Hier finden Sie alle aktuellen Videos

Whitepaper

Hier finden Sie aktuelle Whitepaper

Anzeige
Anzeige

Industrie.de Infoservice
Vielen Dank für Ihre Bestellung!
Sie erhalten in Kürze eine Bestätigung per E-Mail.
Von Ihnen ausgesucht:
Weitere Informationen gewünscht?
Einfach neue Dokumente auswählen
und zuletzt Adresse eingeben.
Wie funktioniert der Industrie.de Infoservice?
Zur Hilfeseite »
Ihre Adresse:














Die Konradin Verlag Robert Kohlhammer GmbH erhebt, verarbeitet und nutzt die Daten, die der Nutzer bei der Registrierung zum Industrie.de Infoservice freiwillig zur Verfügung stellt, zum Zwecke der Erfüllung dieses Nutzungsverhältnisses. Der Nutzer erhält damit Zugang zu den Dokumenten des Industrie.de Infoservice.
AGB
datenschutz-online@konradin.de