Vor fast einem Jahr begann ich, eine Reihe von Artikeln über die Architektur von IoT-Lösungen zu veröffentlichen. (Link zum ersten Artikel
habr.com/de/post/420173 ). Und schließlich geht der zweite Artikel der Serie an Ihren Hof.

IoT-Projekte ähneln sich und es stimmt, dass sie gemeinsame Komponenten haben. Gleichzeitig weisen IoT-Projekte grundlegende Unterschiede auf, angefangen bei der Marktanforderung bis hin zu den zu lösenden Aufgabenklassen.
Offensichtlich ist die Entwicklung jeder Lösung „von Grund auf“ äußerst ineffizient. Viele Komponenten können nach dem Prinzip der Programmiermuster wiederverwendet werden.
In diesem Artikel werden wir die verschiedenen Klassen von IoT-Lösungen und ihre jeweiligen Implementierungen analysieren. Infolgedessen werden Empfehlungen zu den Schritten zur Implementierung der IoT-Architektur gegeben, und wir werden versuchen, die allgemeinen Trends von IoT-Lösungen hervorzuheben.
Wir werden auch versuchen, die Hauptproblembereiche zu formulieren, aus deren Betrachtung es sich lohnt, mit der Konstruktion von Architekturen für bestimmte IoT-Lösungen und mögliche Problembereiche von Architekturen zu beginnen.
IoT-Anwendungen
Heute gibt es eine Unterteilung in drei geografische Hauptregionen für die Anwendung von IoT-Lösungen:
Europa
Der IoT-Markt in Europa erwägt Projekte zur Erhaltung der natürlichen Ressourcen. Ein typisches Beispiel ist Tag / Nacht-Beleuchtung, Heizungsautomatisierung, Wassermanagement, Feueralarm.
Fernost Region
In diesem Markt hat Sicherheit für IoT-Lösungen oberste Priorität. Typische Anwendungen sind Kameras, die ungewöhnliche Situationen auf der Straße, beim Transport und zu Hause erkennen. Der zweite wichtige Bereich sind Sicherheits- und Katastrophenschutzlösungen wie seismische Aktivitäten, Hurrikane, Taifune und Tsunamis.
Nordamerikanischer Markt
Auf diesem Markt sind hauptsächlich IoT-Projekte vertreten, die auf die Optimierung von Geschäftsprozessen abzielen, z. B. die Optimierung des Transports, die effiziente Lieferung von Waren sowie Elemente von Smart Homes und Städten.
Natürlich dringen IoT-Lösungen von einem Markt zum anderen vor und sind keine ausschließlichen Vorrechte. In jeder Region finden wir alle Klassen von IoT-Lösungen. Für uns ist es wichtig, diese Klassen von IoT-Produkten zu klassifizieren, die heute auf den globalen Märkten existieren. Das Folgende ist eine Liste solcher Klassen von IoT-Lösungen:
- Smart City. Die Hauptaufgaben sind das Management und die Regulierung des Autoverkehrs, die Straßenbeleuchtung bei Tag und Nacht, die Gefahrenwarnung für Fußgänger und die Ermittlung von nicht standardmäßigen und gefährlichen Situationen in der Stadt.
- Smart Home. Die Hauptaufgaben sind Sicherheit, eine intelligente Türklingel, TV- und Küchensteuerung, automatische Bewässerungs- und Beleuchtungssysteme, Feuer-, Gas-, Wasserleckage- und Haustemperaturalarme.
- Wetter und Naturkatastrophen. Meteorologische Informationen, seismische Aktivität, Brandbekämpfung. Wettervorhersage.
- Optimierung des Ressourceneinsatzes in Haus, Stadt, Land. Beleuchtung, Strom, Heizung, Optimierung und Vorhersage des Einsatzes von beispielsweise Brennstoff in Kraftwerken.
- Optimierung von Transport, Lieferung, Lagerung und Sortierung. Unternehmen wie DHL und FedEx nutzen die Lösung, um optimale Transportwege zu erstellen. Lager- und Sortierterminals an großen Flughäfen.
- Werksüberwachung und -steuerung, Förderlinienmanagement. Steuerroboter. Sortieren von Waren, Rohstoffen und Testen von Fertigprodukten.
- Anspruchsvolle Mechanismen, High-Tech-Geräte wie moderne Autos, Flugzeuge usw. Automatisiertes Steuerungssystem, Diebstahlschutz, Steuerung von Systemeinheiten. Erkennung von Gesicht und Körper des Fahrers, um Schlaf und Aufmerksamkeitsverlust zu verhindern. Vorhersage der Wartung und des Austauschs von Systemkomponenten.
IoT-Architektur
Allgemeine Topologie von IoT-Lösungen
Die folgende Abbildung zeigt die Schichtarchitektur von IoT-Lösungen. Die IoT-Topologie unterscheidet sich von einem herkömmlichen Schichtmodell wie OSI. Dies ist kein lineares oder komplexeres Flussdiagramm. Einige Komponenten sind optional und möglicherweise in einer bestimmten Klasse von Lösungen nicht verfügbar. Es können zwei Arten von Logik vorhanden sein - M2M (von Auto zu Auto) und M2P (von Auto zu Mensch) sowie spezifischere Fälle wie C2C (von Auto zu Auto, normalerweise in einer LTE-Mobilkommunikationszelle).
Die IoT-Lösung verfügt über zwei physische Standorte: Der erste ist das Endgerät (Peripheriegerät) und der zweite befindet sich im Backend-Rechenzentrum auf Servern oder in der Cloud. Gleichzeitig ist dies keine klassische Client-Server-Anwendungsarchitektur, wie wir später sehen werden.

Im Folgenden werden wir jede Ebene separat analysieren und ihre Funktionen mit den tatsächlichen Klassen von IoT-Lösungen vergleichen.
Physikalische Schicht - physikalische Schicht
Diese Ebene repräsentiert zwei Arten von Operationen - das Sammeln von Informationen (Sensoren) und das Ausführen mechanischer Arbeiten (Exekutivmechanismen).
Sensoren können in folgende Kategorien unterteilt werden:
- Sensoren:
- Licht: Fotodioden / Transistoren / Widerstände, PIR-Detektoren
- Ton: Mikrofone, Ultraschallsensoren
- Schalter, insbesondere Endschalter, registrieren die Extrempunkte der mechanischen Bewegung. Drehwinkel oder Drehzahl messen.
- Elektromagnetische Sensoren messen Änderungen der physikalischen Eigenschaften wie elektrische Kapazität, Induktivität und Widerstand.
- Komplexe oder zusammengesetzte Sensoren. Dazu gehören spezielle Sensoren wie Gas, Spektrum usw. sowie ein separater Typ von Informationssammelgeräten, der zunehmend Anwendung findet - Videokameras.
In IoT-Lösungen haben physikalische Elemente bestimmte gemeinsame Anforderungen:
- Ein möglichst niedriger Preis aufgrund der hohen Menge in der IoT-Lösung.
- Batteriebetrieben, was wiederum einen geringen Stromverbrauch erfordert. Die heutige Marktnachfrage ist der Betrieb von Peripheriegeräten ohne Wartung von 1 bis 10 Jahren.
- Oft an unzugänglichen und abgelegenen Orten mit minimalen Installations- und Wartungskosten.
- Bei Verwendung von Videokameras erfolgt die primäre Bildverarbeitung mit Entscheidungsfindung auf Basis künstlicher Intelligenz
Aktuatoren von IoT-Lösungen öffnen die Schlösser von Eingangstüren, betätigen Motoren, Selsyn, schalten die Lichter, Heizung, Wasser, Gas usw. ein / aus. Es gibt keine wesentlichen Änderungen bei der Implementierung von Aktuatoren. Daher wird dieser Teil der IoT-Lösung in diesem Artikel nicht behandelt.
Das Folgende ist eine Tabelle der physischen Schicht in verschiedenen Klassen von IoT-Lösungen:
Wir können zwei Probleme für die Anforderungen der physikalischen Schicht zusammenfassen:
- Geringer Stromverbrauch. Ein hohes Maß an Integration mit den obersten Schichten ist erforderlich.
- Die Verwendung von Videokameras. Es erfordert auch einen hohen Grad an Integration mit höheren Ebenen und integrierten AI / ML-Funktionen, die im Peripheriegerät implementiert sind.
Edge Layer - Peripheral Computing Level
Diese Ebene ist normalerweise mit einem einzelnen Sensor oder Aktuator verbunden. Es bietet nur minimale Funktionen zum Konvertieren von analogen Informationen in digitale und / oder umgekehrt. Für den Anschluss von Sensoren gelten die gleichen Anforderungen an Preis und Stromverbrauch. Viele Hersteller, die diese Art von Geräten herstellen, haben keinen einzigen Standard für Datenmodell, Konfiguration und Betrieb, was zu individuellen Integrationsproblemen führt.
Um den Stromverbrauch zu senken, verfügen Peripheriegeräte normalerweise über vier Betriebsarten:
- Schlafmodus
- Messen und Sammeln von Informationen von Sensoren
- Die Art der Kommunikation, Übertragung und des Empfangs von Informationen
- Installations- und Verbindungsmodus
Das Folgende ist ein Blockdiagramm eines Peripheriegeräts.

Ein Peripheriegerät kombiniert normalerweise drei Ebenen: physische, periphere Datenverarbeitung und Kommunikation. Die Hauptfunktionalität der Peripherie-Computing-Ebene ist die lokale ETL (Extract, Transformation and Load) - Empfangen, Konvertieren und Speichern von Informationen von Sensoren. Diese Ebene ist nicht nur dafür verantwortlich, Informationen vom Sensor zu sammeln, sondern sie auch in eine Standardform zu bringen, Störungen zu filtern, vorläufige Analysen durchzuführen und lokal zu speichern.
Die folgende Tabelle zeigt den Grad des Peripherie-Computing in verschiedenen Klassen von IoT-Lösungen:
Die Hauptanforderungen an das Niveau des Peripherie-Computing:
Geringer Stromverbrauch. Dies kann mit Hardware mit geringem Stromverbrauch und Sleep / WakeUp-Algorithmen erreicht werden. Oft das Vorhandensein eines lokalen Elements künstlicher Intelligenz.
Lokale Netzwerkschicht - periphere Kommunikationsschicht
Die Datenübertragung ist der energieintensivste Teil eines Peripheriegeräts Die meisten Peripheriegeräte sind nicht an das Stromnetz und die Kabelkommunikation angeschlossen. Darüber hinaus können sich Peripheriegeräte ziemlich weit vom Gateway entfernt befinden (innerhalb weniger Kilometer). Andererseits ist die Menge der übertragenen Informationen normalerweise recht gering. Die folgenden Protokolle werden auf der Ebene der peripheren Kommunikation verwendet:
- ZigBee / Zwave
- Ble
- Lora
- Proprietäres Low-Band
Ad-hoc und Mesh werden heutzutage auf dieser Ebene häufig eingesetzt, um die Entfernung und Zuverlässigkeit zu erhöhen.
Für Konfigurationszwecke kann auch das NFC-Protokoll verwendet werden. Während der ersten Installation und / oder Wartung kann ein Servicetechniker mit einer mobilen Anwendung über eine periphere Kommunikationsschicht eine Verbindung zu einem Peripheriegerät herstellen. Manchmal wird zur Authentifizierung auch ein auf einem Peripheriegerät gedruckter Q-Code verwendet.
Die folgende Tabelle zeigt den Grad der peripheren Kommunikation in verschiedenen Klassen von IoT-Lösungen:
Gateway-Schicht - Gateway-Ebene
Es gibt mehrere Gründe für eine Gateway-Schicht in einer IoT-Lösung:
- Wenn das Backend Rohdaten erhält, erhöht es seine Leistung und die Kosten sind sehr hoch.
- Das Backend kann für eine große Anzahl von Peripheriegeräten keine Echtzeitantwort garantieren.
- Aus Sicherheitsgründen können einige Informationen nicht an das Backend gesendet und nicht kontinuierlich von Menschen überwacht werden. Zu diesen Informationen gehören Daten von Straßenüberwachungskameras, medizinische Informationen usw.
Das Gateway sollte die folgenden grundlegenden Funktionen bereitstellen:
- Implementieren Sie eine zweite ETL-Ebene von ihren Peripheriegeräten aus.
- Beheben Sie eine kritische Situation und geben Sie eine lokale Reaktion ab, auch ohne Kommunikation mit BackEnd. Dies kann mit den Signalen des Herzschlags oder der Lungenatmung einer Person ohne Beteiligung des Gehirns verglichen werden.
- Kommunizieren Sie mit Backnd. Sendet verarbeitete Informationen von Peripheriegeräten an den Server und empfängt Konfigurationsdaten für Peripheriegeräte.
- Speichern Sie Informationen über den Status von Peripheriegeräten und die von ihnen gesammelten Daten.
In einigen Fällen muss die AI / ML-Funktionalität (Künstliche Intelligenz / Maschinelles Lernen) auf Gateway-Ebene vorhanden sein. Das Gateway-Gerät wird hauptsächlich über das Stromnetz mit Strom versorgt oder verfügt über einen großen eingebauten Akku. Einige Lösungen erfordern jedoch auch einen geringen Stromverbrauch. In dieser Situation tritt ein zusätzliches Problem auf - das Synchronisationsprotokoll für die Kommunikation mit dem Peripheriegerät. Einer von ihnen (Gateway oder Peripheriegerät) sollte die Meldung „Bereit zur Kommunikation“ häufiger senden, als das andere Gerät zur Kommunikation bereit ist. Die Auswahl hängt vom Gesamtstromverbrauch jedes Geräts und der erforderlichen Zeit ohne Wartung ab.
Heute erhöhen wir die Anzahl der Anwendungen mit einer Informationsquelle in Form einer Videokamera. In diesen spezifischen Lösungen können Gateway und Edge zusammen integriert werden. Die AI / ML-Funktionalität in solchen Anwendungen wird immer beliebter. Mit den neuen Beschleunigern für Maschinenintelligenz für eingebettete Systeme ist diese Lösung Realität geworden.
Unabhängig davon sollte über die Gateways für Smart-Home-Lösungen gesprochen werden. Ein Gateway in dieser Klasse von Lösungen wird häufig mit STB-Geräten kombiniert - Fernsehadaptern oder mit einem Steuergerät für die Sicherheit zu Hause. Für die erste Integration existiert bereits eine offene RDK-V-Plattform. In naher Zukunft sollten wir mit einer weiteren Integration aller drei Komponenten rechnen - dem Gateway + STB + -Sicherheit in einem Gerät. Es wird wahrscheinlich auch NAS- (Local File Storage) und AI / ML-Dienste für die Video- / Audioerkennung von Maschinen bieten. Audioerkennungsgeräte wie Alexa basieren auf der Cloud-Infrastruktur, die primäre Erkennung wird jedoch wahrscheinlich auf die Peripherieebene übertragen.
Die folgende Tabelle zeigt die Gateway-Ebene in verschiedenen Klassen von IoT-Lösungen:
Breite Netzwerkschicht - Externe Verbindungsschicht
Diese Schicht trennt den peripheren und den BackEnd-Teil der Gesamtlösung. Das Gateway ist hauptsächlich über mobiles WLAN wie 4G / 5G mit BackEnd verbunden, manchmal wird jedoch auch ein kabelgebundener Internetzugang verwendet. Die logische Schicht der externen Kommunikation verfügt über ein standardisiertes Protokoll für IoT-Lösungen namens LvM2M. Das LvM2M-Protokoll wurde für den Zugriff auf jedes Peripheriegerät entwickelt. Da jedoch viele Peripheriegeräte keine LvM2M-Schnittstellen unterstützen, kann das Gateway-Gerät dieses Problem lösen und einen Wrapper für die Kommunikation mit Peripheriegeräten erstellen.
Die externe Kommunikationsschicht enthält auch Kommunikationsdienste und ISO-Modelle in sich. Es enthält DNS-Ausgleichs- und Standortdienste, das COAP-Transportprotokoll, DTLS-Verschlüsselung und viele andere Komponenten, die den Rahmen dieses Artikels sprengen.
Ein wichtiger Kommentar müssen wir hier machen. Das LvM2M-Protokoll verwendet das DTLS-Verschlüsselungsprotokoll. Das DTLS-Protokoll ist ein Protokoll mit Sicherheitsschlüsseln und einer Handshake-Sitzung. Es funktioniert Punkt zu Punkt. Um DTLS-Pakete zu entschlüsseln, müssen wir dieselbe Back-End-Instanz verwenden, die wir während der Verbindungssitzung hatten. Dies stellt ein Problem für den Load Balancer dar, der Teil der Sicherheitsschicht in unserer Schaltung ist. Der Load Balancer ist wiederum für die automatische Skalierung bei hoher Systemlast erforderlich. Um diese Einschränkung zu vermeiden, wird DNS als Load Balancer verwendet. Jede N-DNS-Abfrage erhält eine neue IP-Adresse für die Instanz der Sicherheitsstufe.
Nachfolgend finden Sie eine Tabelle zum Grad der externen Kommunikation in verschiedenen Klassen von IoT-Lösungen:
Security Layer —
Diese Schicht bietet AAA- (Authentifizierung, Autorisierung und Buchhaltung) und Verschlüsselungs- / Entschlüsselungsfunktionen sowie andere internetbezogene Dienste. Alle Clouds haben ihre eigenen Sicherheitsimplementierungen, aber funktional basieren sie alle auf dem Prinzip von Rollen und Berechtigungen. Wie im obigen Absatz erwähnt, dient diese Schicht auch als Terminator für die DTLS-verschlüsselte Verbindung.Die Endend-Konnektivität zum Backend verfügt auch über eine Sicherheitsschichtkomponente.Die folgende Tabelle zeigt die Sicherheitsstufe in verschiedenen Klassen von IoT-Lösungen:Middleware Layer —
Diese Schicht bietet interne Cloud-Funktionen mit Lastausgleich, Nachrichtenwarteschlange und Streaming. Die Komponenten dieser Ebene sollten dupliziert und automatisch skaliert werden. Das Level wird hauptsächlich auf Basis von Microservices oder PaaS von Cloud-Anbietern implementiert. Diese Anforderung ergibt sich aus dem Paradigma von Sprüngen und Einbrüchen im Datenvolumen. Die automatische Skalierung reduziert die Kosten für die Backend-Implementierung. Die tatsächliche Implementierung des Dienstes mag unterschiedlich sein, aber das allgemeine Prinzip bleibt eines: Bereitstellung einer asynchronen Nachrichtenübertragung mit Pufferung und Lastausgleich. Auf diese Weise können die verschiedenen Backend-Komponenten ihre Arbeit unabhängig voneinander erledigen und je nach Belastung horizontal skalieren.
Die Abbildung zeigt ein schematisches Blockdiagramm von Kommunikationsmustern innerhalb des Servers. Load Balancer dient zur Verteilung der Last auf verschiedene Dienste. Warteschlange - Warteschlangen bieten Zwischenpufferung für asynchrone serielle Dienste. Abonnenten - Empfänger abonnieren Warteschlangen, die ihrer Logik entsprechen, um Nachrichten nach der Verarbeitung vorheriger Nachrichten nacheinander zu empfangen.Die folgende Tabelle zeigt den Grad der Intra-Server-Kommunikation in verschiedenen Klassen von IoT-Lösungen:Etl-Ebene - Ebene der Datenerfassung, -verarbeitung und -speicherung
Die interne ETL-Ebene (Extrahieren, Konvertieren und Laden) ist die dritte ETL-Operation. Der erste befand sich im Peripheriegerät, der zweite im Gateway. Back-End-ETL sammelt Daten von allen Peripheriegeräten und Gateways und ist für die folgenden Vorgänge verantwortlich:- Informationsbeschaffung
- Informationen in die Standardansicht bringen
Das allgemeine Schema zum Implementieren dieser Schicht ist in der Abbildung dargestellt. Beim Sammeln von Daten (Extrahieren) werden Informationen aus relevanten Warteschlangen gelesen. Der Transformationsvorgang kann von spezialisierten Cloud-Diensten wie Lambda oder von Rechenmitteln in Containern und nur in virtuellen Maschinen ausgeführt werden. Jede der oben genannten Methoden hat ihre positiven und negativen Eigenschaften. Zum Beispiel ist der Lambda-Service für eine fast vollständige Automatisierung praktisch, hat jedoch eine erhebliche Erstellungszeit und ist daher nicht anwendbar, wenn eine schnelle Reaktion auf die auftretenden Ereignisse erforderlich ist. Lambda ist auch für die kontinuierliche Verarbeitung schlecht geeignet, da es für die Nutzungsdauer berechnet wird. Der am häufigsten verwendete Dienst ist Containerized Computing. Sie sind bequem skalierbar und können problemlos auf verschiedene BackEnds portiert werden.Das Hauptziel dieser Operation besteht darin, die Daten in eine bequeme Form zum Speichern, Sortieren und Suchen zu bringen. Zu diesem Zweck werden Daten häufig aus verschiedenen Nachrichten und sogar aus Warteschlangen kombiniert.Speichervorgänge (Laden) dienen zum Speichern, Sortieren und anschließenden Abrufen von Informationen. Abhängig von der Art der Informationen und den Optionen für ihre Verwendung werden verschiedene Tools verwendet. Wenn die Daten kein striktes Schema (Tabellenspalten) haben, werden sie in NoSQL-Datenbanken gespeichert. Wenn die Daten jedoch durch ein festes Schema systematisiert werden können, werden SQL-Datenbanktypen verwendet. Letztere haben wiederum zwei Typen - OLTP (Online Transactional Processing) und OLAP (Online Analytic Processing). Wie der Name schon sagt, eignet sich der erste Typ besser für den ETL-Prozess selbst - das Schreiben neuer Werte in die Datenbank, während der zweite für das Suchen und Analysieren von Daten bequemer ist. Daher werden die Daten häufig nach dem Herunterladen in die OLTP-Datenbank im Hintergrund nach OLAP kopiert. Es gibt Situationen, in denen es nicht bequem oder unmöglich ist, Daten in Datenbanken zu speichern.Als Datensatz werden diese Daten beispielsweise in einem Bucket aufgezeichnet und die Metadaten der Datensätze werden in Datenbanken gespeichert. Um die Speicherkosten zu senken, werden veraltete Daten archiviert oder gelöscht. Die letzte Komponente dieser Ebene ist die interne Benachrichtigung über die Verfügbarkeit neuer gespeicherter Daten zur Präsentation für Kunden und für Analysedienste.Nachfolgend finden Sie eine Tabelle mit dem Grad der Erfassung, Verarbeitung und Speicherung in verschiedenen Klassen von IoT-Lösungen:Big Data- und Analyseebene - Analyseebene
Hängt von der spezifischen IoT-Anwendung ab. Big Data und Analyseebene extrahieren Situationsinformationen aus dem gesamten Satz von Peripheriegeräten. Dieser Teil ist weniger standardisiert, da er sich aufgrund unterschiedlicher Problemlösungen von Anwendung zu Anwendung stark unterscheidet. AI / ML-Algorithmen sind in dieser Schicht ebenfalls weit verbreitet.Eine separate Kategorie ist die Vorhersage zukünftiger Ereignisse, wie z. B. notwendige Teile in einem Lager, Verbrauch zukünftiger Ressourcen, Wetter usw.Die folgende Tabelle zeigt den Analysegrad in verschiedenen Klassen von IoT-Lösungen:Notification layer —
Auf dieser Ebene können mehrere Komponenten vorhanden sein, die jedoch alle über einen Abonnement-Benachrichtigungsalgorithmus verfügen. Die Client-Anwendung abonniert die erforderlichen Ereignisse und empfängt in diesem Fall ein Informationssignal - eine Benachrichtigung. Dies sind hauptsächlich E-Mail-Anwendungen und mobile Clients, weniger Telefonanrufe (werden für Notfallbenachrichtigungen verwendet). Die mobile Anwendung muss aus Gründen des Stromverbrauchs in den Ruhemodus wechseln. IOS und Android verfügen jedoch über einen Benachrichtigungsmechanismus, der das Eintreffen neuer Daten anzeigt.Die folgende Tabelle zeigt die Benachrichtigungsstufe in verschiedenen Klassen von IoT-Lösungen:Presentation Layer —
Eine IoT-Anwendung kann zwei Streams haben: M2M (von Maschine zu Maschine) und M2P (von Maschine zu Person). Die dem M2M-Stream zugeordnete Präsentationsschicht, in der das Back-End Informationen verarbeitet und einem Kunden oder Supporttechniker zur Verfügung stellt. Heute gibt es keine standardisierte UI / UX-Darstellung für diese Ebene, aber ich hoffe, dass sie in naher Zukunft erscheinen wird.Die Präsentationsschicht ist auch für die Wartung, Konfiguration und Änderung des Systemstatus einschließlich Peripheriegeräten und Gateways verantwortlich. Es enthält auch Befehle zum Steuern von Aktuatoren von Peripheriegeräten.Die folgende Tabelle zeigt die Präsentationsebene in verschiedenen Klassen von IoT-Lösungen:Konfigurationsebene - Konfigurationsebene
Diese Ebene gilt für beide Streams - M2M und M2P - und dient als Speicher für drei Arten von Status von Peripheriegeräten:- Der aktuelle Status des Peripheriegeräts
- , .
- — . .
Ein Peripheriegerät und sogar ein Gateway können nur eine kurze Verbindungszeit zum Backend haben. Wir haben das früher besprochen. Jede Statusänderung von einem Client oder System wird auf dieser Ebene gespeichert und während der Kommunikationszeit an das Gateway oder Peripheriegerät gesendet.Damit diese Logik funktioniert, wird normalerweise der folgende Kommunikationsprozess implementiert:
Wenn das Gateway im Informationsübertragungsschema vorhanden ist, werden die meisten Informationen von Peripheriegeräten in Form von Datenpaketen, die von mehreren Peripheriegeräten gesammelt wurden, an den Serverteil gesendet.Die folgende Tabelle zeigt die Konfigurationsebene für die verschiedenen Klassen von IoT-Lösungen:Ergebnisse und Aufbau einer Architektur von IoT-Lösungen.
Um das Obige zusammenzufassen. Folgende Entwicklungstrends sind bei IoT-Lösungen zu beobachten:- Sensoren sind in 2 Gruppen unterteilt:
- Einfach, günstig, mit möglichst geringem Energieverbrauch. Informationsübertragung mit niedriger Geschwindigkeit und hoher Reichweite. Dies sind tatsächlich einmalige Geräte, die nicht gewartet werden können.
- Basierend auf Camcorder. Das Gerät ist in einen Peripheriecomputer integriert. Es verfügt über integrierte Mechanismen zur Mustererkennung und grundlegenden Entscheidungsfindung.
- ETL — , backend. , , — .
- , . . — LvM2M.
- Backend Cloud. AWS.
- , WEB . . .
Wo kann man mit dem Aufbau einer IoT-Architekturlösung beginnen? Es gibt keinen einheitlichen Ansatz für die Beantwortung dieser Frage. Und hier werde ich meine persönliche Meinung abgeben:- Definieren Sie das Datenmodell, das wir vom Gateway erhalten können, d. H. auf Backend übertragen.
- Überprüfen Sie, welche Peripheriegeräte Daten erfassen können und wie diese verarbeitet werden sollen, um sie auf das vom Gateway übertragene Modell zu übertragen.
- Überprüfen Sie die Anforderungen an Peripheriegeräte - Entfernungen, Informationsmenge, Stromverbrauch usw.
- Wählen Sie das entsprechende Peripheriegerät, seinen Standort in Bezug auf die Sensoren und das Protokoll ihrer Arbeit aus.
- Lösen Sie die Architektur des Cloud-Teils, einschließlich:
- Sicherheit
- Lastverteilung
- Asynchrone Cloud-Datenübertragung
- Speicherung von Elementen, Formular und Datenlebenszyklus
- Erstellen Sie ein Diagramm zur Übertragung von Systeminformationen
- Erstellen Sie analytische Modelle, AI / ML-Komponente
- Entwickeln Sie Arten und Inhalte von Benachrichtigungen
- Richten Sie Redundanz und automatische Skalierbarkeit von Diensten ein
- Kosten schätzen und optimieren
- UI / UX-Design für mobile Clients
- Erstellen Sie Feedback zu peripheren Daten
Ich hoffe, dieser Artikel wird nützlich sein, zumindest für die erste Einführung in IoT-Projekte. In Zukunft werde ich versuchen, spezifische Implementierungen von IoT-Lösungen zu geben.