Wydanie platformy IoT EdgeX 2.0

Wprowadzono wydanie EdgeX 2.0, otwartej, modułowej platformy umożliwiającej interoperacyjność pomiędzy urządzeniami, aplikacjami i usługami IoT. Platforma nie jest powiązana ze sprzętem i systemami operacyjnymi konkretnego dostawcy i jest rozwijana przez niezależną grupę roboczą pod auspicjami Linux Foundation. Komponenty platformy są napisane w Go i dystrybuowane na licencji Apache 2.0.

EdgeX umożliwia tworzenie bramek łączących istniejące urządzenia IoT i zbierających dane z różnych czujników. Bramka organizuje interakcję z urządzeniami oraz wykonuje podstawowe przetwarzanie, agregację i analizę informacji, pełniąc rolę pośredniego łącza pomiędzy siecią urządzeń IoT a lokalnym centrum kontroli lub infrastrukturą zarządzania chmurą. Bramy mogą również uruchamiać programy obsługi spakowane jako mikrousługi. Interakcję z urządzeniami IoT można zorganizować za pośrednictwem sieci przewodowej lub bezprzewodowej, korzystając z sieci TCP/IP i określonych protokołów (innych niż IP).

Wydanie platformy IoT EdgeX 2.0

Bramy o różnym przeznaczeniu można łączyć w łańcuchy, np. bramka pierwszego łącza może rozwiązywać problemy związane z zarządzaniem urządzeniami (zarządzanie systemem) i bezpieczeństwem, a bramka drugiego łącza (serwer mgły) może przechowywać przychodzące dane, przeprowadzać analizy i świadczyć usługi. System jest modułowy, więc funkcjonalność jest podzielona na poszczególne węzły w zależności od obciążenia: w prostych przypadkach wystarczy jedna bramka, ale w przypadku dużych sieci IoT można wdrożyć cały klaster.

Wydanie platformy IoT EdgeX 2.0

EdgeX opiera się na otwartym stosie Fuse IoT, który jest używany w Dell Edge Gateways dla urządzeń IoT. Platformę można zainstalować na dowolnym sprzęcie, w tym na serwerach opartych na procesorach x86 i ARM z systemem Linux, Windows lub macOS. Projekt obejmuje wybór gotowych mikroserwisów do analizy danych, bezpieczeństwa, zarządzania i rozwiązywania różnorodnych problemów. Do tworzenia własnych mikroserwisów można wykorzystać języki Java, Javascript, Python, Go i C/C++. Oferowany jest pakiet SDK do opracowywania sterowników dla urządzeń i czujników IoT.

Główne zmiany:

  • Zaimplementowano nowy interfejs webowy, stworzony w oparciu o framework Angular JS. Do zalet nowego GUI można zaliczyć łatwość konserwacji i rozszerzania funkcjonalności, obecność kreatora podłączania nowych urządzeń, narzędzi do wizualizacji danych, znacznie ulepszony interfejs do zarządzania metadanymi oraz możliwość monitorowania stanu usług (pamięć zużycie energii, obciążenie procesora itp.).
    Wydanie platformy IoT EdgeX 2.0
  • Całkowicie przepisano API do współpracy z mikroserwisami, które jest teraz niezależne od protokołu komunikacyjnego, bezpieczniejsze, lepiej zorganizowane (wykorzystuje JSON) i lepiej śledzi dane przetwarzane przez usługę.
  • Zwiększona wydajność i możliwość tworzenia lekkich konfiguracji. Komponent Core Data, który odpowiada za zapisywanie danych, jest teraz opcjonalny (można go np. wyłączyć, gdy potrzebne jest jedynie przetwarzanie danych z czujników bez konieczności ich zapisywania).
  • Zwiększono niezawodność i rozszerzono narzędzia zapewniające jakość usług (QoS). Przesyłając dane z usług urządzeń (Device Services, odpowiedzialnych za zbieranie danych z czujników i urządzeń) do usług przetwarzania i gromadzenia danych (Application Services), możesz teraz korzystać z magistrali komunikatów (Redis Pub/Sub, 0MQ lub MQTT) bez wiązania na HTTP - protokół REST i dostosowanie priorytetów QoS na poziomie brokera komunikatów. Obejmuje bezpośrednie przesyłanie danych z Usługi Urządzenia do Usługi Aplikacji z opcjonalną duplikacją do usługi Core Data. Obsługa przesyłania danych poprzez protokół REST została zachowana, ale nie jest domyślnie używana.
    Wydanie platformy IoT EdgeX 2.0
  • Zaimplementowano uniwersalny moduł (tajny dostawca) do odzyskiwania tajnych danych (hasła, klucze itp.) z bezpiecznych magazynów, takich jak Vault.
  • Narzędzia Consul służą do prowadzenia rejestru usług i ustawień, a także do zarządzania dostępem i uwierzytelnianiem. API Gateway zapewnia obsługę wywoływania interfejsu API Consul.
  • Zminimalizowano liczbę procesów i usług wymagających uprawnień roota w kontenerach Docker. Dodano ochronę przed używaniem Redis w trybie niebezpiecznym.
  • Uproszczona konfiguracja API Gateway (Kong).
  • Uproszczone profile urządzeń, które definiują parametry czujnika i urządzenia oraz informacje o zebranych danych. Profile można definiować w formatach YAML i JSON.
    Wydanie platformy IoT EdgeX 2.0
  • Dodano nowe usługi urządzenia:
    • CoAP (napisany w C) z implementacją protokołu Constrained Application Protocol.
    • GPIO (napisane w Go) do podłączenia do mikrokontrolerów i innych urządzeń, w tym płyt Raspberry Pi, poprzez porty GPIO (General Pin Wejście/Wyjście).
    • LLRP (napisany w Go) z implementacją protokołu LLRP (Low Level Reader Protocol) do łączenia się z czytnikami tagów RFID.
    • UART (napisany w Go) z obsługą UART (uniwersalny asynchroniczny odbiornik/nadajnik).
  • Rozszerzono możliwości Usług Aplikacyjnych, które odpowiadają za przygotowanie i eksport danych w celu ich późniejszego przetwarzania w systemach i aplikacjach chmurowych. Dodano obsługę filtrowania danych z czujników według nazwy profilu urządzenia i typu zasobu. Zaimplementowano możliwość wysyłania danych do kilku odbiorców w ramach jednej usługi oraz subskrybowania kilku szyn komunikatów. Zaproponowano szablon do szybkiego tworzenia własnych usług aplikacyjnych.
  • Wybrane numery portów dla mikrousług są zgodne z zakresami zalecanymi przez Internet Assigned Numbers Authority (IANA) do użytku prywatnego, co pozwoli uniknąć konfliktów z istniejącymi systemami.

Źródło: opennet.ru

Dodaj komentarz