Выпуск платформы для інтэрнэта рэчаў 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

Дадаць каментар