Byla představena verze EdgeX 2.0, otevřené modulární platformy pro zajištění interoperability mezi IoT zařízeními, aplikacemi a službami. Platforma není vázána na hardware od konkrétních dodavatelů a operační systémy a je vyvíjena nezávislou pracovní skupinou pod záštitou Linux Foundation. Složky platformy jsou napsány v jazyce Go a šíří se pod licencí Apache 2.0.
EdgeX umožňuje vytvářet brány, které spojují dostupná IoT zařízení a shromažďují data z různých senzorů. Brána se stará o zajištění interoperability s zařízeními a provádí předběžné zpracování, agregaci a analýzu informací, působí jako mezistupeň mezi sítí IoT zařízení a místním řídicím centrem nebo cloudovou infrastrukturou správy. Na bránách mohou také běžet zpracovatelé zformovaní jako mikroslužby. Interoperabilita s IoT zařízeními může být organizována jak přes drátovou, tak bezdrátovou síť za použití TCP/IP sítí a specifických (ne-IP) protokolů.

Brány různých účelů mohou být spojovány do řetězců, například brána prvního stupně může řešit úkoly správy zařízení (system management) a zajištění bezpečnosti, zatímco brána druhého stupně (fog-server) uchovává příchozí data, provádí analýzu a poskytuje služby. Systém je modulární, takže dělení funkčnosti na jednotlivé uzly se provádí v závislosti na zatížení: v jednoduchých případech stačí jedna brána, zatímco pro rozsáhlé IoT sítě může být nasazen celý klastr.

Základem EdgeX je otevřený IoT stack Fuse, který se používá v bránách pro IoT zařízení Dell Edge Gateway. Platforma může být nainstalována na jakémkoli hardwaru, včetně servery na bázi CPU x86 a ARM, fungujících pod operačními systémy Linux, Windows nebo macOS. Projekt zahrnuje sbírku hotových mikroslužeb pro analýzu dat, zajištění bezpečnosti, správu a řešení různých úloh. Pro vývoj vlastních mikroslužeb mohou být použity jazyky Java, Javascript, Python, Go a C/C++. Pro vývoj ovladačů pro IoT zařízení a senzory je k dispozici SDK.
Hlavní změny:
- Byl realizován nový webový rozhraní, vytvořené pomocí frameworku Angular JS. Mezi výhody nového GUI patří jednoduchost údržby a rozšiřování funkcionality, přítomnost asistenta pro připojení nových zařízení, nástroje pro vizualizaci dat, výrazně vylepšené rozhraní pro správu metadat a možnosti monitorování stavu služeb (spotřeba paměti, zatížení CPU atd.).

- Kompletně přepracováno API pro práci s mikroslužbami, které nyní nezávisí na komunikačním protokolu, je více zabezpečené, dobře strukturované (používá JSON) a lépe sleduje zpracovávaná data službou.
- Byla zvýšena efektivita a poskytnuta možnost vytváření lehkých konfigurací. Komponenta Core Data, odpovídající za ukládání dat, nyní není povinná (například ji lze vyloučit, když je potřeba pouze zpracovat data ze senzorů bez potřeby ukládání).
- Byla zvýšena spolehlivost a rozšířena opatření pro zajištění kvality poskytování služby (QoS). Při přenosu dat ze zařízení (Device Services, odpovídající za sběr dat ze senzorů a zařízení) do aplikačních služeb (Application Services) je nyní možné používat zprávovou sběrnici (Redis Pub/Sub, 0MQ nebo MQTT) bez vazby na HTTP protokol REST a regulovat priority QoS na úrovni message broker. Také je povoleno přímé předávání dat z Device Service do Application Service s volitelným duplikováním v komponentě Core Data. Podpora přenosu dat přes REST protokol byla zachována, ale není používána jako výchozí.

- Byl realizován univerzální modul (secret provider) pro extrakci tajných dat (hesla, klíče atd.) z chráněných úložišť, jako je Vault.
- Pro vedení rejstříku služeb a nastavení, stejně jako pro správu přístupu a autentizaci, byl použit nástroj Consul. API Gateway nyní podporuje volání API Consul.
- Byl minimalizován počet procesů a služeb, které potřebují práva root v kontejnerech Docker. Byla přidána ochrana proti použití Redis v nezabezpečeném režimu.
- Byla zjednodušena konfigurace API Gateway (Kong).
- Byly zjednodušeny profily zařízení, ve kterých jsou specifikovány parametry senzorů a zařízení, jakož i informace o sbíraných datech. Profily mohou být definovány ve formátech YAML a JSON.

- Byly přidány nové služby zařízení:
- CoAP (napsáno v C) s implementací protokolu Constrained Application Protocol.
- GPIO (napsáno v Go) pro připojení k mikrokontrolérům a dalším zařízení, včetně desek Raspberry Pi, přes GPIO (General Pin Input/Output) porty.
- LLRP (napsáno v Go) s implementací protokolu LLRP (Low Level Reader Protocol) pro připojení k RFID čtečkám.
- UART (napsáno v Go) s podporou UART (Universal Asynchronous Receiver/Transmitter).
- Rozšířeny možnosti aplikačních služeb, které se starají o přípravu a export dat pro jejich následné zpracování v cloudových systémech a aplikacích. Byla přidána podpora filtrování dat ze senzorů podle názvu profilu zařízení a typu zdroje. Je realizována možnost odesílat jedním servisem data několika příjemcům a přihlásit se k odběru několika sběrnic zpráv. Navržen šablona pro rychlé vytvoření vlastních aplikačních služeb.
- Vybrané čísla portů pro mikroslužby byly přizpůsobeny rozsahům doporučovaným organizací IANA (Internet Assigned Numbers Authority) pro soukromé použití, což pomůže předejít konfliktům se stávajícími systémy.
Zdroj: opennet.ru



