Bol predstavený EdgeX 2.0, otvorená modulárna platforma na zabezpečenie interakcie medzi IoT zariadeniami, aplikáciami a službami. Platforma nie je viazaná na hardvér konkrétnych dodávateľov a operačné systémy a vyvíja sa nezávislou pracovnou skupinou pod záštitou organizácie Linux Foundation. Komponenty platformy sú napísané v jazyku Go a sú distribuované pod licenciou Apache 2.0.
EdgeX umožňuje vytváranie brán, ktoré spájajú existujúce IoT zariadenia a zhromažďujú dáta z rôznych senzorov. Brána sa zaoberá organizovaním interakcie s zariadeniami, ako aj vykonáva primárne spracovanie, agregáciu a analýzu informácií, pričom vystupuje ako medzistupeň medzi sieťou IoT zariadení a lokálnym riadiacim centrom alebo cloudovou infrastrukturom riadenia. Na bránach môžu byť tiež vykonávané spracovatele, usporiadané ako mikroservisy. Interakcia s IoT zariadeniami môže byť organizovaná prostredníctvom drôtovej alebo bezdrôtovej siete s použitím TCP/IP sietí a špecifických (ne-IP) protokolov.

Brány rôzneho určenia môžu byť spájané do reťazcov, napríklad brána prvého stupňa môže riešiť úlohy správy zariadení (system management) a zabezpečenia, zatiaľ čo brána druhého stupňa (fog-server) uchováva prichádzajúce dáta, vykonáva analytiku a poskytuje služby. Systém je modulárny, takže rozdelenie funkčnosti na osobitné uzly sa vykonáva v závislosti od zaťaženia: v jednoduchých prípadoch stačí jedna brána, zatiaľ čo pre veľké IoT siete môže byť nasadený celý klaster.

Základom EdgeX je otvorený IoT stack Fuse, ktorý sa aplikuje v bránach pre IoT zariadenia Dell Edge Gateway. Platforma môže byť nainštalovaná na akomkoľvek hardvéri, vrátane servery na báze CPU x86 a ARM, pracujúcich pod kontrolou Linuxu, Windows alebo macOS. Projekt zahŕňa výber hotových mikroservisov na analýzu dát, zabezpečenie, správu a riešenie rôznych úloh. Na vývoj vlastných mikroservisov môžu byť použité jazyky Java, Javascript, Python, Go a C/C++. Na vývoj ovládačov pre IoT zariadenia a senzory sa ponúka SDK.
Hlavné zmeny:
- Bol vykonaný nový webový rozhranie, vytvorené pomocou frameworku Angular JS. Medzi výhody nového GUI patrí jednoduchá údržba a rozširovanie funkčnosti, prítomnosť sprievodcu pripojením nových zariadení, nástroje na vizualizáciu údajov, výrazne vylepšené rozhranie na správu metadát a možnosti monitorovania stavu služieb (využitie pamäte, zaťažovanie CPU atď.).

- API pre prácu s mikroslužbami bolo úplne preprogramované, teraz už nezávisí od komunikačného protokolu, je bezpečnejšie, dobre štruktúrované (používa JSON) a lepšie sleduje spracovávané údaje služby.
- Zvýšená efektivita a možnosť vytvárania ľahkých konfigurácií. Komponent Core Data, zodpovedný za ukladanie údajov, teraz nie je povinný (napríklad ho možno vylúčiť, keď je potrebné iba spracovať údaje zo senzorov bez potreby ich ukladania).
- Zvýšená spoľahlivosť a rozšírené prostriedky na zabezpečenie kvality poskytovania služby (QoS). Pri prenose údajov zo služieb zariadení (Device Services, ktoré sú zodpovedné za zbieranie údajov zo senzorov a zariadení) do služieb spracovania a ukladania údajov (Application Services) je teraz možné použiť správu správ (Redis Pub/Sub, 0MQ alebo MQTT), bez viazania na protokol HTTP REST a regulovaním priorít QoS na úrovni message broker. Je povolený aj priamy prenos údajov z Device Service do Application Service s voliteľným duplikovaním v službe Core Data. Podpora prenosu údajov cez protokol REST zostáva, ale nie je používaná ako predvolené.

- Bol implementovaný univerzálny modul (secret provider) na extrakciu tajných údajov (heslá, kľúče atď.) z chránených úložísk, ako je Vault.
- Pre vedenie registru služieb a nastavení, ako aj pre správu prístupu a autentifikácie bol nasadený nástroj Consul. V API Gateway je poskytovaná podpora pre prístup k API Consul.
- Minimálne znížený počet procesov a služieb, ktoré potrebujú práva root v kontajneroch Docker. Pridaná ochrana pred používaním Redis v nezabezpečenom režime.
- Zjednodušené nastavenie API Gateway (Kong).
- Zjednodušené profily zariadení, v ktorých sú nastavené parametre senzorov a zariadení, ako aj údaje o zhromaždených údajoch. Profily môžu byť definované vo formátoch YAML a JSON.

- Pridané nové služby zariadení:
- CoAP (napísaný v C) s implementáciou protokolu Constrained Application Protocol.
- GPIO (napísaný v Go) na pripojenie k mikroprocesorom a iným zariadeniam, vrátane dosiek Raspberry Pi, cez porty GPIO (General Pin Input/Output).
- LLRP (napísaný v Go) s realizáciou protokolu LLRP (Low Level Reader Protocol) na pripojenie k RFID čítačkám.
- UART (napísaný v Go) s podporou UART (Universal Asynchronous Receiver/Transmitter).
- Rozšírili sa možnosti aplikačných služieb (Application Services), zodpovedajúcich za prípravu a export dát na ich následné spracovanie v cloudových systémoch a aplikáciách. Pridala sa podpora filtrovania dát zo senzorov podľa názvu profilu zariadenia a typu zdroja. Implementovala sa možnosť zasielať jedným servisom dáta viacerým príjemcom a prihlásiť sa na viacero zberníc správ. Navrhnutá šablóna na rýchle vytvorenie vlastných aplikačných služieb.
- Vyberané čísla portov pre mikroslužby sú zosúladené s rozsahmi odporúčanými organizáciou IANA (Internet Assigned Numbers Authority) na súkromné používanie, čo zabráni konfliktom s existujúcimi systémami.
Zdroj: opennet.ru



