Sapohet publikimi i EdgeX 2.0, një platformë modulare dhe të hapur për të siguruar ndërveprimin midis pajisjeve IoT, aplikacioneve dhe shërbimeve. Platforma nuk është e lidhur me pajisjet e prodhuesve të caktuar dhe sistemet operative, dhe zhvillohet nga një grup pune i pavarur, nën patronazhin e organizatës Linux Foundation. Komponentët e platformës janë të shkruar në gjuhën Go dhe shpërndahen nën licencën Apache 2.0.
EdgeX mundësojnë krijimin e gateway-ve që bashkojnë pajisjet ekzistuese IoT dhe mbledhin të dhëna nga sensorë të ndryshëm. Gateway merret si me organizimin e ndërveprimit me pajisjet, ashtu edhe me përpunimin fillestar, agregimin dhe analizën e informacionit, duke shërbyer si hallkë ndërmjetëse midis rrjetit të pajisjeve IoT dhe një qendre lokale kontrolli ose infrastrukturës cloud të menaxhimit. Në gateway mund të ekzekutohen gjithashtu përpunues të ndërtuar në formën e mikrosherbimeve. Ndërveprimi me pajisjet IoT mund të organizohet përmes rrjeteve me kabllo ose pa tela, duke përdorur rrjete TCP/IP dhe protokolle specifike (jo-IP).

Gateway-t me funksione të ndryshme mund të lidhen në zinxhirë; për shembull, gateway i nivelit të parë mund të zgjidhë detyra të menaxhimit të pajisjeve (system management) dhe të sigurisë, ndërsa gateway i nivelit të dytë (fog-server) mund të ruajë të dhënat hyrëse, të kryejë analitikë dhe të ofrojë shërbime. Sistemi është modular, prandaj ndarja e funksionalitetit në nyje të veçanta bëhet sipas ngarkesës: në raste të thjeshta mjafton një gateway i vetëm, ndërsa për rrjete të mëdha IoT mund të vendoset një klaster i tërë.

Si bazë, EdgeX përdor grumbullin e hapur të IoT-së Fuse, i cili përdoret në portat për pajisjet IoT Dell Edge Gateway. Platforma mund të instalohet në çdo pajisje, duke përfshirë serverët ato që funksionojnë me CPU x86 dhe ARM, nën menaxhimin e Linux, Windows ose macOS. Projekti përfshin një koleksion të mikro-shërbimeve për analizën e të dhënave, sigurinë, menaxhimin dhe zgjidhjen e problemeve të ndryshme. Për zhvillimin e mikro-shërbimeve të veta, mund të përdoren gjuhë si Java, Javascript, Python, Go dhe C/C++. Për zhvillimin e shoferëve për pajisjet IoT dhe sensorët ofrohet një SDK.
Ndryshimet kryesore:
- ĂshtĂ« implementuar njĂ« ndĂ«rfaqe e re web, krijuar duke pĂ«rdorur kornizĂ«n Angular JS. Nga avantazhet e kĂ«saj GUI tĂ« re pĂ«rmendet lehtĂ«sia nĂ« mbĂ«shtetje dhe zgjerimin e funksionaliteteve, disponimi i njĂ« asistenti pĂ«r lidhjen e pajisjeve tĂ« reja, mjete pĂ«r vizualizimin e tĂ« dhĂ«nave, njĂ« ndĂ«rfaqe ndjeshĂ«m e pĂ«rmirĂ«suar pĂ«r menaxhimin e metadatalĂ«ve, mundĂ«sitĂ« pĂ«r monitorimin e gjendjes sĂ« shĂ«rbimeve (pĂ«rdorimi i memories, ngarkesa e CPU-sĂ« etj.).

- API-ja për të punuar me mikro-shërbimet është shkruar nga e para, i cili tani nuk varet nga protokolli i komunikimit, është më i sigurt, më mirë i strukturuar (përdor JSON) dhe monitoron më mirë të dhënat e përpunuara nga shërbimi.
- ĂshtĂ« rritur efikasiteti dhe Ă«shtĂ« ofruar mundĂ«sia pĂ«r tĂ« krijuar konfigurime tĂ« lehta. Komponenti Core Data, i cili Ă«shtĂ« pĂ«rgjegjĂ«s pĂ«r ruajtjen e tĂ« dhĂ«nave, tani nuk Ă«shtĂ« i detyrueshĂ«m (p.sh., mund tĂ« pĂ«rjashtohet kur Ă«shtĂ« e nevojshme vetĂ«m tĂ« pĂ«rpunohen tĂ« dhĂ«nat nga sensorĂ«t pa nevojĂ«n pĂ«r t'i ruajtur).
- Shkalla e besueshmërisë është rritur dhe mjetet për sigurimin e cilësisë së shërbimit (QoS) janë zgjeruar. Gjatë transmetimit të të dhënave nga shërbimet e pajisjeve (Device Services, përgjegjës për mbledhjen e të dhënave nga sensorët dhe pajisjet) në shërbimet e përpunimit dhe ruajtjes së të dhënave (Application Services), tani mund të përdoret autobusi i mesazheve (Redis Pub/Sub, 0MQ ose MQTT), pa u lidhur me protokollin HTTP 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 e Aplikacioneve me një dublikim opsional në shërbimin Core Data. Mbështetje për transmetimin e të dhënave përmes protokollit REST është ruajtur, por nuk përdoret si parazgjedhje.

- ĂshtĂ« implementuar njĂ« modul universale (secret provider) pĂ«r nxjerrjen e tĂ« dhĂ«nave sekret (fjalĂ«kalime, çelĂ«sa etj.) nga depozita tĂ« mbrojtura, tĂ« tilla si Vault.
- Për mbajtjen e regjistrit të shërbimeve dhe konfigurimeve, si dhe për menaxhimin e aksesit dhe autentikimit është përdorur instrumenti Consul. Në API Gateway është ofruar mbështetje për thirrje në API-në e 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Ă« modin jo tĂ« sigurt.
- Konfigurimi i API Gateway (Kong) është thjeshtuar.
- Profilat e pajisjeve janë thjeshtuar, ku përcaktohen parametrat e sensorëve dhe pajisjeve, si dhe informacioni mbi të dhënat që mblidhen. Profilat mund të përcaktohen në formate YAML dhe JSON.

- Janë shtuar shërbime të reja pajisjesh:
- CoAP (i shkruar në C) me implementimin e protokollit të Kontraktuar të Aplikacionit.
- GPIO (i shkruar në Go) për lidhjen me mikro kontrolerë dhe pajisje të tjera, përfshirë bordet Raspberry Pi, përmes porteve GPIO (General Pin Input/Output).
- LLRP (i shkruar në Go) me implementimin e protokollit LLRP (Low Level Reader Protocol) për lidhjen me lexuesit e etiketimeve RFID.
- UART (i shkruar në Go) me mbështetje për UART (Universal Asynchronous Receiver/Transmitter).
- JanĂ« zgjeruar mundĂ«sitĂ« e shĂ«rbimeve tĂ« aplikacioneve (Application Services), qĂ« janĂ« pĂ«rgjegjĂ«se pĂ«r pĂ«rgatitjen dhe eksportimin e tĂ« dhĂ«nave pĂ«r pĂ«rpunim tĂ« mĂ«tejshĂ«m nĂ« sistemet dhe aplikacionet cloud. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r filtrimin e tĂ« dhĂ«nave nga sensorĂ«t sipas emrit tĂ« profilit tĂ« pajisjes dhe llojit tĂ« burimeve. ĂshtĂ« realizuar mundĂ«sia pĂ«r tĂ« dĂ«rguar tĂ« dhĂ«na nga njĂ« shĂ«rbim te disa marrĂ«s dhe pĂ«r t'u abonuar nĂ« disa autobusĂ« mesazhesh. ĂshtĂ« propozuar njĂ« shabllon pĂ«r krijimin e shĂ«rbimeve tĂ« aplikacioneve tĂ« veta.
- Numrat e zgjedhur të porteve për mikroshërbimet janë në përputhje me intervalet e rekomanduara nga organizata IANA (Autoriteti i Numrave të Caktuar të Internetit) për përdorim privat, çka do të ndihmojë në shmangien e konflikteve me sistemet ekzistuese.
Burimi: opennet.ru



