Veröffentlichung der EdgeX 2.0-Plattform für das Internet der Dinge

Einführung der Veröffentlichung von EdgeX 2.0, einer offenen, modularen Plattform zur Ermöglichung der Interoperabilität zwischen IoT-Geräten, -Anwendungen und -Diensten. Die Plattform ist nicht an bestimmte Hardware- und Betriebssysteme bestimmter Anbieter gebunden und wird von einer unabhängigen Arbeitsgruppe unter der Schirmherrschaft der Linux Foundation entwickelt. Die Plattformkomponenten sind in Go geschrieben und werden unter der Apache 2.0-Lizenz vertrieben.

Mit EdgeX können Sie Gateways erstellen, die vorhandene IoT-Geräte verbinden und Daten von verschiedenen Sensoren sammeln. Das Gateway organisiert die Interaktion mit Geräten und führt die primäre Verarbeitung, Aggregation und Analyse von Informationen durch und fungiert als Zwischenverbindung zwischen einem Netzwerk von IoT-Geräten und einem lokalen Kontrollzentrum oder einer Cloud-Management-Infrastruktur. Gateways können auch als Microservices verpackte Handler ausführen. Die Interaktion mit IoT-Geräten kann über ein kabelgebundenes oder kabelloses Netzwerk mithilfe von TCP/IP-Netzwerken und spezifischen (Nicht-IP-)Protokollen organisiert werden.

Veröffentlichung der EdgeX 2.0-Plattform für das Internet der Dinge

Gateways für unterschiedliche Zwecke können zu Ketten zusammengefasst werden. Beispielsweise kann das Gateway des ersten Links Probleme der Geräteverwaltung (Systemverwaltung) und Sicherheit lösen, und das Gateway des zweiten Links (Fog-Server) kann eingehende Daten speichern und Analysen durchführen und Dienstleistungen erbringen. Das System ist modular aufgebaut, sodass die Funktionalität je nach Auslastung in einzelne Knoten aufgeteilt wird: In einfachen Fällen reicht ein Gateway aus, bei großen IoT-Netzwerken kann jedoch ein ganzer Cluster eingesetzt werden.

Veröffentlichung der EdgeX 2.0-Plattform für das Internet der Dinge

EdgeX basiert auf dem offenen Fuse IoT-Stack, der in Dell Edge Gateways für IoT-Geräte verwendet wird. Die Plattform kann auf jeder Hardware installiert werden, einschließlich Servern auf Basis von x86- und ARM-CPUs unter Linux, Windows oder macOS. Das Projekt umfasst eine Auswahl vorgefertigter Microservices zur Datenanalyse, Sicherheit, Verwaltung und Lösung verschiedener Probleme. Mit den Sprachen Java, Javascript, Python, Go und C/C++ können eigene Microservices entwickelt werden. Für die Entwicklung von Treibern für IoT-Geräte und -Sensoren wird ein SDK angeboten.

Wichtigste Änderungen:

  • Es wurde eine neue Weboberfläche implementiert, die mit dem Angular JS-Framework erstellt wurde. Zu den Vorteilen der neuen GUI gehören die einfache Wartung und Erweiterung der Funktionalität, das Vorhandensein eines Assistenten zum Anschließen neuer Geräte, Tools zur Datenvisualisierung, eine deutlich verbesserte Schnittstelle zur Verwaltung von Metadaten und die Möglichkeit, den Status von Diensten (Speicher) zu überwachen Verbrauch, CPU-Auslastung usw.).
    Veröffentlichung der EdgeX 2.0-Plattform für das Internet der Dinge
  • Die API wurde komplett neu geschrieben, um mit Microservices zu arbeiten. Sie ist nun unabhängig vom Kommunikationsprotokoll, sicherer, gut strukturiert (verwendet JSON) und verfolgt die vom Dienst verarbeiteten Daten besser.
  • Erhöhte Effizienz und die Möglichkeit, leichte Konfigurationen zu erstellen. Die Core Data-Komponente, die für das Speichern von Daten verantwortlich ist, ist jetzt optional (sie kann beispielsweise ausgeschlossen werden, wenn Sie nur Daten von Sensoren verarbeiten müssen, ohne dass eine Speicherung erforderlich ist).
  • Die Zuverlässigkeit wurde erhöht und die Tools zur Sicherstellung der Servicequalität (QoS) wurden erweitert. Bei der Übertragung von Daten von Gerätediensten (Device Services, zuständig für das Sammeln von Daten von Sensoren und Geräten) zu Datenverarbeitungs- und Akkumulationsdiensten (Application Services) können Sie nun den Nachrichtenbus (Redis Pub/Sub, 0MQ oder MQTT) ungebunden nutzen zu HTTP – dem REST-Protokoll und Anpassung der QoS-Prioritäten auf der Ebene des Nachrichtenbrokers. Einschließlich der direkten Übertragung von Daten vom Gerätedienst zum Anwendungsdienst mit optionaler Duplizierung zum Core Data-Dienst. Die Unterstützung der Datenübertragung über das REST-Protokoll bleibt erhalten, wird jedoch nicht standardmäßig verwendet.
    Veröffentlichung der EdgeX 2.0-Plattform für das Internet der Dinge
  • Zum Abrufen geheimer Daten (Passwörter, Schlüssel usw.) aus sicheren Speichern wie Vault wurde ein universelles Modul (Geheimanbieter) implementiert.
  • Consul-Tools werden zur Verwaltung einer Registrierung von Diensten und Einstellungen sowie zur Verwaltung des Zugriffs und der Authentifizierung verwendet. API Gateway bietet Unterstützung für den Aufruf der Consul-API.
  • Die Anzahl der Prozesse und Dienste, die Root-Rechte in Docker-Containern erfordern, wurde minimiert. Schutz gegen die Verwendung von Redis im unsicheren Modus hinzugefügt.
  • Vereinfachte Konfiguration von API Gateway (Kong).
  • Vereinfachte Geräteprofile, die Sensor- und Geräteparameter sowie Informationen zu den erfassten Daten definieren. Profile können in den Formaten YAML und JSON definiert werden.
    Veröffentlichung der EdgeX 2.0-Plattform für das Internet der Dinge
  • Neue Gerätedienste hinzugefügt:
    • CoAP (geschrieben in C) mit einer Implementierung des Constrained Application Protocol.
    • GPIO (in Go geschrieben) zum Anschluss an Mikrocontroller und andere Geräte, einschließlich Raspberry Pi-Boards, über GPIO-Ports (General Pin Input/Output).
    • LLRP (geschrieben in Go) mit Implementierung des LLRP-Protokolls (Low Level Reader Protocol) zur Verbindung mit RFID-Tag-Lesegeräten.
    • UART (geschrieben in Go) mit UART-Unterstützung (Universal Asynchronous Receiver/Transmitter).
  • Die Fähigkeiten der Application Services, die für die Aufbereitung und den Export von Daten für deren anschließende Verarbeitung in Cloud-Systemen und -Anwendungen zuständig sind, wurden erweitert. Unterstützung für das Filtern von Daten von Sensoren nach Geräteprofilname und Ressourcentyp hinzugefügt. Die Möglichkeit, Daten über einen Dienst an mehrere Empfänger zu senden und mehrere Nachrichtenbusse zu abonnieren, wurde implementiert. Für die schnelle Erstellung eigener Anwendungsdienste wird eine Vorlage vorgeschlagen.
  • Die ausgewählten Portnummern für Microservices orientieren sich an den von der Internet Assigned Numbers Authority (IANA) für den privaten Gebrauch empfohlenen Bereichen, wodurch Konflikte mit bestehenden Systemen vermieden werden.

Source: opennet.ru

Kommentar hinzufügen