Випуск платформи EdgeX 2.0 для Інтернету речей

Представлений випуск EdgeX 2.0, відкритої модульної платформи для забезпечення взаємодії між IoT-пристроями, додатками та сервісами. Платформа не прив'язана до обладнання конкретних постачальників та операційних систем і розвивається незалежною робочою групою, під егідою організації Linux Foundation. Компоненти платформи написані мовою Go та розповсюджуються під ліцензією Apache 2.0.

EdgeX дозволяє створювати шлюзи, що поєднують наявні IoT-пристрої та збирають дані від різних датчиків. Шлюз займається як організацією взаємодії з пристроями, так і виконує первинну обробку, агрегування та аналіз інформації, виступаючи проміжною ланкою між мережею з IoT-пристроїв та локальним керуючим центром або хмарною інфраструктурою управління. На шлюзах можуть виконуватися обробники, оформлені у вигляді мікросервісів. Взаємодія з IoT-пристроями може бути організована через дротову або бездротову мережу з використанням TCP/IP-мереж та специфічних (не-IP) протоколів.

Випуск платформи EdgeX 2.0 для Інтернету речей

Шлюзи різного призначення можуть об'єднуватися в ланцюжки, наприклад, шлюз першої ланки може вирішувати завдання з управління пристроями (system management) та забезпечення безпеки, а шлюз другої ланки (fog-сервер) зберігати дані, що надходять, виконувати аналітику і надавати сервіси. Система модульна, тому розподіл функціональності на окремі вузли виконується в залежності від навантаження: у простих випадках достатньо одного шлюзу, а для IoT-мереж може бути розгорнутий цілий кластер.

Випуск платформи EdgeX 2.0 для Інтернету речей

Основою EdgeX є відкритий IoT-стек Fuse, який застосовується в шлюзах для IoT-пристроїв Dell Edge Gateway. Платформа може бути встановлена ​​на будь-яке обладнання, включаючи сервери на базі CPU x86 та ARM, що працюють під керуванням Linux, Windows або MacOS. Проект включає добірку готових мікросервісів для аналізу даних, забезпечення безпеки, управління та вирішення різних завдань. Для розробки власних мікросервісів можна використовувати мови Java, Javascript, Python, Go і C/C++. Для розробки драйверів для IoT-пристроїв та датчиків пропонується SDK.

Основні зміни:

  • Реалізовано новий web-інтерфейс, створений із використанням фреймворку Angular JS. З переваг нового GUI називається простота супроводу та розширення функціональності, наявність майстра підключення нових пристроїв, засоби для візуалізації даних, значно покращений інтерфейс для управління метаданими, можливості моніторингу стану сервісів (споживання пам'яті, навантаження на CPU тощо).
    Випуск платформи EdgeX 2.0 для Інтернету речей
  • Повністю переписав API для роботи з мікросервісами, який тепер не залежить від комунікаційного протоколу, більш захищений, добре структурований (використовує JSON) і краще відстежує дані, що обробляються сервісом.
  • Підвищено ефективність та надано можливість створення легковажних конфігурацій. Компонент Core Data, що відповідає за збереження даних, тепер не є обов'язковим (наприклад, його можна виключити, коли потрібно лише обробити дані від датчиків без необхідності зберігати).
  • Підвищено надійність та розширено засоби для забезпечення якості надання сервісу (QoS). При передачі даних із сервісів пристроїв (Device Services, відповідають за збір даних із датчиків та пристроїв) до сервісів обробки та накопичення даних (Application Services), тепер можна використовувати шину повідомлень (Redis Pub/Sub, 0MQ або MQTT), не прив'язуючись до HTTP -протоколу REST та регулюючи пріоритети QoS на рівні message broker. У тому числі допускається пряма передача даних з Device Service до Application Service з опіціональним дублюванням на сервіс Core Data. Підтримка передачі даних за протоколом REST збережена, але не використовується за замовчуванням.
    Випуск платформи EdgeX 2.0 для Інтернету речей
  • Реалізовано універсальний модуль (secret provider) для отримання секретних даних (паролі, ключі тощо) із захищених сховищ, таких як Vault.
  • Для ведення реєстру сервісів та налаштувань, а також для керування доступом та автентифікацією задіяний інструментарій Consul. В API Gateway надано підтримку звернення до API Consul.
  • Мінімізовано кількість процесів та сервісів, яким необхідні права root у контейнерах Docker. Додано захист від використання Redis у небезпечному режимі.
  • Спрощено налаштування API Gateway (Kong).
  • Спрощені профілі пристроїв, в яких задаються параметри датчиків і пристроїв, а також відомості про дані, що збираються. Профілі можуть визначатися у форматах YAML та JSON.
    Випуск платформи EdgeX 2.0 для Інтернету речей
  • Додані нові сервіси пристроїв:
    • CoAP (написаний C) з реалізацією протоколу Constrained Application Protocol.
    • GPIO (написаний на Go) для підключення до мікроконтролерів та інших пристроїв, включаючи плати Raspberry Pi, через порти GPIO (General Pin Input/Output).
    • LLRP (написаний на Go) з реалізацією протоколу LLRP (Low Level Reader Protocol) для підключення до рідерів RFID-міток.
    • UART (написаний на Go) за допомогою UART (Universal Asynchronous Receiver/Transmitter).
  • Розширено можливості сервісів додатків (Application Services), які відповідають за підготовку та експорт даних для їх подальшої обробки у хмарних системах та додатках. Додано підтримку фільтрації даних із датчиків на ім'я профілю пристрою та типу ресурсу. Реалізовано можливість надсилання одним сервісом даних до кількох одержувачів та підписки на кілька шин повідомлень. Запропоновано шаблон для швидкого створення власних додаткових сервісів.
  • Номери портів для мікросервісів, що вибираються, приведені у відповідність до діапазонів, рекомендованих організацією IANA (Internet Assigned Numbers Authority) для приватного використання, що дозволить уникнути конфліктів з існуючими системами.

Джерело: opennet.ru

Додати коментар або відгук