Megjelent az EdgeX 2.0, az IoT-eszközök, alkalmazások és szolgáltatások közötti interakciót biztosító nyílt, moduláris platform. A platform nem kötődik konkrét beszállítók hardveréhez vagy operációs rendszerekhez, és egy független munkacsoport fejleszti a Linux Alapítvány égisze alatt. A platform összetevői Go nyelven íródtak és Apache 2.0 licenc alatt érhetők el.
Az EdgeX lehetővé teszi olyan kapuk létrehozását, amelyek összekapcsolják a meglévő IoT-eszközöket és adatokat gyűjtenek különböző érzékelőktől. A kapu a készülékekkel való interakciót szervezi meg, valamint elsődleges feldolgozást, aggregálást és elemzést végez, közvetítő szerepet betöltve az IoT-eszközök hálózata és a helyi vezérlőközpont vagy felhőalapú irányító infrastruktúra között. A kapukon mikroszolgáltatás formájában dolgozó kezelők is futtathatók. Az IoT-eszközökkel való interakció vezetékes vagy vezeték nélküli hálózaton keresztül valósítható meg TCP/IP hálózatok és specifikus (nem IP) protokollok használatával.

Különböző célú kapuk láncolatokká kapcsolhatók össze, például az első szintű kapu a készülékek kezelésére (rendszergazdálkodás) és a biztonság biztosítására szolgálhat, míg a második szintű kapu (fogg szerver) az érkező adatokat tárolja, analitikát végez és szolgáltatásokat nyújt. A rendszer moduláris, így a funkciók különböző egységekre oszthatók a terhelés függvényében: egyszerűbb esetekben elegendő egy kapu, míg nagyobb IoT-hálózatok esetén egy egész klaszter is telepíthető.

Az EdgeX alapja a nyílt IoT-stack, a Fuse, amely az IoT-eszközökhez készült Dell Edge Gateway kapukban alkalmazható. A platform bármilyen hardveren telepíthető, beleértve szerverek x86 és ARM alapú CPU-kat, amelyek Linux, Windows vagy macOS alatt működnek. A projekt egy kész mikroszolgáltatásgyűjteményt tartalmaz az adatelemzés, biztonság, menedzsment és egyéb feladatok megoldására. Saját mikroszolgáltatások fejlesztésére a Java, Javascript, Python, Go és C/C++ nyelvek használhatók. IoT-eszközök és érzékelők meghajtóinak fejlesztésére SDK áll rendelkezésre.
Főbb változások:
- Bevezetésre került egy új webes felület, amelyet az Angular JS keretrendszer használatával fejlesztettek ki. Az új GUI előnyei közé tartozik a karbantartás és a funkcionalitás bővítésének egyszerűsége, az új eszközök csatlakoztatására szolgáló varázsló, az adatok szemléltetési eszközei, a jelentősen javított metadátumkezelés felülete, valamint a szolgáltatások állapotának figyelésére vonatkozó lehetőségek (memóriakihasználás, CPU terhelés stb.).

- Teljesen újraírtuk a mikroszolgáltatásokkal való munkához szánt API-t, amely már nem függ a kommunikációs protokolltól, biztonságosabb, jól strukturált (JSON-t használ) és jobban nyomon követi a feldolgozott adatok beáramlását a szolgáltatásokhoz.
- Növeltük a hatékonyságot és lehetőséget biztosítottunk könnyű konfigurációk létrehozására. A Core Data komponens, amely az adatok tárolásáért felelős, immár nem kötelező (például ki lehet hagyni, ha csak az érzékelők adatait kell feldolgozni az adatok tárolásának szükségessége nélkül).
- Növeltük a megbízhatóságot és bővítettük a szolgáltatásminőség (QoS) biztosításának eszközeit. Az adatok átvitele az eszközszolgáltatóktól (Device Services), amelyek az érzékelők és eszközök adatait gyűjtik, az adattároló és feldolgozó szolgáltatásokhoz (Application Services) most már üzenetsort (Redis Pub/Sub, 0MQ vagy MQTT) használhat, anélkül, hogy a HTTP REST protokollra lenne szükség, és a QoS prioritásokat a message broker szintjén lehet szabályozni. Emellett lehetővé válik az adatok közvetlen átvitele az Eszközszolgáltatóból az Alkalmazásszolgáltatásba, opcionálisan a Core Data szolgáltatásba történő másolással. A REST protokollon történő adattovábbítást megőriztük, de alapértelmezés szerint nem használjuk.

- Megvalósítottunk egy univerzális modult (titkos adatkezelő), amely titkos adatok (jelszavak, kulcsok stb.) kinyerésére szolgáló megoldásokat kínál védett tárolókból, mint például a Vault.
- A szolgáltatások és beállítások nyilvántartásának vezetésére, valamint a hozzáférés és hitelesítés kezelésére a Consul eszközkészletét használtuk. Az API Gateway támogatást nyújt a Consul API-hoz való hozzáféréshez.
- Minimalizáltuk azon folyamatok és szolgáltatások számát, amelyeknek root jogosultságokra van szükségük a Docker konténereken belül. Védelem került bevezetésre a Redis nem biztonságos üzemmódban való használata ellen.
- Egyszerűsítettük az API Gateway (Kong) beállítását.
- Egyszerűsítettük az eszközprofilokat, amelyeken belül az érzékelők és eszközök paraméterei, valamint a gyűjtött adatokkal kapcsolatos információk megadhatók. A profilokat YAML és JSON formátumokban lehet definiálni.

- Új eszközszolgáltatások kerültek bevezetésre:
- CoAP (C nyelven írva) a Korlátozott Alkalmazási Protokoll (Constrained Application Protocol) megvalósításával.
- GPIO (Go nyelven írva) a mikrokontrollerek és más eszközök, például Raspberry Pi lapkák csatlakoztatására, a GPIO (General Pin Input/Output) portokon keresztül.
- LLRP (Go nyelven írva) a LLRP (Low Level Reader Protocol) protokoll megvalósításával RFID címkéző olvasók csatlakoztatására.
- UART (Go nyelven írva) UART (Universal Asynchronous Receiver/Transmitter) támogatással.
- Bővítették az alkalmazásosztályok (Application Services) funkcióit, amelyek felelősek az adatok előkészítéséért és exportálásáért a felhőalapú rendszerek és alkalmazások feldolgozásához. Hozzáadták az adatfilterezés támogatását eszközprofil név és erőforrástípus alapján. Lehetővé vált, hogy egy szolgáltatás több címzettnek küldjön adatokat és több üzenetsínen való előfizetést. Javasolták a saját alkalmazásosztályok gyors létrehozására szolgáló sablont.
- A mikroszolgáltatások számára kiválasztott portszámok az IANA (Internet Assigned Numbers Authority) által magánhasználatra ajánlott tartományokhoz igazodtak, így elkerülhetők a meglévő rendszerekkel való ütközések.
Forrás: opennet.ru



