de flag +1 214 306 68 37

IoT-Architektur: Was ist das und Wie funktioniert es?

Alexander Hryzhnevich

Alexander Hryzhnevich

Alex ist als Berater für die Prozessautomatisierung und IoT bei ScienceSoft, einem Unternehmen für IT-Beratung und Softwareentwicklung. Seine über 17 Jahre Erfahrung in IT und OT umfasst Programmierung von industriellen Mikrocontrollern, Entwicklung von Web- und Desktopanwendungen, Datenbanken und Dokumentenmanagement-Lösungen für Öl & Gas und Logistik. Mit dem Abschluss in Automatisierung und Management von industriellen Prozessen konzentriert sich Alex heute auf IoT und maschinelles Lernen von Sensordaten.

Veröffentlicht:

Können Sie sich eine große Vielfalt an intelligenten Geräten unter der zentralisierten Kontrolle eines "Gehirns" vorstellen? In gewisser Weise ist das mit der Entwicklung vom Internet der Dinge (Internet of Things, kurz IoT) möglich. Das ist das Netzwerk physischer Objekte mit Sensoren und Aktoren, Software und Netzwerkkonnektivität, die es diesen Objekten ermöglichen, Daten zu sammeln und zu übertragen, um Benutzeraufgaben zu erfüllen.

Die Effektivität und Anwendbarkeit eines solchen Systems korrelieren direkt mit der Qualität seiner Grundbausteine und der Art ihrer Wechselwirkung. Und es gibt verschiedene Ansätze für die IoT-Architektur. Mit einer breiten Erfahrung im Bereich Internet der Dinge in verschiedenen Branchen haben wir unseren Anstz zur IoT-Architektur entwickelt.

IoT-Architektur

Grundelemente der IoT-Architektur

Unser Ansatz hinsichtlich der IoT-Architektur spiegelt sich im IoT-Architekturdiagramm wider, das die Bausteine eines IoT-Systems und deren Verbindung beim Sammeln, Speichern und Verarbeiten von Daten zeigt.

IoT-Architektur in einem Diagramm

Dinge. Ein "Ding" ist ein Objekt, das mit Sensoren ausgestattet ist. Sensoren sammeln die Daten und übertragen sie über ein Netzwerk, und Aktoren ermöglichen es den Dingen, Aktionen auszuführen (zum Beispiel, das Licht ein- oder auszuschalten, eine Tür zu öffnen oder zu schließen, die Motordrehzahl zu erhöhen oder zu reduzieren und vieles mehr). Dieses Konzept umfasst Kühlschränke, Straßenlaternen, Gebäude, Fahrzeuge, Produktionsmaschinen, Rehabilitationsgeräte und alles andere, was man sich vorstellen kann. Sensoren sind nicht immer physisch an den Dingen befestigt: Sensoren müssen beispielsweise überwachen, was in der Nähe von einem Dinge passiert.

Gateways. Daten gehen von den Dingen in die Cloud und umgekehrt durch die Gateways. Ein Gateway stellt die Konnektivität zwischen den Dingen und dem Cloud-Teil der IoT-Lösung bereit.  Es ermöglicht die Datenvorverarbeitung und -filterung, bevor die Daten in die Cloud verschoben werden (um Datenmengen für eine detaillierte Verarbeitung und Speicherung zu reduzieren) und überträgt Steuerbefehle aus der Cloud zu den Dingen. Die Dinge führen dann Befehle mit ihren Aktoren aus.

Cloud-Gateway ermöglicht Datenkompression und sichere Datenübertragung zwischen Field Gateways und IoT-Servern in der Cloud. Es stellt auch die Kompatibilität mit verschiedenen Protokollen sicher und kommuniziert mit Field Gateways unter Verwendung unterschiedlicher Protokolle, abhängig davon, welches Protokoll von Gateways unterstützt wird.

Streaming-Daten-Prozessor gewährleistet einen effektiven Übergang von Eingabedaten zu einem Data Lake und zu Steuerungsanwendungen. Keine Daten können zwischendurch verloren gehen oder beschädigt werden.

Data Lake. Ein Data Lake (deutsch „Datensee“) dient zum Speichern der in ihrem ursprünglichen Format kommenden Daten, die von vernetzten Geräten erzeugt werden. Big Data kommt in "Batches" oder in "Streams". Wenn die Daten für aussagekräftige Einblicke benötigt werden, werden sie aus einem Data Lake extrahiert und in ein Big Data Warehouse geladen.

Big Data Warehouse. Gefilterte und vorverarbeitete Daten, die für aussagekräftige Einblicke benötigt werden, werden aus einem Data Lake in ein Big Data Warehouse extrahiert. Ein Big Data Warehouse enthält nur bereinigte, strukturierte und übereinstimmende Daten (im Vergleich zu einem Data Lake, der alle Arten von Daten enthält, die von Sensoren generiert werden). Außerdem speichert Data Warehouse Kontextinformationen über Dinge und Sensoren (z. B. wo Sensoren installiert sind) und die Befehle, die Steuerungsanwendungen an Dinge senden.

Data Analytics. Datenanalysten können Daten aus dem Big Data Warehouse verwenden, um Trends zu finden und umsetzbare Erkenntnisse zu gewinnen. Bei der Analyse (und in vielen Fällen – visualisiert in Schemata, Diagrammen, Infografiken) zeigt Big Data beispielsweise die Leistung von Geräten, hilft Ineffizienzen zu erkennen und Wege zu finden, ein IoT-System zu verbessern (es zuverlässiger, kundenorientierter zu machen). Außerdem können die manuell gefundenen Korrelationen und Muster zur Erstellung von Algorithmen für Steuerungsanwendungen beitragen.

Maschinelles Lernen und die vom ML generierten Modelle. Bei maschinellem Lernen besteht die Möglichkeit, präzisere und effizientere Modelle für Steuerungsanwendungen zu erstellen. Modelle werden regelmäßig aktualisiert (z. B. einmal pro Woche oder einmal pro Monat), basierend auf den historischen Daten, die in einem Big Data Warehouse gesammelt wurden. Wenn die Anwendbarkeit und Effizienz neuer Modelle von Datenanalysten getestet und genehmigt werden, werden die neuen Modelle von Steuerungsanwendungen verwendet.

Steuerungsanwendungen senden automatische Befehle und Warnungen an Aktoren, zum Beispiel:

  • Fenster in einem Smart Home kann einen automatischen Befehl zum Öffnen oder Schließen erhalten, abhängig von den Wettervorhersagen des Wetterdienstes.
  • Wenn Sensoren zeigen, dass der Boden trocken ist, erhalten Bewässerungssysteme einen automatischen Befehl zum Bewässern von Pflanzen.
  • Sensoren helfen, den Zustand von Industrieanlagen zu überwachen, und im Falle eines potenziellen Ausfalls generiert und sendet ein IoT-System automatische Benachrichtigungen an die verantwortlichen Spezialisten.

Die von Steuerungsanwendungen an Aktoren gesendeten Befehle können auch zusätzlich in einem Big Data Warehouse gespeichert werden. Das kann helfen, problematische Fälle zu untersuchen (beispielsweise sendet eine Steuerungsanwendung Befehle, diese werden jedoch nicht von Aktoren ausgeführt, dann müssen Konnektivität, Gateways und Aktoren überprüft werden). Auf der anderen Seite kann das Speichern von Befehlen aus Steuerungsanwendungen zur Sicherheit beitragen, weil ein IoT-System erkennen kann, dass einige Befehle zu merkwürdig sind oder es eine zu große Menge davon gibt. Das kann Sicherheitslücken (sowie andere Probleme, die untersucht und korrigiert werden müssen) signalisieren.

Steuerungsanwendungen können entweder auf den Regeln oder maschinellem Lernen basiert sein. Im ersten Fall arbeiten die Steuerungsanwendungen gemäß den Regeln, die von den Spezialisten festgelegt wurden. Im zweiten Fall verwenden Steuerungsanwendungen Modelle, die regelmäßig (einmal pro Woche, einmal im Monat, abhängig von den Besonderheiten eines IoT-Systems) unter Verwendung von den in einem Big Data Warehouse gespeicherten historischen Daten aktualisiert werden.

Obwohl Steuerungsanwendungen für eine bessere Automatisierung eines IoT-Systems sorgen, sollte es immer eine Option für Benutzer geben, das Verhalten von solchen Anwendungen zu beeinflussen (zum Beispiel in einem Notfall oder wenn es sich herausstellt, dass ein IoT-System schlecht auf bestimmte Aktionen abgestimmt ist).

Benutzeranwendungen sind eine Softwarekomponente vom IoT-System, das die Verbindung von Benutzern mit einem IoT-System ermöglicht und die Möglichkeit bietet, ihre intelligenten Dinge zu überwachen und zu steuern (während diese an ein Netzwerk ähnlicher Dinge angeschlossen sind, Häuser oder Autos z. B., und von einem zentralen System gesteuert werden). Mit einer mobilen oder Web-App können Benutzer den Zustand ihrer Dinge überwachen, Befehle an die Steuerungsanwendungen senden, die Optionen für automatisches Verhalten festlegen (automatische Benachrichtigungen und Aktionen, wenn bestimmte Daten von Sensoren kommen).

Geräteverwaltung

Um eine ausreichende Funktion der IoT-Geräte zu gewährleisten, ist es bei weitem nicht genug, sie zu installieren und die Dinge laufen zu lassen. Es sind einige Prozeduren erforderlich, um die Leistung von vernetzten Geräten zu verwalten (zum Erleichtern der Wechselwirkung zwischen Geräten, zur sicheren Datenübertragung und usw.):

  • Geräteidentifikation zur Feststellung der Identität des Geräts, um sicherzustellen, dass es sich um ein echtes Gerät mit vertrauenswürdiger Software handelt, das zuverlässige Daten überträgt.
  • Konfiguration und Kontrolle, um Geräte den Zielen eines IoT-Systems entsprechend abzustimmen. Einige Parameter müssen sofort nach der Installation eines Geräts geschrieben werden (z. B. eine eindeutige Gerät-ID). Andere Einstellungen müssen möglicherweise aktualisiert werden (z. B. die Zeit zwischen dem Versenden von Meldungen mit Daten).
  • Überwachung und Diagnose, um eine reibungslose und sichere Leistung jedes Geräts in einem Netzwerk sicherzustellen und das Risiko von Ausfällen zu reduzieren.
  • Aktualisierungen und Wartung von Software, um Funktionen hinzuzufügen, Fehler zu beheben und Sicherheitslücken zu schließen.

Benutzerverwaltung

Neben der Geräteverwaltung ist es wichtig, die Kontrolle über die Benutzer zu bieten, die einen Zugriff auf das IoT-System haben.

Die Benutzerverwaltung umfasst die Identifizierung von Benutzern, ihren Rollen, Zugriffsebenen und Eigentumsrechten in einem System. Sie umfasst solche Möglichkeiten wie Hinzufügen und Entfernen von Benutzern, Verwalten von Benutzereinstellungen, Steuern des Zugriffs auf bestimmte Informationen für verschiedene Benutzer, sowie Berechtigung, bestimmte Vorgänge innerhalb eines Systems auszuführen, Benutzeraktivitäten zu steuern und aufzuzeichnen und vieles mehr.

Sicherheitsüberwachung

Die Sicherheit ist eine der Top-Sorgen im Internet der Dinge. Vernetzte Dinge produzieren riesige Datenmengen, die sicher übertragen und vor Cyberkriminellen geschützt werden müssen. Eine andere Seite ist, dass die Dinge, die mit dem Internet verbunden sind, Einstiegspunkte für „Schurken“ sein können. Darüber hinaus können Cyberkriminelle Zugang zum „Gehirn“ des gesamten IoT-Systems erhalten und die Kontrolle darüber übernehmen.

Um solche Probleme zu vermeiden, ist es sinnvoll, die von den Steuerungsanwendungen an die Objekte gesendeten Befehle zu protokollieren und zu analysieren, die Aktionen der Benutzer zu überwachen und all diese Daten in der Cloud zu speichern. Mit einem solchen Ansatz ist es möglich, Sicherheitslücken in der Anfangsphase zu beheben und Maßnahmen zu ergreifen, um ihren Einfluss auf ein IoT-System zu reduzieren (zum Beispiel bestimmte Befehle von Steuerungsanwendungen zu blockieren).

Außerdem ist es möglich, Muster von verdächtigem Verhalten zu identifizieren, diese Muster zu speichern und sie mit den von IoT-Systemen generierten Logs zu vergleichen, um das potenzielle Eindringen zu verhindern und seine Auswirkungen auf ein IoT-System zu minimieren.

IoT-Architektur in Aktion – intelligente Beleuchtung

Sehen wir, wie unsere IoT-Architekturelemente am Beispiel von einer intelligenten Hofbeleuchtung als Teil vom Smart Home (deutsch „das intelligente Haus“) zusammenarbeiten. Dieses anschauliche Beispiel zeigt, wie eine IoT-Lösung gleichzeitig zu Benutzerfreundlichkeit und Energieeffizienz beiträgt. Es gibt verschiedene Möglichkeiten, wie ein intelligentes Beleuchtungssystem funktionieren kann, und wir werden Grundmöglichkeiten behandeln.

Grundkomponenten

Die Sensoren nehmen Daten aus dem Umfeld auf (z. B. Tageslicht, Geräusche, Personenbewegungen). Die Lampen sind mit den Aktoren ausgestattet, um das Licht ein- und auszuschalten. Ein Data Lake speichert Rohdaten von Sensoren. Ein Big Data Warehouse enthält extrahierte Informationen über das Verhalten der Bewohner von Smart Home an verschiedenen Tagen der Woche sowie über Energiekosten usw.

Manuelle Überwachung und manuelle Steuerung

Die Benutzer steuern intelligentes Beleuchtungssystem mit einer mobilen App mit der Karte des Hofes. Mit der App können die Benutzer sehen, welche Lampen ein- und ausgeschaltet sind, und Befehle an die Steuerungsanwendungen senden, die sie weiter an Lampenaktoren übertragen. Solch eine App kann auch zeigen, welche Lampen bald außer Betrieb sein können.

Data Analytics

Bei der Analyse von Art und Weise, wie Benutzer intelligente Beleuchtung anwenden, ihren Zeitplänen (entweder von Benutzern bereitgestellt oder vom intelligenten System identifiziert) und anderen von Sensoren erfassten Informationen können Datenanalysten die Algorithmen für Steuerungsanwendungen erstellen und aktualisieren.

Die Data Analytics hilft auch, die Effektivität des IoT-Systems zu bewerten und Probleme bei der Funktionsweise des Systems aufzudecken. Ein Benutzer kann zum Beispiel das Licht ausschalten, gleich nachdem das System es automatisch eingeschaltet hat, und umgekehrt. Das bedeutet, dass die Lücken in den Algorithmen hier vorhanden sein könnten, und diese müssen so schnell wie möglich behoben werden.

Optionen und Fallstricke bei der automatischen Steuerung

Die Sensoren, die Tageslicht überwachen, senden die Daten über das Licht in die Cloud. Wenn das Tageslicht nicht ausreicht (gemäß der zuvor angegebenen Schwelle), senden die Steuerungsanwendungen automatische Befehle an die Aktoren, um die Lampen einzuschalten. Die restliche Zeit sind die Lampen ausgeschaltet.

Ein Beleuchtungssystem kann jedoch durch die Straßenbeleuchtung, Lampen von benachbarten Höfen und andere Quellen „verwirrt“ werden. Das Fremdlicht, das von Sensoren aufgenommen wird, kann dazu führen, dass das intelligente System zum Schluss kommt, dass es genug Licht gibt, und die Beleuchtung ausgeschaltet werden sollte. Daher ist es sinnvoll, dem intelligenten System ein besseres Verständnis der Faktoren zu vermitteln, die die Beleuchtung beeinflussen, und diese Daten in der Cloud zu akkumulieren.

Wenn Sensoren Bewegungen und Geräusche überwachen, genügt es nicht, das Licht einzuschalten, wenn Bewegungen oder Geräusche auf dem Hof ​​erkannt werden, oder alle Lampen in der Stille auszugeschalten. Bewegungen und Geräusche können beispielsweise von Haustieren erzeugt werden, und Cloud-Anwendungen sollten zwischen menschlichen Stimmen und Bewegungen und denen von Haustieren unterscheiden. Dasselbe gilt für den Lärm, der von der Straße und den benachbarten Häusern, sowie für andere Geräusche. Um dieses Problem zu beheben, kann man Beispiele von verschiedenen Klängen in der Cloud speichern und sie mit den Klängen vergleichen, die von den Sensoren kommen.

Maschinelles Lernen

Die intelligente Beleuchtung kann Modelle anwenden, die durch maschinelles Lernen erzeugt werden. Solche Modelle helfen z. B. das Verhaltensmuster von Smart-Home-Besitzern erkennen (sie verlassen das Haus um 8 Uhr morgens und kommen um 19 Uhr zurück) und dementsprechend die Zeit für das Ein- und Ausschalten der Beleuchtung anpassen (z. B. die Beleuchtung schaltet die Lampen 5 Minuten früher ein, bis sie benötigt werden).

Ein intelligentes System kann das Verhalten von Benutzern langfristig analysieren und ein fortgeschrittenes Verhaltensmodell entwickeln. Wenn zum Beispiel Sensoren keine typischen Bewegungen und Stimmen von Hausbewohnern identifizieren, kann ein intelligentes System „davon ausgehen“, dass Smart-Home-Bewohner im Urlaub sind und das Verhalten anpassen.  Zum Beispiel kann das System zwischendurch das Licht einschalten, um einen Eindruck zu machen, dass das Haus nicht leer ist (aus Sicherheitsgründen), aber das Licht ständig eingeschaltet nicht lassen, um den Energieverbrauch zu reduzieren.

Optionen für die Benutzerverwaltung

Um eine effiziente Benutzerverwaltung zu gewährleisten, kann das intelligente Beleuchtungssystem für mehrere Benutzer mit Rollenverteilung entwickelt werden: zum Beispiel Besitzer, Bewohner, Gäste. In diesem Fall hat der Benutzer mit dem Titel "Besitzer" die volle Kontrolle über das System (auch Verhaltensmuster der intelligenten Beleuchtung ändern und den Status von Hoflampen überwachen) und Prioritäten bei der Erteilung von Befehlen. Die anderen Benutzer haben dabei Zugang zu einer begrenzten Anzahl von Systemfunktionen. Also wenn mehrere Benutzer widersprechende Befehle geben, wird der Befehl eines Besitzers der einzige sein, den eine Steuerungsanwendung ausführt. "Bewohner" können die Lampen ein- und ausschalten, ohne die Einstellungen ändern zu können. "Gäste" können das Licht in einigen Teilen des Hauses ein- und ausschalten, aber haben keinen Zugang zum Steuern der Lampen, zum Beispiel in der Nähe der Garage.

Abgesehen von der Rollenverteilung ist es wichtig, das Eigentum zu berücksichtigen (wenn ein System mehr als 100 000 Haushalte kontrollieren kann, ist es dann wichtig, dass ein Bewohner von einem Smart Home die Beleuchtung in seinem Hof verwaltet und nicht die im Hof eines Nachbarn).

Anstelle einer Schlussfolgerung 

Kurz und knapp enthält unsere IoT-Architektur die folgenden Komponenten:

  • Dinge, die mit Sensoren ausgestattet sind, um Daten zu sammeln, und Aktoren, um Befehle aus der Cloud auszuführen.
  • Gateways für Filterung, Vorverarbeitung und Verschieben von Daten in die Cloud und umgekehrt – Empfangen von Befehlen aus der Cloud.
  • Cloud-Gateways zur Sicherstellung des Datentransfers zwischen Field Gateways und zentralen IoT-Servern.
  • Streaming-Daten-Prozessoren zur Verteilung der Daten von Sensoren über die relevanten Komponenten der IoT-Lösung.
  • Data Lake zum Speichern aller Daten mit definiertem und undefiniertem Wert.
  • Big Data Warehouse zum Sammeln von wertvollen Daten.
  • Steuerungsanwendungen, um Befehle an Aktoren zu senden.
  • Maschinelles Lernen, um die Modelle zu generieren, die dann von Steuerungsanwendungen verwendet werden.
  • Benutzeranwendungen, um es den Benutzern zu ermöglichen, ihre vernetzten Dinge zu überwachen.
  • Data Analytics für die manuelle Datenverarbeitung.

Unsere IoT-Architektur enthält auch Komponenten für die Geräte- und Benutzerverwaltung, um eine stabile und sichere Funktion der Dinge zu gewährleisten und Benutzerzugriffsprobleme zu kontrollieren.

Beim Entwickeln einer IoT-Architektur für eine bestimmte Lösung ist es auch wichtig, sich auf Konsistenz zu konzentrieren (genügend Aufmerksamkeit für jedes Element der IoT-Architektur zu geben und sie zusammenarbeiten zu lassen), Flexibilität (Möglichkeit, neue Funktionen und neue Logik hinzuzufügen) und Integration mit Unternehmenssystemen (die Kombination neuer IoT-Lösungen mit zuvor implementierten IT-Lösungen für Unternehmen wie ERP, MES, WMS, Lieferantenmanagement-Systemen und vielem mehr).

Von der Strategieentwicklung über die Unterstützung bis hin zur Weiterentwicklung – wir verwandeln Ihre IoT-Initiative aus "Wie?" ins "Wow!"