Lansohet versioni 2.0 i EdgeX, një platformë modulare dhe të hapur për të siguruar ndërveprimin mes pajisjeve IoT, aplikacioneve dhe shërbimeve. Platforma është e pajisur me pajisje të caktuara dhe sisteme operative, dhe zhvillohet nga një grup pune i pavarur, nën mbikëqyrjen e organizatës Linux Foundation. Komponentët e platformës janë shkruar në gjuhën Go dhe shpërndahen nën licencën Apache 2.0.
EdgeX lejon krijimin e gateway-ve që bashkojnë pajisjet IoT ekzistuese dhe mbledhin të dhëna nga sensorë të ndryshëm. Gateway-i merret me organizimin e ndërveprimit me pajisjet, si dhe kryen përpunim të parë, agregim dhe analizë të informacionit, duke vepruar si një lidhje ndërmjet një rrjeti të pajisjeve IoT dhe një qendre kontrolli lokale ose një infrastrukture cloud për menaxhim. Në gateway-t gjithashtu mund të ekzekutohen procesorë të paraqitur si mikrosherbime. Ndërveprimi me pajisjet IoT mund të organizohet përmes një rrjeti me tela ose pa tela duke përdorur rrjetet TCP/IP dhe protokollet specifike (jo-IP).

Gateway-t e ndryshme mund të bashkohen në zinxhirë; për shembull, gateway-i i nivelit të parë mund të zgjidhë detyra për menaxhimin e pajisjeve (menaxhimi i sistemit) dhe sigurimin e sigurisë, ndërsa gateway-i i nivelit të dytë (server fog) ruan të dhënat që vijnë, kryen analizë dhe ofron shërbime. Sistemi është modular, kështu që ndarja e funksionalitetit në node të veçanta bëhet sipas ngarkesës: në raste të thjeshta mjafton një gateway, ndërsa për rrjete të mëdha IoT mund të vendoset një klasë e tërë.

EdgeX është ndërtuar mbi stakun e hapur IoT Fuse, i cili përdoret në gateway të pajisjeve IoT Dell Edge Gateway. Platforma mund të instalohet në çdo pajisje, duke përfshirë hostingut bazuar në CPU x86 dhe ARM, që punojnë nën sisteme operative Linux, Windows ose macOS. Projekti përfshin një koleksion mikrosherbimesh të gatshme për analizën e të dhënave, sigurimin, menaxhimin dhe zgjidhjen e detyrave të ndryshme. Për zhvillimin e mikrosherbimeve të veta mund të përdoren gjuhët Java, Javascript, Python, Go dhe C/C++. Për zhvillimin e drejtuesve për pajisjet IoT dhe sensorët ofrohet një SDK.
Ndryshimet kryesore:
- ĂshtĂ« realizuar njĂ« ndĂ«rfaqe e re web, e krijuar duke pĂ«rdorur kornizĂ«n Angular JS. Nga avantazhet e GUI tĂ« ri pĂ«rmendet lehtĂ«sia e mbĂ«shtetjes dhe zgjerimit tĂ« funksionalitetit, prania e njĂ« asistenti pĂ«r lidhjen e pajisjeve tĂ« reja, mjete pĂ«r vizualizimin e tĂ« dhĂ«nave, njĂ« ndĂ«rfaqe e pĂ«rmirĂ«suar pĂ«r menaxhimin e metadatanve dhe mundĂ«sitĂ« pĂ«r monitorimin e gjendjes sĂ« shĂ«rbimeve (konsumimi i memories, ngarkesa e CPU etj.).

- API për mikrosherbimet është rishkruar krejtësisht, dhe tani nuk varet nga protokolli i komunikimit, është më i sigurt, më i strukturuar mirë (përdor JSON) dhe ndjek më mirë të dhënat e përpunuara nga shërbimi.
- Janë rritur efikasiteti dhe janë ofruar mundësi për krijimin e konfigurimeve të lehta. Komponenti Core Data, i cili është përgjegjës për ruajtjen e të dhënave, tani nuk është obligativ (për shembull, mund të përjashtohet kur është e nevojshme të përpunohen të dhënat nga sensorët pa nevojën për të ruajtur).
- Janë rritur besueshmëria dhe janë zgjeruar mjetet për sigurimin e cilësisë së shërbimit (QoS). Kur transmetohen të dhëna nga shërbimet e pajisjeve (Shërbimet e Pajisjeve, të cilat janë përgjegjëse për mbledhjen e të dhënave nga sensorët dhe pajisjet) në shërbimet e përpunimit dhe grumbullimit të të dhënave (Shërbimet Aplikuese), tani mund të përdoret një brez mesazhesh (Redis Pub/Sub, 0MQ ose MQTT), duke mos u lidhur me protokollin HTTP të REST dhe duke rregulluar prioritetet QoS në nivelin e mesazhit broker. Gjithashtu, lejohet transmetimi i drejtpërdrejtë i të dhënave nga Shërbimi i Pajisjeve në Shërbimin Aplikues me kopje opsionale në shërbimin Core Data. Mbështetja për transmetimin e të dhënave përmes protokollit REST është ruajtur, por nuk përdoret nga e gjithë.

- ĂshtĂ« realizuar njĂ« modul universalis (ofruesi i sekretit) pĂ«r nxjerrjen e tĂ« dhĂ«nave sekrete (fjalĂ«kalime, çelĂ«sa etj.) nga depo tĂ« sigurt, siç Ă«shtĂ« Vault.
- Për regjistrimin e shërbimeve dhe konfigurimeve, si dhe për menaxhimin e aksesit dhe autentikimin, është përdorur mjetet Consul. Në API Gateway është ofruar mbështetje për thirrjen e API-së së Consul.
- Numri i proceseve dhe shĂ«rbimeve qĂ« kĂ«rkojnĂ« tĂ« drejta root nĂ« kontejnerĂ«t Docker Ă«shtĂ« minimizuar. ĂshtĂ« shtuar mbrojtja nga pĂ«rdorimi i Redis nĂ« modalitetin e pasigurt.
- Konfigurimi i API Gateway (Kong) është thjeshtuar.
- Profili i pajisjeve është thjeshtuar, ku përcaktohen parametrat e sensorëve dhe pajisjeve, si dhe informacioni për të dhënat e mbledhura. Profili mund të përcaktohet në formatet YAML dhe JSON.

- Shërbime të reja pajisjesh janë shtuar:
- CoAP (i shkruar në C) me implementimin e protokollit Constrained Application Protocol.
- GPIO (e shkruar në Go) për lidhjen me mikrokontrolerët dhe pajisje të tjera, përfshirë plakat Raspberry Pi, përmes porteve GPIO (Ingress/Egress të Pinave të Përgjithshëm).
- LLRP (e shkruar në Go) me realizimin e protokolit LLRP (Protokolli i Nivelit të Ulët të Lexuesit) për lidhjen me lexuesit e etiketave RFID.
- UART (e shkruar në Go) me mbështetje për UART (Pr_receiver/Transmitues të Asinkron).
- JanĂ« zgjeruar mundĂ«sitĂ« e shĂ«rbimeve tĂ« aplikacioneve (ShĂ«rbimet e Aplikacioneve), tĂ« cilat janĂ« pĂ«rgjegjĂ«se pĂ«r pĂ«rgatitjen dhe eksportimin e tĂ« dhĂ«nave pĂ«r pĂ«rpunimin e mĂ«tejshĂ«m nĂ« sistemet dhe aplikacionet nĂ« cloud. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r filtrimin e tĂ« dhĂ«nave nga sensorĂ«t sipas emrit tĂ« profilit tĂ« pajisjes dhe llojit tĂ« burimit. ĂshtĂ« realizuar mundĂ«sia e dĂ«rgimit tĂ« tĂ« dhĂ«nave nga njĂ« shĂ«rbim te disa marrĂ«s dhe regjistrimi nĂ« disa autobusĂ« mesazhesh. ĂshtĂ« propozuar njĂ« template pĂ«r krijimin e shpejtĂ« tĂ« shĂ«rbimeve tĂ« aplikacioneve tĂ« veta.
- Numrat e zgjedhur të porteve për mikroshërbimet janë përputhur me diapazonet rekomanduara nga organizata IANA (Autoriteti i Numrave të Caktuar të Internetit) për përdorim privat, çka do të shmangë konfliktet me sistemet ekzistuese.
Burimi: opennet.ru



