IoT-Architektur - zuerst unter die Haube schauen

Das Konzept des IoT (Internet of Things) ist seit langem im Vokabular von IT-Spezialisten enthalten. Ich habe zwar keinen solchen Hub gefunden, hoffe aber, dass er bald behoben wird :)


Viele Menschen verwechseln jedoch immer noch die IoT-Architektur mit der Automatisierungsarchitektur, bei der die Hauptaufgabe darin besteht, Informationen von Sensoren zu erhalten, und auf deren Grundlage die Exekutivmechanismen gesteuert werden.


Bild

Die IT-Architektur umfasst zwei scheinbar inkompatible Dinge: Zum einen eine große Anzahl von Peripheriegeräten mit geringer Rechenleistung, geringem Stromverbrauch, hoher Reaktionsgeschwindigkeit auf Ereignisse und zum anderen Cloud-Server mit hoher Rechenleistung für die Verarbeitung großer Datenmengen Datenarray, seine Speicherung und Klassifizierung, häufig mit Elementen der Maschinenintelligenz und -analyse. Diese beiden Welten verwenden völlig unterschiedliche Prinzipien der Konstruktion und der inneren Architektur. Sie sehen inkompatibel aus und heutzutage gibt es auf dem Arbeitsmarkt nur wenige Spezialisten, die sich gleichermaßen mit Embedded- und Cloud-Lösungen auskennen. Dies ist eine Art "Full Stack". In diesem Wissen liegt jedoch die Kraft, die auf den ersten Blick zwei völlig unabhängige Technologien vereint. Durch ihre Integration erhalten wir einen erstaunlichen synergistischen Effekt. Es ist wie eine Vereinigung von Mann und Frau - grob und stark, raffiniert und schwach. In diesem Artikel werde ich versuchen, die grundlegende Architektur des IoT unter Berücksichtigung der Anwendung "im Allgemeinen" zu beschreiben.


Die folgende Abbildung zeigt die allgemeine Architektur der IoT-Lösung. Es ist sehr vorhersehbar, dass alles mit Sensoren beginnt. Darüber hinaus ist das System umso effizienter, je besser der Sensor für seine Aufgabe geeignet ist. Dies ist eine Art „Eckpfeiler“ des Systems. Es ist wichtig zu beachten, dass der Sensor eine Änderung der Umgebung erkennt, nicht den statischen Zustand. Die Sensoren sind in aktive Sensoren unterteilt, die die Signale selbst senden und Reflexionen empfangen. und passiv - nur an der Rezeption arbeiten. Letztere profitieren natürlich erheblich vom Energieverbrauch. Die meisten Sensoren basieren auf dem Empfang von Wellen - Schall, Ultraschall, Licht verschiedener Bereiche, Wärme. Es gibt jedoch eine Kategorie von Sensoren, die auf Änderungen ihrer physikalischen Eigenschaften wie Induktivität, Kapazität und Druck basieren. Gute Ergebnisse werden mit einer Kombination mehrerer Sensoren erzielt, beispielsweise einem PIR-Detektor und einem kapazitiven Sensor zur Bewegungserkennung.



Bild

In jedem Fall erzeugt der Sensor ein analoges Signal, das zur weiteren Verarbeitung in eine Ziffer umgewandelt werden muss, wie es der AtoD-Wandler tut. Nach dem Empfang digitaler Informationen muss diese vom lokalen Prozessor des Peripheriegeräts verarbeitet werden. Seine Hauptaufgabe besteht darin, ein Tag der empfangenen Informationen zu platzieren oder sie einfach zu klassifizieren. Tags können einfach sein, zum Beispiel - es gibt Bewegung und komplexer - Bewegung + Geschwindigkeit. Manchmal werden mehrdimensionale Tags benötigt - Bewegung, Maschine. Je komplexer das Tag, desto mehr Leistung des Peripherieprozessors und der entsprechende Stromverbrauch. Je informativer das Tag ist, desto weniger Informationen werden in die Cloud übertragen und desto weniger Bandbreite wird benötigt, und die Reaktionsgeschwindigkeit auf das Ereignis steigt. Natürlich haben alle Tags eine Zeitstempelbezeichnung.


Die nächste Verbindung kann sowohl in der Cloud als auch an der Peripherie und manchmal in beiden Teilen erfolgen. Der Switch leitet die empfangenen Informationen an verschiedene Objekte weiter und klassifiziert Tags. Diese Objekte können Server, Warteschlangen, Lambda oder nur Speicher sein. Bisher wurden Arbeiten mit Informationen von einem bestimmten Peripheriegerät durchgeführt und unterscheiden sich in der Tat nicht von der Arbeit automatisierter Steuerungssysteme. Auf der nächsten Ebene - der Integration - beginnt jedoch ein qualitativer Unterschied. Informationen von verschiedenen Peripheriegeräten werden durch denselben Tag-Typ zusammengefasst. Darüber hinaus können die Arten von Peripheriegeräten selbst sogar unterschiedlich sein. Es ist wichtig, dass die Tags in einen einzigen Punkt fallen, der für den Empfang des entsprechenden Ereignisses verantwortlich ist - das Tag.
Weitere Informationen von allen Objekten, die Tags summieren, werden vom Analyseblock systematisiert. Es besteht aus der Grundlogik oder sozusagen dem Gehirn des Systems. Es gibt KI, maschinelles Lernen usw. Das Ergebnis der Arbeit des Analyseblocks wird zur Anzeige an den Benutzer an den Präsentationsblock übertragen. Es kann so aussehen, als würde eine Nachricht an ein mobiles Gerät, einen Zeitplan in einem WEB oder einen anderen gesendet.


Da das IoT-System über einen unzuverlässigen Kommunikationskanal verteilt und verbunden ist, sind Mechanismen für eine garantierte Informationsbereitstellung erforderlich. Für den Fall, dass es nicht möglich ist, Informationen vom Peripheriegerät in die Cloud zu übertragen, werden wiederholte Übertragungsversuche unternommen. Das gleiche sollte auch andersherum passieren. Zu diesen Zwecken wird eine virtuelle Präsentationseinheit des Peripheriegeräts eingeführt, in die Informationen zur Übertragung an das Peripheriegerät oder dessen neuen Zustand aufgezeichnet werden. Oft ist dies nur eine Textdatei, aber möglicherweise gibt es ein genaueres Darstellungsmodell. Es ist bemerkenswert, dass Änderungen am Virtual View-Modul von verschiedenen Modulen der Eingangsschaltung aus initialisiert werden können, wie in der Abbildung gezeigt.


Nachdem wir das physikalische Blockdiagramm der IoT-Architektur analysiert haben, können wir das logische Diagramm betrachten


Bild

Alles beginnt also wieder mit Sensoren, die die Veränderung der Umgebung im Laufe der Zeit aufzeichnen. Das folgende Tagging-Modul führt eine anfängliche Segmentierung für bestimmte Systemereignisse durch. Grundsätzlich sollte die Entwicklung der Architektur der IoT-Anwendung mit einer Liste dieser Ereignisse beginnen. Die Tag-Summierung wird gemäß einer Gruppe von Peripheriegeräten mit demselben Tag-Typ durchgeführt. Das Integrationsmodul dient dazu, Entscheidungen über die Annäherung (Vorhersage nachfolgender Ereignisse) oder die Bestimmung (Identifizierung einer Situation aus einer Vielzahl von Optionen) zu treffen. Diese Informationen dienen als eine Art Schlüsselkoeffizient für das Modul des virtuellen Modells des Peripheriegeräts, in dem die tatsächlichen Informationen vom Peripheriegerät selbst basierend auf dem Schlüsselkoeffizienten in den neuen Zustand des Peripheriegeräts umgewandelt werden.


Nun ein wenig darüber, was nicht in das oben beschriebene Architekturschema gefallen ist, aber was Sie unbedingt beachten sollten:

  • Informationsspeicherung . Die Speicherung von Informationen sollte sowohl auf der Ebene des Peripheriegeräts als auch in der Cloud erfolgen. Das Peripheriegerät speichert sein Programm, seine Einstellungen und seinen Status und speichert vorübergehend Informationen von Sensoren, bis die Übertragung in die Cloud garantiert ist. Die Cloud-basierte Speicherung von Informationen ist offensichtlich und bedarf zumindest im Rahmen dieses Artikels keiner Erläuterung.
  • Sicherheit / Autorisierung . Jedes Peripheriegerät muss im System und einzeln autorisiert sein. Dies ist ein separates Thema, das auch den Rahmen dieses Artikels sprengt.
  • Warteschlangen und Pipeline . Eine separate Kategorie von Architekturen ist das Mittel zur Übertragung von Informationen durch das System, sowohl innerhalb von Peripheriegeräten als auch in der Cloud und zwischen diesen.

Hoffe, diese kurze Bewertung wird hilfreich sein. In Zukunft plane ich, die Artikel fortzusetzen und einen Spitznamenzyklus für IoT-Lösungen zu erstellen. Ich wäre allen für Kommentare und Themen dankbar, die Sie interessieren werden.

Source: https://habr.com/ru/post/de420173/


All Articles