Documente Academic
Documente Profesional
Documente Cultură
SPECIALIZAREA: CALCULATOARE
LUCRARE DE LICENȚĂ
SUCEAVA
2023
Cuprins
1. Introducere.................................................................................................................................5
1.1 Contextul lucrării.................................................................................................................5
1.2 Motivația alegerii temei.......................................................................................................6
1.3 Stadiul actual al lucrării......................................................................................................7
1.4 Obiectivele lucrării.............................................................................................................10
1.5 Structura lucrării...............................................................................................................11
2. Sistemul IoT..............................................................................................................................12
2.1 Definirea Internetului lucrurilor......................................................................................12
2.2 Fundamentele IoT..............................................................................................................13
2.2.1 Conectivitatea în IoT...................................................................................................13
2.2.2 Modulele WiFi.............................................................................................................14
2.3 Comunicarea în IoT...........................................................................................................18
2.3.1 HTTP............................................................................................................................19
2.3.2 CoAP.............................................................................................................................21
2.3.3 WebSocket....................................................................................................................22
2.3.4 MQTT...........................................................................................................................23
2.4 Aplicații IoT........................................................................................................................24
2.5 Impactul și avantajele IoT.................................................................................................26
3. Protocolul MQTT....................................................................................................................27
3.1 Istoria și evoluția protocolului MQTT.............................................................................27
3.2 Caracteristicile și funcționalitățile protocolului MQTT.................................................29
3.3 Funcționarea protocolului MQTT....................................................................................30
3.3.1 Conectarea la un broker MQTT................................................................................31
3.3.3 Publicarea mesajelor...................................................................................................33
3.4 Avantajele și dezavantajele utilizării protocolului MQTT............................................34
4. Integrarea protocolului MQTT într-un sistem IoT..............................................................35
4.1 Descrierea generală și definirea obiectivelor sistemului IoT.........................................35
4.2 Implementarea și configurarea protocolului MQTT într-un sistem IoT......................37
4.2.1 Configurarea brokerului MQTT...............................................................................37
4.2.3 Firmware-urile Tasmota și Open Beken...................................................................42
2
4.3 Utilizarea protocolului MQTT în sistemul IoT...............................................................43
4.3.1 Conexiunea aplicației Web cu device-urilor smart prin protocolul MQTT..........43
4.3.2 Interacțiunea utilizatorului cu aplicația Web...........................................................45
5. Securitatea protocolului MQTT într-un sistem IoT.............................................................49
5.1 Riscuri și vulnerabilități de securitate într-un sistem IoT.............................................49
5.2 Soluții de securitate pentru protocolul MQTT................................................................50
5.3 Testarea și evaluarea securității protocolului MQTT într-un sistem IoT....................51
6. Concluzii și direcții viitoare....................................................................................................52
6.1 Sumarul rezultatelor și concluziilor.................................................................................52
6.2 Implicațiile și contribuțiile lucrării..................................................................................53
6.3 Direcții pentru cercetări viitoare......................................................................................54
Bibliografie...................................................................................................................................55
3
Tabel de figuri
4
1. Introducere
5
astfel de sisteme. Aceasta oferă o perspectivă importantă asupra modului în care protocolul
MQTT poate fi utilizat în sistemele IoT și contribuie la dezvoltarea de soluții inovatoare și sigure
pentru sistemele IoT.
Lucrarea este structurată pentru a oferi o abordare coerentă și bine organizată a
subiectului. Al doilea capitol, exact după introducere, prezintă conceptul și arhitectura IoT,
precum și impactul acestuia în lumea de astăzi, după care, în capitolul 3 vom examina protocolul
MQTT și arhitectura acestuia. Capitolul 4 descrie implementarea protocolului MQTT în
sistemele IoT și oferă exemple de aplicații specifice. În capitolul următor vom analiza
problemele legate de securitatea datelor în sistemele IoT și vom propune soluții de protecție. În
final, prezentăm concluzia și direcția viitoare a cercetării și dezvoltării soluțiilor IoT bazate pe
protocolul MQTT.
În ultimul timp, IoT a devenit un concept extrem de important în domeniul tehnologiei și
este utilizat în diverse domenii precum medicină, agricultură și automobile. Un sistem IoT este o
colecție de dispozitive interconectate care colectează și transmit date către alte dispozitive sau
servere centrale. Aceste dispozitive pot comunica între ele și pot gestiona schimburile de date în
mod autonom, fără a fi nevoie de intervenția umană.
Securitatea datelor este o preocupare majoră în sistemele IoT, astfel încât protocolul
MQTT oferă o soluție pentru protejarea informațiilor. Aceste soluții includ autentificare, criptare
și autorizare, făcându-le ideale pentru implementarea în astfel de sisteme.
Acest document își propune să ofere o analiză detaliată a protocolului MQTT și a
implementării acestuia în sistemele IoT. În plus, ar trebui să identifice și să propună soluții
pentru securizarea datelor în sistemele IoT și să efectueze o evaluare a performanței protocolului
MQTT în comparație cu alte protocoale utilizate în sistemele IoT.
6
Un alt motiv important pentru a alege implementarea propriului sistem IoT în locul
utilizării aplicației Tuya este legat de performanțele aplicației. Tuya este o aplicație care
folosește tehnologia cloud, ceea ce poate duce la o latență mare în comunicare, în special atunci
când conexiunea la internet nu este foarte bună. În plus, există posibilitatea ca datele să fie
pierdute sau să apară probleme de securitate, având în vedere că acestea sunt stocate pe serverele
cloud ale companiei Tuya. Prin contrast, protocolul MQTT oferă o soluție de comunicare de
mare viteză și fiabilitate între dispozitivele IoT, fără a fi necesară stocarea datelor pe cloud.
Așadar, prin utilizarea protocolului MQTT se poate îmbunătăți semnificativ performanța și
securitatea sistemului IoT.
De asemenea, alegerea protocolului MQTT a fost provocată de popularitatea, eficiența,
securitatea care o deține, având o importanță majoră în implementarea și dezvoltarea sistemelor
IoT. Acest protocol este unul des întâlnit și preferat de către dezvoltatorii sistemelor IoT,
deoarece este unul eficient energetic, rapid, și stă relativ bine pe partea de securitate.
Această lucrare se va concentra pe studiul protocolului MQTT și pe modul în care poate
fi implementat într-un sistem IoT pentru a oferi utilizatorilor controlul asupra dispozitivelor
conectate și pentru a proteja datele acestora. De asemenea, lucrarea va explora aspectele legate
de securitatea protocolului MQTT și modul în care acestea pot fi abordate într-un sistem IoT.
7
1. Necesitatea cunoașterii limbajului JavaScript pentru dezvoltarea extensivă.
2. Nivelul de complexitate a interfeței poate fi descurajant pentru unii utilizatori.
3. Nu este o platformă foarte scalabilă, ceea ce înseamnă că poate fi limitată în ceea ce
privește capacitatea de a gestiona un număr mare de dispozitive sau fluxuri de date.
În concluzie, Node-RED este o platformă puternică și flexibilă pentru crearea de
aplicații IoT, dar poate avea limite în ceea ce privește scalabilitatea și suportul de
dezvoltare.
Home Assistant este o altă soluție open-source pentru managementul dispozitivelor IoT,
care se bazează pe un model de integrare a dispozitivelor prin intermediul unui server central.
Home Assistant este o platformă pentru automatizarea locuințelor inteligente. Este creată în
limbajul de programare Python și permite controlul a diverse dispozitive conectate în rețea, cum
ar fi sistemele de iluminare, termostate, camere de supraveghere, senzori de temperatură și
umiditate și multe altele.
Avantaje:
1. Open-source.
2. Home Assistant este foarte flexibil și poate fi instalat pe diverse dispozitive hardware,
precum Raspberry Pi, NUC-uri, calculatoare personale, servere dedicate și altele.
3. Are o comunitate puternică și activă, care adaugă în mod constant noi integrări și
componente pentru diverse dispozitive.
Dezavantaje:
1. Inițial, învățarea cum să configurezi și să folosești Home Assistant poate fi dificilă
pentru utilizatorii care nu au experiență în programare.
2. Unele dispozitive pot avea probleme de compatibilitate cu Home Assistant, ceea ce
poate duce la dificultăți în utilizarea lor.
3. Consum ridicat de resurse pentru rularea pe un Raspberry Pi, ceea ce poate duce la o
experiență lentă.
8
Domoticz este o platformă open source pentru automatizarea casei inteligente, care poate
fi instalată pe diferite dispozitive, inclusiv pe calculatoare, Raspberry Pi și alte sisteme similare ,
și se concentrează pe integrarea dispozitivelor prin intermediul unui server central.
Platforma are o interfață web simplă și intuitivă care permite utilizatorilor să controleze și
să monitorizeze dispozitivele din casa lor inteligentă.
Printre caracteristicile principale ale Domoticz se numără suportul pentru o gamă largă de
dispozitive inteligente, cum ar fi camerele IP, senzorii de mișcare, senzorii de temperatură,
prizele inteligente, termostatele și multe altele. De asemenea, platforma are un set puternic de
funcții de automatizare care permit utilizatorilor să creeze scenarii personalizate și să le execute
în funcție de diferite condiții.
Avantaje:
1. Open source, ceea ce înseamnă că utilizatorii pot personaliza și extinde
funcționalitatea platformei prin crearea de plugin-uri și script-uri personalizate.
2. Interfață simplă și ușor de utilizat.
3. Suport pentru o varietate largă de dispozitive inteligente și protocoale.
Dezavantaje:
1. Experiență minimă în programare pentru unele funcții și poate necesita un anumit
nivel de configurare.
2. Comunitate mai mică decât alte platforme similare, ceea ce poate duce la un număr
limitat de plugin-uri și suport pentru probleme.
3. Actualizări mai rare și mai puțin extinse decât alte platforme similare.
4. În comparație cu alte platforme, cum ar fi Home Assistant, interfața utilizatorului
poate fi considerată mai puțin sofisticată și mai greu de utilizat.
Toate aceste alternative la aplicația Tuya oferă avantajele unei soluții open-source, cum
ar fi gratuitatea, posibilitatea de personalizare și integrarea cu o gamă largă de dispozitive și
servicii. Utilizarea alternativelor aplicației Tuya cum ar fi Node-RED, Home Assistant sau
Domoticz pentru implementarea sistemelor IoT poate fi o opțiune viabilă și interesantă pentru
persoanele care au cunoștințe de programare. Aceste platforme sunt puternice și flexibile,
permițând utilizatorilor să configureze și să personalizeze sistemele lor IoT pentru a se potrivi
nevoilor lor specifice.
Cu toate acestea, un dezavantaj major al utilizării acestor platforme este necesitatea
cunoștințelor de programare pentru a putea utiliza și personaliza sistemul. Acest lucru poate fi o
barieră pentru mulți oameni care doresc să își construiască propriul sistem IoT.
9
În acest context, dezvoltarea unei aplicații pentru sistemul IoT care să fie ușor de utilizat
și care să nu necesite cunoștințe de programare ar putea reprezenta o soluție atrăgătoare și
accesibilă pentru o gamă mai largă de utilizatori. Această aplicație ar putea ajuta la popularizarea
și extinderea utilizării sistemelor IoT în viața de zi cu zi.
10
V. Analizarea aspectelor legate de securitatea datelor în sistemele IoT și
propunerea de soluții pentru protejarea informațiilor.
Pentru acest obiectiv, se va examina modul în care datele sunt protejate în
sistemele IoT și vor fi identificate amenințările la adresa securității datelor. Se vor
explora soluțiile existente pentru protejarea datelor în sistemele IoT și se vor propune noi
soluții pentru a asigura securitatea și confidențialitatea informațiilor.
VI. Prezentarea concluziilor și a direcțiilor viitoare pentru cercetare și dezvoltare de
soluții IoT bazate pe protocolul MQTT.
Obiectivul final al lucrării este de a prezenta concluziile obținute din cercetarea
efectuată și de a sugera direcțiile viitoare pentru cercetarea și dezvoltarea de soluții IoT
bazate pe protocolul MQTT. Se vor evidenția avantajele și dezavantajele protocolului
MQTT și se vor propune noi direcții de cercetare pentru a îmbunătăți performanța și
securitatea sistemelor IoT.
11
2. Sistemul IoT
12
Există și conceptul de (IIoT -Industrial IoT), ce aduce o pondere semnificativă în lumea
industrializată de astăzi, cu capacitatea de a controla de la distanță resursele întreprinderii și de a
le gestiona în mod automatizat. Sistemele IoT pot furniza informații privind disponibilitatea
echipamentelor, starea tehnică a acestora, utilizarea, defecțiunile tehnologice, eșecurile
tehnologice, programele de întreținere etc. Internetul industrial al lucrurilor oferă informații în
timp real despre toate echipamentele dintr-o întreprindere, calculează rata de utilizare a acestora
în câteva secunde.
Internetul industrial al lucrurilor permite să se obțină rapid informații în timp real despre
toate echipamentele dintr-o întreprindere, să se calculeze rata de utilizare a acestora în câteva
secunde și, cu ajutorul analizei predictive și al rețelelor neuronale, să se prevadă programul de
întreținere preventivă și de încărcare.
Aplicarea IoT în industrie creează noi Internetul obiectelor creează noi oportunități
pentru dezvoltarea producției și rezolvă o serie de sarcini importante: creșterea productivității
echipamentelor; reducerea costurilor cu materialele și energia; îmbunătățirea calității,
optimizarea și îmbunătățirea condițiilor de lucru pentru angajații companiei; creșterea
profitabilității producției și a competitivității pe piața globală.
13
Bluetooth
Este o tehnologie wireless cu consum redus de energie, utilizată în special pentru
conectarea dispozitivelor de proximitate, cum ar fi smartphone-uri, tablete, ceasuri
inteligente și dispozitive periferice. Bluetooth este ideal pentru scenarii IoT care implică
interacțiunea între dispozitive apropiate. [11]
Zigbee
Este un protocol de comunicare wireless specializat în IoT, care permite interconectarea
dispozitivelor de la distanțe mai mari și cu consum redus de energie. Zigbee este frecvent
utilizat în aplicații de automatizare a clădirilor, fiind un standard deschis și interoperabil.
ZigBee este bazat pe un gateway, similar cu un mini server la care sunt conectate toate
dispozitivele inteligente, unde ele pot comunica între ele, chiar și în lipsa conexiunii la
internet, un lucru foarte important ce aduce o stabilitate și o securitate ridicată. [11]
Z-Wave
Similar cu Zigbee, Z-Wave este un protocol de comunicare wireless optimizat pentru IoT.
Este frecvent utilizat în aplicații de automatizare a caselor inteligente, în special pentru
dispozitivele care necesită o conexiune sigură și fiabilă. [11]
4G/5G
Acestea sunt tehnologii de conectivitate celulară de mare viteză, utilizate pe scară largă în
rețelele de telecomunicații. Ele pot fi utilizate pentru conectarea dispozitivelor IoT care
necesită o transmitere rapidă și eficientă a datelor, precum vehiculele conectate sau aplicațiile
industriale avansate. [11]
LoRaWAN
Este o tehnologie de conectivitate de lungă durată, cu consum redus de energie, utilizată
în rețelele IoT de tip Low-Power Wide-Area Network (LPWAN). LoRaWAN permite
transmiterea datelor pe distanțe lungi, fiind ideal pentru aplicații IoT care necesită o acoperire
extinsă, cum ar fi monitorizarea mediului și agricultura. [11]
Ethernet
Este o tehnologie de conectivitate cu fir, care utilizează cabluri pentru a permite
transmiterea datelor între dispozitive. Ethernet este frecvent utilizat în aplicații IoT
industriale, unde stabilitatea și lățimea de bandă mare sunt esențiale. [11]
14
Există două familii de cipuri WiFi populare utilizate în dezvoltarea sistemelor IoT:
Familia de cipuri ESP (ESP8266, ESP8285, ESP32)
Familia de cipuri Beken (Beken 7231N și Beken 7231T)
Aceste familii de cipuri oferă o gamă variată de opțiuni pentru conectivitatea WiFi în
dispozitivele inteligente și sunt compatibile cu diferite firmware-uri, inclusiv Tasmota și Open
Beken.
Familia ESP
Familia de cipuri WiFi ESP, care include cipurile ESP8266, ESP8285, ESP32 și altele, este
dezvoltată de către compania Espressif Systems. Aceste cipuri sunt cunoscute pentru
performanța lor ridicată, flexibilitatea și prețul accesibil. cipurile ESP sunt capabile să ofere
conectivitate WiFi și să funcționeze ca microcontrolere, oferind astfel o soluție completă pentru
dezvoltarea sistemelor IoT. Vom studia un cip WiFi anume, cel mai popular fiind ESP8266.
ESP8266
ESP8266 este un cip microcontroler cu conectivitate WiFi integrată, care a devenit
extrem de popular în domeniul Internet of Things (IoT) datorită performanței ridicate,
dimensiunilor compacte și costului redus.
ESP8266 dispune de un procesor puternic de tipul RISC cu frecvență de 80 MHz, o
cantitate generoasă de memorie flash pentru stocarea programelor și a datelor, precum și un set
de pini GPIO (General Purpose Input/Output) pentru a conecta și controla diverse periferice. [11]
Există mai multe exemple de module bazate pe ESP8266 disponibile pe piață, fiecare
oferind caracteristici și specificații diferite. Iată câteva exemple populare de module ESP8266:
NodeMCU
ESP-01
Wemos D1 Mini
ESP-12F, ESP-12E, ESP-12S
Module Wifi bazate pe cipul ESP8266 fabricate de către compania Tuya [4]:
TYWE1S
TYWE2S
TYWE3S
TYWE5P
15
TYWE2L
Un exemplu de modul WiFi larg utilizat în dezvoltarea dispozitivelor IoT este ESP-12F.
ESP-12F este un modul WiFi bazat pe cipul ESP8266, care oferă o soluție integrată pentru
conectarea dispozitivelor la rețelele WiFi. Acest modul oferă suport pentru standardele WiFi
802.11 b/g/n și include funcționalități precum criptarea WEP/WPA/WPA2, modurile de operare
staționar și punct de acces, precum și un set bogat de comenzi și API-uri pentru programare.
ESP8266 este un cip WiFi puternic și versatil, folosit în mod frecvent în dezvoltarea
dispozitivelor IoT. Acest cip este bazat pe microcontroler-ul ESP8266, care integrează
funcționalități de conectivitate WiFi, un procesor puternic și un set extins de pini de
intrare/ieșire.
Unul dintre aspectele remarcabile ale cipului ESP8266 este faptul că este compatibil cu
diverse firmware-uri, cum ar fi Tasmota. Tasmota este un firmware open-source dezvoltat
special pentru dispozitivele IoT bazate pe modulele ESP. Acest firmware oferă o interfață de
control avansată și permite personalizarea funcționalităților dispozitivelor IoT. Utilizatorii pot
folosi Tasmota pentru a crea propriul sistem IoT și pentru a controla dispozitivele conectate prin
intermediul unei interfețe web sau prin alte protocoale de comunicație.
Cipul ESP8266 cu firmware-ul Tasmota reprezintă o soluție puternică și flexibilă pentru
dezvoltarea dispozitivelor IoT. Prin utilizarea acestui modul, dezvoltatorii pot beneficia de
conectivitate WiFi, control avansat, integrare cu platforme IoT și posibilitatea de configurare și
personalizare a dispozitivelor în funcție de nevoile specifice ale aplicației. Despre firmware-ul
Tasmota și despre analogul său, Open Beken, vom discuta detaliat în capitolul 4, unde se va face
o analiză amănunțită despre nevoia utilizării lor într-un astfel de sistem IoT.
Familia Beken
Familia de cipuri Beken este o altă opțiune populară pentru conectivitatea WiFi în
dispozitivele IoT. Aceste cipuri sunt dezvoltate de către Beken Corporation și oferă performanță
16
și eficiență într-un pachet compact. Cipurile Beken sunt compatibile cu firmware-ul Open
Beken, care este un firmware open-source special conceput pentru aceste cipuri. Open Beken, la
fel ca Tasmota, oferă dezvoltatorilor un mediu de dezvoltare deschis și flexibil pentru crearea
aplicațiilor IoT utilizând modulele Beken. În continuare, vom studia cipul Beken 7231N, cel mai
popular cip Beken, integrat într-un modul WiFi, cum ar fi CB3S, produs de Tuya.
Beken 7231N
Acest cip oferă o soluție de conectivitate WiFi cu consum redus de energie, fiind potrivit
pentru dispozitivele IoT care necesită o autonomie mai mare a bateriei. Beken 7231N oferă
suport pentru standardele WiFi 802.11 b/g/n și include funcționalități precum moduri de
economisire a energiei, criptare WEP/WPA/WPA2 și interfață de control simplă.
Iată câteva exemple populare de module, bazate pe cipul Beken 7231N, produse de Tuya [4]:
CB2S
CB3S
WB3S
BM03B
Modulul CB3S este un exemplu de modul WiFi bazat pe cipul Beken 7231N, care se remarcă
prin compatibilitatea sa cu platforma Open Beken. Acesta este bazat pe cipul Beken 7231N și
integrat cu platforma Open Beken oferă o soluție flexibilă și accesibilă pentru dezvoltarea
aplicațiilor IoT.
17
Modulele WiFi, cum ar fi ESP-12F și CB3S, bazate pe cipurile ESP8266 și respectiv
Beken 7231N sunt apreciate în dezvoltarea dispozitivelor IoT datorită capacităților lor de
conectivitate wireless și a setului de funcționalități încorporate. Aceste module oferă posibilități
extinse de programare și configurare, permițând dezvoltatorilor să implementeze diverse aplicații
IoT cu ușurință. Ele facilitează integrarea dispozitivelor în rețelele existente și le permit să
comunice cu alte dispozitive sau să acceseze servicii și platforme cloud.
Utilizarea cipurilor ESP8266 și Beken 7231N în dezvoltarea sistemelor IoT oferă mai
multe avantaje, printre care:
Conectivitate WiFi: Ambele module oferă conectivitate WiFi integrată, permițând
dispozitivelor IoT să se conecteze la rețele fără fir și să comunice cu alte dispozitive și
servicii prin intermediul internetului. Aceasta deschide oportunități pentru controlul și
monitorizarea dispozitivelor de la distanță și integrarea lor într-o rețea mai mare.
Dimensiuni compacte: Modulele ESP8266 și Beken 7231N sunt proiectate pentru a fi
compacte și ușor de integrat în diverse aplicații IoT. Aceasta le face potrivite pentru
proiectarea de dispozitive mici și de dimensiuni reduse, precum senzori, întrerupătoare
inteligente, sisteme de monitorizare etc.
Putere de procesare și memorie: Ambele module oferă putere de procesare și capacitate
de stocare suficiente pentru a rula aplicații IoT complexe. Aceasta permite implementarea
funcționalităților avansate, cum ar fi prelucrarea datelor locale, algoritmi de decizie,
interacțiunea cu utilizatorul și multe altele.
Suport pentru firmware-uri open-source: ESP8266 și Beken 7231N sunt cipuri
populare în comunitatea dezvoltatorilor IoT, ceea ce a dus la dezvoltarea unei game largi
de firmware-uri open-source compatibile cu acestea. Firmware-urile precum Tasmota și
Open Beken oferă o funcționalitate extinsă și flexibilitate pentru dezvoltarea aplicațiilor
IoT, facilitând programarea, configurarea și integrarea dispozitivelor în ecosistemul IoT.
Costuri accesibile: Modulele ESP8266 și Beken 7231N sunt cunoscute pentru costurile
lor accesibile. Aceasta face ca dezvoltarea de soluții IoT să fie mai accesibilă și mai
viabilă pentru o gamă mai largă de utilizatori și proiecte.
Utilizarea modulelor WiFi, bazate pe cipurile din familia ESP și cele din familia Beken,
în dispozitivele IoT aduce avantaje semnificative, cum ar fi conectivitatea fără fir,
interoperabilitatea cu infrastructura WiFi existentă, capacitatea de a comunica și de a transfera
date în mod eficient. Cu toate acestea, este important să se țină cont și de aspectele de securitate,
configurare corectă și gestionare a rețelei WiFi pentru a asigura o conexiune sigură și stabilă
între dispozitivele IoT și infrastructura de rețea. Modulele ESP8266 și Beken 7231N aduc o serie
de avantaje semnificative în dezvoltarea sistemelor IoT, cum ar fi: dimensiuni compacte, putere
de procesare și memorie, suport pentru firmware-uri open-source și costuri accesibile. Aceste
module oferă o platformă solidă pentru crearea aplicațiilor IoT personalizate și extinderea
funcționalităților dispozitivelor conectate la rețea.
18
2.3 Comunicarea în IoT
Protocoalele de comunicare sunt elementele fundamentale care permit dispozitivelor IoT
să transmită și să primească date într-un mod eficient și sigur. Acestea joacă un rol crucial în
asigurarea interoperabilității și conectivității în cadrul rețelelor IoT.
În acest subcapitol, ne vom concentra pe câteva protocoale de comunicare esențiale
folosite în domeniul IoT. Vom explora caracteristicile, funcționalitățile și avantajele fiecărui
protocol, precum și domeniile în care sunt utilizate cel mai frecvent. Discuția noastră se va
concentra pe următoarele protocoale populare:
HTTP (Hypertext Transfer Protocol): Vom analiza HTTP, un protocol de comunicare
comun în mediul web și tot mai utilizat în aplicațiile IoT. Vom discuta despre modul în
care HTTP este adaptat și utilizat în contextul IoT, precum și avantajele și dezavantajele
sale în ceea ce privește eficiența și securitatea comunicațiilor IoT. [10]
CoAP (Constrained Application Protocol): Vom examina CoAP, un protocol de aplicație
conceput pentru dispozitive cu resurse limitate, cum ar fi senzori și actuatori. Vom
aborda caracteristicile sale de eficiență energetică și scalabilitate, precum și capacitatea
de a comunica folosind modelul solicitare/răspuns similar HTTP. [10]
WebSocket: Un protocol care permite comunicarea bidirecțională în timp real între
dispozitivele IoT și servere. Vom discuta despre modul în care WebSocket depășește
limitările protocoalelor tradiționale bazate pe HTTP și oferă o conexiune persistentă și
eficientă pentru aplicațiile IoT. [10]
MQTT (Message Queuing Telemetry Transport): Vom explora MQTT, un protocol de
transport de mesaje conceput inițial pentru aplicațiile de tip telemetrie și monitorizare în
timp real. Vom discuta despre arhitectura bazată pe publicare/abonare și modul în care
MQTT asigură transmiterea eficientă și fiabilă a mesajelor între dispozitivele IoT și
platformele de gestionare a datelor. [10]
În continuare, vom descrie în detaliu câteva din protocoalele utilizate des în industria IoT,
fiecare cu avantajele și dezavantajele sale, făcând o comparație și motivând alegerea celui mai
bun și eficient protocol.
2.3.1 HTTP
HTTP (Hypertext Transfer Protocol) este un protocol de comunicare larg utilizat în
Internet și a devenit din ce în ce mai relevant în domeniul Internetului lucrurilor (IoT). Acest
protocol, conceput inițial pentru transmiterea de pagini web și conținut hipertextual, este acum
adaptat și utilizat pentru comunicația între dispozitivele IoT și platformele lor de gestionare a
datelor.
19
20
2.3.2 CoAP
CoAP (Constrained Application Protocol) este un protocol de comunicare proiectat
special pentru dispozitivele IoT cu resurse limitate, cum ar fi senzorii alimentați de baterii sau
dispozitivele cu putere redusă. CoAP este conceput să ofere o alternativă eficientă și scalabilă la
protocoalele de comunicație tradiționale, cum ar fi HTTP, adaptându-se la restricțiile de
memorie, procesor și lățime de bandă.
Unul dintre principalele avantaje ale utilizării CoAP în IoT este eficiența energetică.
Protocolul CoAP este optimizat pentru a minimiza consumul de energie al dispozitivelor IoT. El
utilizează un model simplu de cerere-răspuns, în care dispozitivul client trimite o cerere CoAP
către un server și primește un răspuns în schimb. Acest model reduce cantitatea de date necesare
pentru comunicare și permite dispozitivelor să intre rapid în modul de repaus, economisind astfel
energie valoroasă.
Un alt avantaj important al utilizării CoAP în IoT este scalabilitatea. Protocolul CoAP
este conceput pentru a se adapta la mediile cu resurse limitate și la rețelele cu conectivitate
instabilă. El poate funcționa pe dispozitive cu memorie redusă și oferă mecanisme eficiente de
gestionare a resurselor și de recuperare a erorilor în rețelele cu pierdere de pachete sau latente
mari.
CoAP este, de asemenea, caracterizat de o arhitectură bazată pe resurse, ceea ce înseamnă
că dispozitivele IoT expun resurse specifice (cum ar fi senzori sau acțiuni) ca resurse web pe care
alte dispozitive le pot accesa prin intermediul cererilor CoAP. Acest model simplu și consistent
facilitează integrarea și interoperabilitatea dispozitivelor IoT.
Cu toate acestea protocolul CoAP vine cu câteva dezavantaje, cum ar fi faptul că CoAP
este un protocol specializat care nu este larg răspândit în comparație cu HTTP, ceea ce poate
duce la dificultăți în interoperabilitatea între diverse dispozitive și platforme. Este posibil să fie
necesare eforturi suplimentare pentru a asigura compatibilitatea între dispozitivele care utilizează
CoAP și cele care utilizează alte protocoale.
De asemenea CoAP nu oferă în mod nativ mecanisme puternice de securitate, cum ar fi
criptarea și autentificarea. Aceste funcționalități pot fi adăugate prin intermediul extensiilor de
21
securitate CoAP, cum ar fi DTLS (Datagram Transport Layer Security), dar implementarea lor
corectă și securizarea comunicării poate fi o provocare și necesită expertiză suplimentară.
Pe lânga acestea, CoAP are o limită de dimensiune a pachetelor mai mică decât HTTP,
ceea ce poate restricționa transferul de date mai mari sau complexe între dispozitivele IoT. Acest
lucru poate necesita segmentarea datelor și gestionarea mai atentă a fragmentelor de date în
aplicații care necesită transferul de date extins.
În concluzie, CoAP este un protocol de comunicație optimizat pentru dispozitivele IoT cu
resurse limitate. Prin eficiența energetică, scalabilitatea și arhitectura bazată pe resurse, CoAP
devine o opțiune atractivă pentru aplicațiile IoT care necesită comunicare eficientă în mediile cu
resurse restrânse. Utilizarea protocolului CoAP poate contribui la optimizarea consumului de
energie și la îmbunătățirea performanței dispozitivelor IoT în rețelele de comunicație. În ciuda
dezavantajelor, protocolul CoAP rămâne o opțiune atractivă pentru aplicațiile IoT care necesită
comunicare eficientă în mediile cu resurse limitate. Cu o planificare adecvată și o implementare
corespunzătoare, aceste dezavantaje pot fi gestionate și pot fi obținute beneficii semnificative în
ceea ce privește eficiența energetică și performanța comunicațiilor în domeniul IoT.
2.3.3 WebSocket
WebSocket este un protocol de comunicare bidirecțională și full-duplex utilizat în
aplicațiile IoT. Oferă o serie de avantaje semnificative în comparație cu alte protocoale de
comunicare. WebSocket permite o comunicare bidirecțională între dispozitivele IoT și serverele
lor, facilitând schimbul rapid și eficient de informații. Protocolul reduce traficul de date și
latenta, deoarece conexiunea persistentă elimină nevoia de a trimite cereri HTTP repetitive
pentru a obține date actualizate.
22
cererilor HTTP și se realizează o transmitere continuă și fluidă a datelor. Acest lucru contribuie
la o comunicare rapidă și fără întreruperi între dispozitivele IoT și servere.
Un alt avantaj important al WebSocket este consumul redus de energie. Conexiunea
persistentă permite dispozitivelor IoT să rămână într-o stare de așteptare sau de repaus între
schimburile de date, economisind astfel energie și prelungind durata de viață a bateriei
dispozitivelor.
WebSocket oferă, de asemenea, flexibilitate și scalabilitate în implementarea aplicațiilor
IoT. Este independent de platformă și poate fi utilizat pe o varietate de dispozitive și servere.
Acest aspect permite dezvoltatorilor să creeze aplicații IoT adaptate nevoilor specifice și să
gestioneze o gamă largă de dispozitive și servere conectate.
Cu toate acestea, utilizarea WebSocket în IoT vine și cu anumite dezavantaje.
Implementarea protocolului WebSocket poate fi complexă, necesitând cunoștințe avansate de
programare și o înțelegere profundă a conceptelor asociate. Configurarea corectă a conexiunilor
WebSocket poate necesita timp și expertiză tehnică.
De asemenea, utilizarea WebSocket implică cerințe suplimentare de resurse, cum ar fi
lățimea de bandă și capacitatea de procesare. O implementare extinsă cu un număr mare de
dispozitive IoT poate necesita o infrastructură server puternică și dimensionată corect pentru a
gestiona volumul mare de conexiuni WebSocket.
În plus, nu toate dispozitivele IoT pot suporta direct protocolul WebSocket, în special
cele mai vechi sau cele cu resurse limitate. Astfel, adaptarea sau actualizarea acestor dispozitive
pentru a permite comunicarea prin WebSocket poate fi necesară.
În concluzie, utilizarea protocolului WebSocket în aplicațiile IoT aduce numeroase
avantaje, cum ar fi comunicarea bidirecțională, eficiența în traficul de date, consumul redus de
energie și scalabilitatea.
2.3.4 MQTT
MQTT (Message Queuing Telemetry Transport) este un protocol de comunicare ușor și
eficient, utilizat în special în aplicațiile IoT. Acesta este proiectat pentru a facilita transmiterea
mesajelor între dispozitivele IoT și serverele lor, cu un consum redus de energie și o lățime de
bandă optimizată.
Protocolul MQTT utilizează un model publish-subscribe, în care dispozitivele IoT pot
publica mesaje pe anumite topic-uri, iar alte dispozitive pot abona pentru a primi aceste mesaje
pe aceleași topic-uri. Astfel, permite comunicarea asincronă și distribuită între dispozitive, fără a
fi necesară o conexiune persistentă.
23
Unul dintre avantajele majore ale MQTT este eficiența în transmiterea datelor. Protocolul
utilizează un format compact pentru mesaje, ceea ce reduce consumul de lățime de bandă și
resursele necesare. Acest lucru este deosebit de util în cazul dispozitivelor IoT cu resurse
limitate, cum ar fi senzori sau dispozitive cu baterii.
24
sensibilă la problema pieselor neaprobate ale aeronavelor, cunoscute în mod obișnuit sub
numele de piese suspecte neaprobate (Suspected Unapproved Parts - SUP).
Industria automobilelor: O mulțime de modernizări pot fi observate în industria auto.
deoarece, în general, toate mijloacele de transport sunt echipate cu senzori, actuatoare etc.
Senzorii și actuatoarele instalate sunt cunoscute pentru puterea de procesare crescută.
Lucrurile inteligente sunt utilizate pentru a construi și implementa aplicații în automobile.
Aplicațiile pot monitoriza și raporta diverși parametri ai automobilelor, cum ar fi
proximitatea altor vehicule, presiunea din pneuri etc. Tehnologia RFID este utilizată
pentru a raționalizarea producției de autovehicule, îmbunătățirea logisticii, creșterea
calității serviciilor de controlul calității și îmbunătățirea serviciilor pentru clienți. Datele
în timp real din procesul de fabricație și în operațiunile de întreținere sunt furnizate de
tehnologia RFID.
Industria telecomunicațiilor: Alianța dintre tehnologii diferite poate fi posibilă cu
ajutorul IoT. Aceasta va funcționa ca bază pentru crearea de noi servicii. Un scenariu
ilustrativ pentru alianța de mai sus este utilizarea reciprocă a tehnologiilor GSM,
Bluetooth, Near Field Communication (NFC), Wireless Local Area Network (WLAN),
Global Positioning System (GPS), a rețelelor cu mai multe salturi și a rețelelor de senzori
cu ajutorul tehnologiei SIM (Subscriber Identity Module).
Automatizarea casei: În zilele noastre, oamenii se bazează mai mult pe tehnologie
pentru a aborda preocupările legate de stilul de viață pe care îl duc și de securitatea
locuințelor lor. Progresele în tehnologia senzorilor, a actuatorilor și a rețelelor de senzori
fără fir sunt principalii piloni care stau la baza popularității conversiei locuințelor în case
inteligente. În casele inteligente, sunt furnizate servicii inteligente și automatizate pentru
utilizatorului prin implementarea de senzori în diferite locații. Senzorii inteligenți nu
automatizează doar sarcinile de zi cu zi ale unei persoane, dar ajută și la conservarea
energiei prin oprirea gadgeturilor electronice, cum ar fi ventilatoarele, luminile etc. atunci
când nu sunt în uz. Conservarea energiei în casele inteligente este posibilă prin utilizarea
de senzori și prin conceptul de conștientizare a contextului. Diferite date precum
(temperatura, lumina, lumina, umiditatea, evenimentul de incendiu, gazul etc.) sunt
colectate de senzorii eterogeni și transmise agregatorului de context.
Agricultura și creșterea animalelor: O tehnologie precum IoT poate fi utilizată pentru a
reglementa urmărirea animalelor utilizate în agricultură. Acest lucru poate ajuta la
detectarea animalelor în timp real, în special în timpul erupției unui sindrom infecțios. În
multe țări, fermierii și ciobanii primesc subvenții în funcție de baza numărului de
animale, cum ar fi bovine, ovine etc. Oamenii pot face fraude cu guvernul, inducându-i în
eroare cu privire la numărul de animale. Detectarea acestor înșelăciuni este o sarcină
dificilă. Prin urmare, IoT poate fi utilizat pentru a reduce frauda, deoarece poate oferi
metode adecvate de identificare. Multe alte aplicații, cum ar fi efectuarea de sondaje,
controlul și prevenirea bolilor, pot fi realizate cu ușurință prin utilizarea diverselor
caracteristici ale IoT.
Industria medicală și de sănătate: Există multe aplicații în sectorul sănătății care pot fi
încadrate prin utilizarea funcțiilor IoT. Monitorizarea parametrilor medicali și urmărirea
administrării medicamentelor se poate face cu ușurință prin utilizând telefoane mobile cu
25
capacități de senzori RFID. Unele dintre avantajele pe care pot fi obținute prin utilizarea
funcției menționate sunt:
(a) monitorizarea bolilor poate fi facilitată.
(b) se poate face un diagnostic ad-hoc.
(c) se poate acorda ajutor medical instantaneu furnizat în caz de accidente.
Dosarele de sănătate pot fi salvate și securizate prin utilizarea dispozitivelor implantabile
și fără fir. Aceste dosare de sănătate pot fi utilizate pentru a salva viața pacientului și se
poate oferi un tratament special persoanelor aflate în situații de urgență, în special celor
care suferă de boli de inimă, cancer, diabet, accident vascular cerebral, deficiențe
cognitive, Alzheimer etc.
26
Un alt aspect important al IoT este reducerea costurilor și a consumului de resurse. Prin
monitorizarea și controlul eficient al utilizării resurselor precum energie, apă, combustibil etc., se
poate reduce consumul inutil și se pot optimiza cheltuielile. De exemplu, sistemele de gestionare
a energiei în locuințe inteligente pot ajusta automat iluminatul și temperatura în funcție de
nevoile utilizatorilor, contribuind astfel la economisirea energiei și reducerea costurilor facturilor
de utilități.
Un alt avantaj al IoT este îmbunătățirea procesului decizional. Prin colectarea și analiza
datelor în timp real, se pot obține informații relevante și actualizate, care ajută la luarea deciziilor
mai bine fundamentate. De exemplu, în industrie, datele colectate de la senzorii dispozitivelor
IoT pot oferi informații despre starea echipamentelor și pot detecta defecțiunile înainte ca acestea
să ducă la întreruperi majore în producție.
În concluzie, IoT aduce impacturi și avantaje semnificative într-o varietate de domenii.
Eficiența și automatizarea proceselor, conectivitatea extinsă, monitorizarea și gestionarea la
distanță, îmbunătățirea calității vieții, inovația și noi oportunități de afaceri, reducerea costurilor
și a consumului de resurse, precum și îmbunătățirea procesului decizional sunt doar câteva dintre
beneficiile pe care le aduce IoT. Cu toate acestea, este important să se țină cont de aspecte de
securitate și confidențialitate în implementarea și utilizarea soluțiilor IoT, pentru a asigura
protecția datelor și a infrastructurii.
3. Protocolul MQTT
27
Figură 10. Pachet de date MQTT [15]
Protocolul MQTT a devenit un standard deschis și a câștigat popularitate în industria IoT
datorită mai multor caracteristici cheie. Printre acestea se numără:
Eficiența energetică și utilizarea redusă a lățimii de bandă: MQTT utilizează un
model de publicare/abonare, în care dispozitivele publică mesaje pe anumite teme și se
pot abona pentru a primi mesajele de pe acele teme. Această abordare reduce semnificativ
traficul de rețea și consumul de energie, făcându-l potrivit pentru dispozitivele cu resurse
limitate.
Fiabilitate și livrare garantată: MQTT asigură o livrare fiabilă a mesajelor prin
intermediul calității serviciului (QoS). Protocolul oferă opțiuni de QoS care permit să fie
gestionată fiabilitatea și prioritatea mesajelor, asigurându-se că acestea sunt livrate cu
succes și într-o ordine specifică.
Scalabilitate și flexibilitate: MQTT este conceput pentru a fi scalabil și pentru a gestiona
un număr mare de dispozitive conectate. Este un protocol ușor și simplu, care poate fi
implementat pe o gamă largă de dispozitive și platforme.
Suport pentru conexiuni instabile: MQTT are capacitatea de a gestiona conexiuni
nesigure sau instabile. Dacă o conexiune se întrerupe temporar, protocolul poate
reconecta automat dispozitivul și poate asigura livrarea mesajelor în mod corespunzător.
Astăzi, MQTT este utilizat în mod extins în industria IoT, fiind implementat în
numeroase soluții și platforme. Este un protocol flexibil și fiabil, care facilitează comunicarea
eficientă între dispozitivele IoT și serviciile cloud sau alte sisteme de gestionare. În capitolul
următor, vom explora mai detaliat caracteristicile și funcționalitățile protocolului MQTT, precum
și modul în care poate fi utilizat în soluțiile IoT.
28
3.2 Caracteristicile și funcționalitățile protocolului MQTT
MQTT are o serie de caracteristici care îl diferențiază și îl fac să se evidențieze în
contextul aplicațiilor IoT. Acesta utilizează un model de comunicare de tip publicare/abonare, în
care dispozitivele pot publica mesaje pe anumite teme și se pot abona pentru a primi mesajele de
pe acele teme. Acest model facilitează transmiterea datelor în mod eficient și flexibil între
dispozitive, fără a necesita o comunicare directă între expeditor și destinatar.
Un alt aspect important al MQTT-ului este configurabilitatea nivelului de calitate a
serviciului (QoS). QoS (Quality of Service) este un aspect important al protocolului MQTT și
joacă un rol crucial în asigurarea fiabilității și prioritizării mesajelor într-un sistem IoT. MQTT
oferă trei niveluri de QoS, fiecare având caracteristici și beneficii specifice.
i. QoS 0 (Cel mai puțin fiabil): Acest nivel de QoS asigură o livrare „cel mult o dată” a
mesajelor. Atunci când un client publică un mesaj cu QoS 0, acesta este transmis către
broker și apoi distribuit către toți clienții abonați pe acea temă. Brokerul nu păstrează
nicio informație despre starea mesajului, ceea ce înseamnă că nu se asigură o confirmare
de livrare sau mecanisme de retransmisie. Aceasta înseamnă că există riscul ca mesajele
să se piardă în cazul în care un client nu este disponibil sau conexiunea se întrerupe
temporar.
ii. QoS 1 (Fiabil): Acest nivel de QoS asigură o livrare „cel puțin o dată” a mesajelor.
Atunci când un client publică un mesaj cu QoS 1, acesta este transmis către broker și apoi
brokerul confirmă primirea mesajului către clientul expeditor. Dacă confirmarea nu poate
fi obținută într-un interval de timp prestabilit, mesajul este retransmis de către expeditor.
Aceasta asigură o livrare fiabilă a mesajelor, chiar și în cazul întreruperilor temporare ale
conexiunii sau indisponibilității clientului destinatar.
iii. QoS 2 (Cel mai fiabil): Acest nivel de QoS asigură o livrare „exact o dată” a mesajelor.
Atunci când un client publică un mesaj cu QoS 2, acesta este transmis către broker și apoi
brokerul confirmă primirea mesajului către clientul expeditor. După aceea, clientul
expeditor trimite un mesaj de confirmare către broker pentru a confirma primirea
mesajului. Dacă confirmarea nu poate fi obținută într-un interval de timp prestabilit,
mesajul este retransmis de către expeditor. Acest nivel de QoS oferă cea mai mare
fiabilitate, asigurând că mesajele sunt livrate exact o dată și că nu apar duplicări.
Retain Flag este un indicator asociat unui mesaj MQTT, care specifică dacă brokerul
trebuie să rețină ultimul mesaj publicat pe o anumită temă. Atunci când un client publică un
mesaj cu Retain Flag setat, brokerul va reține acel mesaj și îl va trimite tuturor clienților care se
abonează la acea temă imediat după abonarea lor. Aceasta înseamnă că clienții abonați primesc
ultimul mesaj publicat pe acea temă, chiar dacă nu erau conectați în momentul publicării
mesajului. Retain Flag este util pentru inițializarea și actualizarea stării dispozitivelor și poate fi
utilizat în scenarii precum afișarea ultimului mesaj sau recuperarea datelor inițiale.
Last Will and Testament (LWT) este o funcționalitate a protocolului MQTT care
permite unui client să transmită o mesaj de „veste de ultimă oră” către broker în cazul în care
conexiunea acestuia se întrerupe neașteptat. Clientul poate specifica un mesaj și o temă asociată
acestuia, iar atunci când conexiunea clientului se întrerupe brusc, brokerul va publica automat
29
mesajul de LWT pe tema specificată. Aceasta oferă o modalitate de a anunța celelalte dispozitive
sau clienți interesați despre deconectarea neașteptată a clientului. LWT este util pentru a
comunica starea dispozitivelor și pentru a iniția acțiuni sau notificări corespunzătoare în cazul
întreruperilor de conexiune.
Eficiența energetică și utilizarea redusă a lățimii de bandă sunt alte avantaje ale
protocolului MQTT. Protocolul este proiectat pentru a fi eficient din punct de vedere energetic și
pentru a utiliza în mod optim lățimea de bandă disponibilă. Dimensiunea redusă a pachetelor de
date și mecanismul de comprimare a headerelor contribuie la economisirea resurselor
dispozitivelor IoT, în special a celor cu resurse limitate.
MQTT permite menținerea conexiunilor persistente între client și broker, ceea ce
înseamnă că dispozitivele IoT pot rămâne conectate și pot transmite sau primi mesaje în orice
moment. De asemenea, protocolul oferă posibilitatea de a gestiona și monitoriza starea
conexiunii, inclusiv posibilitatea de a reconecta automat dispozitivele în cazul în care conexiunea
este întreruptă temporar. Toate aceste caracteristici și funcționalități fac din MQTT un protocol
puternic și potrivit pentru aplicațiile IoT. În subcapitolul următor, vom explora în detaliu
avantajele și dezavantajele utilizării protocolului MQTT în contextul sistemelor IoT, pentru a
putea înțelege mai bine potențialul și limitările sale.
30
Clienții care se înregistrează la broker ca fiind interesați de anumite tipuri de mesaje sunt
cunoscuți ca abonați. Prin urmare, atât publicatorii, cât și abonații stabilesc o conexiune cu
brokerul.
Un subiect (topic) este un canal logic și este denumit canal sau subiect. Brokerul va
trimite clienților numai mesajele publicate în subiectele la care sunt abonați. Datele unui mesaj
sunt cunoscute sub denumirea de sarcină(payload). Un mesaj include subiectul căruia îi aparține
și sarcina utilă.
Publicatorii și abonații sunt decuplați în spațiu, deoarece nu se cunosc între ei.
Publicatorii și abonații nu trebuie să funcționeze în același timp. Publicatorul poate publica un
mesaj, iar abonatul îl poate primi ulterior. În plus, operațiunea de publicare nu este sincronizată
cu operațiunea de primire. Un client solicită brokerului să publice un mesaj, iar restul clienților,
care s-au abonat la subiectul corespunzător, pot primi mesajul la momente diferite. Publicatorul
poate trimite mesaje ca o operație asincronă pentru a evita să fie blocat până când clienții
primesc mesajele. Cu toate acestea, este de asemenea posibil să se trimită un mesaj brokerului ca
o operațiune sincronă, cu ajutorul broker-ului și de a continua execuția numai după ce
operațiunea a avut succes. În cele mai multe cazuri, vom dori să profităm de operațiunile
asincrone.
După stabilirea cu succes a unei conexiuni între un client MQTT și un server MQTT,
serverul va menține conexiunea deschisă până când clientul pierde conexiunea sau trimite un
pachetul de control DISCONNECT către server pentru a închide conexiunea. Pachetul de control
31
CONNECT trebuie să includă valori pentru următoarele câmpuri în payload și biți pentru un
octet special de semnalizare care este inclus în pachetul de control:
Dacă abonarea a avut succes, serverul MQTT va începe să trimită fiecare mesaj publicat
care se potrivește cu filtrele de subiecte specificate în abonament către clientul MQTT cu QoS
specificat în codul de returnare. Următoarea diagramă prezintă interacțiunea dintre un client
MQTT și un server MQTT pentru a abona la unul sau mai multe filtre de subiecte.
32
3.3.3 Publicarea mesajelor
Publicarea mesajelor în MQTT se realizează prin trimiterea acestora către broker, care va
propaga mesajul către toți clienții care sunt abonați la acel topic. Clientul care publică un mesaj
poate specifica topic-ul către care este adresat mesajul și conținutul propriu-zis al mesajului.
Clientul MQTT care a stabilit deja o conexiune trimite un pachet PUBLISH către MQTT cu un
antet care include următoarele câmpuri și indicatori:
PacketId: Dacă nivelul QoS este egal cu 0, valoarea acestui câmp va fi 0 sau nu va
fi prezentă. În cazul în care nivelul QoS este egal cu 1 sau 2, identificatorul
pachetului va avea o valoare numerică pentru identifica pachetul și pentru a face
posibilă identificarea răspunsurilor legate de acest pachet.
QoS: Specifică nivelul de QoS pentru mesaj.
Retain: Dacă valoarea pentru acest indicator este setată la 1 sau true, serverul
MQTT va stoca mesajul cu nivelul de QoS specificat.
TopicName: Un șir de caractere cu numele subiectului în care trebuie publicat
mesajul. Numele subiectelor au o structură ierarhică în care slash-urile (/) sunt
utilizate ca delimitatori. În exemplele noastre, valoarea pentru TopicName a fost
„sensor1 /altitude”.
Payload-ul conține mesajul efectiv pe care clientul MQTT dorește ca serverul MQTT să
îl publice. MQTT este agnostic pentru date și, prin urmare, putem trimite orice date binare și nu
avem restricții precum cele impuse de JSON sau XML. Bineînțeles, putem folosi acestea sau
altele pentru a organiza payload-urile dacă dorim. În exemplele noastre, am trimis un șir de
caractere care includea un număr care reprezenta valoarea altitudinii.
33
3.4 Avantajele și dezavantajele utilizării protocolului MQTT
Protocolul MQTT este un protocol de comunicare extrem de popular și utilizat în
industria IoT. Acesta oferă numeroase avantaje, dar vine și cu unele dezavantaje specifice. În
continuare, vom explora detaliat aceste aspecte, evidențiind beneficiile și posibilele limitări ale
utilizării protocolului MQTT în contextul sistemelor IoT.
Avantajele utilizării protocolului MQTT sunt următoarele:
Ușurința de utilizare: MQTT este un protocol simplu și ușor de implementat, ceea ce
facilitează integrarea sa într-un sistem IoT. Acesta oferă un set minimal de comenzi și
concepte, ceea ce face ca dezvoltarea aplicațiilor și interacțiunea cu brokerul MQTT să
fie accesibile chiar și pentru utilizatorii cu mai puține cunoștințe tehnice avansate.
Eficiența și scalabilitatea: Protocolul MQTT este proiectat să fie eficient în ceea ce
privește utilizarea lățimii de bandă și resurselor de rețea. Modelul său de
publicare/abonare permite transmiterea eficientă a mesajelor către multiple dispozitive
fără a crea o presiune excesivă asupra rețelei.
Fiabilitatea comunicării: MQTT oferă opțiuni flexibile de calitate a serviciului (QoS)
pentru a asigura o comunicare fiabilă între dispozitive. Nivelurile de QoS permit
gestionarea pierderii sau duplicării mesajelor, asigurând astfel livrarea corectă și fiabilă a
informațiilor în funcție de necesitățile aplicației.
Consum redus de energie: Un alt avantaj important al protocolului MQTT este
consumul redus de energie. Acesta este conceput pentru a funcționa eficient și pentru a
minimiza consumul de energie al dispozitivelor IoT.
Dezavantajele utilizării protocolului MQTT includ următoarele aspecte:
Dependenta de conexiunea la rețea: MQTT este bazat pe protocoale de rețea TCP/IP,
ceea ce înseamnă că dispozitivele IoT trebuie să fie conectate la o rețea locală sau
internet pentru a comunica prin intermediul acestui protocol. Astfel, în cazul în care
conexiunea la această rețea sau internet este instabilă sau indisponibilă, în anumite locații
sau circumstanțe, comunicarea între dispozitive poate fi afectată sau chiar imposibilă.
Limitări în ceea ce privește tipurile de date: Protocolul MQTT este orientat către
transmiterea mesajelor simple și ușoare, iar structurile complexe de date pot necesita o
gestionare suplimentară. Acest lucru poate reprezenta o limitare în cazul aplicațiilor care
necesită transmiterea unor volume mari de date complexe sau informații structurate în
mod avansat.
Necesitatea unui broker MQTT: Pentru a utiliza protocolul MQTT, este necesară
instalarea și configurarea unui broker MQTT. Acest broker acționează ca intermediar
între dispozitivele IoT și facilitează schimbul de mesaje. Această cerință suplimentară
poate adăuga complexitate și necesită administrarea și configurarea suplimentară a
infrastructurii MQTT.
În concluzie, utilizarea protocolului MQTT în sistemele IoT vine cu numeroase avantaje
care includ ușurința de utilizare, eficiența și scalabilitatea, fiabilitatea comunicării și consumul
redus de energie. Aceste caracteristici îl fac o alegere populară și potrivită pentru o gamă variată
34
de aplicații IoT. Cu toate acestea, există și dezavantaje asociate utilizării protocolului MQTT.
Acestea includ dependența de conexiune la internet sau măcar la o rețea locală, limitările în ceea
ce privește tipurile de date și necesitatea unui broker MQTT.
35
Dispozitivele inteligente sunt conectate la un broker MQTT, care poate fi instalat local pe
calculatorul unde se află și serverul, sau poate fi instalat pe un PC în internet, având un IP public
la care dispozitivele WiFi se vor conecta prin intermediul unui router WiFi cu acces la internet.
Brokerul MQTT mai poate fi instalat pe un Raspberry Pi, o metodă des utilizată în rețelele de
case inteligente create de amatori. Aceste arhitecturi permit gestionarea comunicării între
dispozitive și server. În cazul sistemului implementat, toate mesajele și comunicarea între
dispozitive, senzori și serverul MQTT, sunt gestionate de brokerul MQTT instalat pe un
calculator din rețeaua universității „Ștefan cel Mare” din Suceava. Acest broker asigură
distribuirea mesajelor în mod eficient și securizat între componentele sistemului IoT
implementat.
Controlul dispozitivelor este realizat prin intermediul unui server implementat în Node.js,
care, din punctul de vedere al brokerului, acesta funcționează și ca un client MQTT. Acest server
trimite mesaje MQTT către senzori și dispozitive, realizând astfel comenzi și solicitări specifice.
Senzorii pot procesa mesajele de interogare și pot răspunde cu date utile sau pot efectua acțiuni
specifice, cum ar fi controlul unor întrerupătoare smart.
Sistemul implementat include și o interfață web cu controale grafice, care permite
utilizatorului să controleze, adauge, șteargă și să actualizeze dispozitivele smart. Această
interfață web oferă o modalitate intuitivă și ușor de utilizat pentru gestionarea sistemului IoT.
36
De asemenea, aplicația permite utilizatorului să creeze scene sau evenimente specifice.
Aceste evenimente pot fi declanșate în urma anumitor condiții sau la apariția unor evenimente
specifice. De exemplu, utilizatorul poate crea o scenă în care, la atingerea unui anumit timer sau
la detectarea unei anumite temperaturi exterioare, se activează automat anumite acțiuni, cum ar fi
aprinderea iluminatului și reglarea termostatului.
37
Figură 18. Fereastră instalare Eclipse Mosquitto
2) Se deschide folderul unde s-a instalat mosquitto, apoi într-un folder separat, se creează un
fișier de configurare, inițial de tip text (mosquitto.txt), după care i se va schimba extensia
(mosquitto.conf). În fișierul text vor fi scriși niște parametri cu care va starta brokerul. De
exemplu, acești parametrii pot fi:
per_listener_settings true
allow_anonymous false
port 1883
password_file “./password.txt”
Dacă allow_anonymous este false, atunci trebuie să se creeze un fișier de parole și să se
seteze calea către acest fișier. Fișierul dat trebuie să conțină pe prima linie username-ul și
parola, cu care se vor conecta clienții MQTT, astfel: username:password. După setarea
parametrilor, se salvează fișierul text, i se schimbă extensia în “.conf” și se copie în
folderul unde este instalat mosquitto, astfel suprascriind fișierul de configurare deja
existent.
3) Se restartează service-ul mosquitto din Windows Services, care poate fi accesat astfel: Se
apasă tastele Windows + R de pe tastatură pentru a deschide fereastra Run. Se tastează
services.msc și se apasă Enter pe tastatură sau se face clic pe butonul OK.
38
Figură 19. Restartarea brokerului mosquitto din Windows Services
2)
Figură 20. Modulul WiFi CB3S Figură 21. Programator UART CH340G
cu pinii de conectare serială
Descărcarea firmware-ului:
Se descarcă versiunea corespunzătoare a firmware-ului dorit (pentru modulul
WiFi utilizat. Acesta poate fi Open Beken:
https://github.com/openshwprojects/OpenBK7231T_App/releases/
39
3) Conectarea modulului WiFi cu programatorul UART:
Este nevoie de cel puțin 4 fire care vor fi folosite pentru a conecta pinii Tx, Rx,
3.3V, Gnd cu pinii Rx, Tx, 3.3V, Gnd ai programatorului.
Se conectează programatorul UART la computer utilizând un cablu USB.
4) Instalarea firmware-ului:
Se va descărca aplicația “BK7231 Easy UART Flasher” de la adresa:
https://github.com/openshwprojects/BK7231GUIFlashTool
Se setează COM-portul, se va alege firmware-ul descărcat, și se va porni
instalarea.
Pentru scrierea efectivă pe cipul WiFi, este mandatoriu ca acesta să intre în
regimul “Boot mode”.
Pentru cipurile Beken, intrarea în Boot mode va avea loc după restartarea
modulului WiFi, de aceea, se va deconecta și conecta înapoi (pe un interval foarte
40
scurt) pinul de alimentare 3.3V ce cuplează modulul WiFi cu programatorul
UART, fără a deconecta programatorul de la PC.
5) Accesarea interfeței de programare a modulului WiFi:
Se va deschide un browser web și se va introduce adresa IP de configurare în bara
de adrese. Adresa IP de configurare este 192.168.4.1 . Aici se va seta SSID-ul și
parola router-ului la care va fi conectat modulul WiFi. După setare, modulul se va
restarta și i se va aloca o adresă IP, pe care o putem găsi în lista cu adrese alocate
de către router.
6)
Configurare și personalizare:
Se va accesa interfața de programare a firmware-ului prin adresa sa IP alocată de
router, și se va configura opțiunile și setările specifice modulului WiFi și
dispozitivelor conectate. Aici se pot seta parametri precum numele WiFi, numele
device-ului, parolele, adresa MQTT, pinii de intrare/ieșire (în dependență de tipul
dispozitivului), etc.
41
4.2.3 Firmware-urile Tasmota și Open Beken
Firmware-urile open source joacă un rol crucial în implementarea sistemelor IoT,
deoarece oferă posibilitatea de a controla și personaliza dispozitivele smart într-un mod flexibil.
Aceste firmware-uri permit utilizatorilor să își modifice dispozitivele smart, să adauge
funcționalități suplimentare și să le integreze în diferite ecosisteme IoT.
Unul dintre cele mai populare firmware-uri open source utilizate în proiecte IoT este
Tasmota. Tasmota oferă o platformă solidă și versatilă pentru dispozitivele bazate pe ESP8266 și
ESP32. Această platformă permite controlul dispozitivelor prin intermediul protocolului MQTT,
oferind o interfață simplă și ușor de utilizat.
42
Acest firmware oferă suport pentru funcționalități WiFi și MQTT, permițând integrarea
dispozitivelor Beken într-un ecosistem IoT bazat pe MQTT.
Prin urmare, alegerea firmware-urilor open source precum Tasmota și Open Beken
reprezintă o decizie strategică pentru implementarea sistemului IoT. Utilizarea firmware-urilor
Tasmota și Open Beken permite personalizarea și controlul dispozitivelor smart într-un mod
convenabil și adaptat nevoilor.
Atât firmware-ul Tasmota, cât și firmware-ul Open Beken oferă funcționalități avansate
și permit personalizarea dispozitivelor IoT în funcție de cerințele specifice. Prin utilizarea
modulelor WiFi din familiile ESP și Beken, împreună cu firmware-urile Tasmota și Open Beken,
dezvoltatorii pot crea și implementa propriile soluții IoT, având control total asupra
funcționalității și a datelor dispozitivelor lor conectate. Anume aceste firmware-uri vor fi
utilizate în realizarea propriului sistem IoT, ele suportând comunicații prin diferite protocoale,
printre care HTTP și MQTT.
43
Aplicația web servește ca interfață pentru utilizator, permițându-i să interacționeze cu
dispozitivele smart, să trimită comenzi și să primească actualizări în timp real.
Pentru a realiza conexiunea, se folosește o bibliotecă MQTT în Node.js, cum ar fi
„mqtt.js” sau „mqtt”. Această bibliotecă oferă funcționalități pentru a crea un client MQTT în
backend-ul aplicației, care va gestiona comunicarea cu brokerul MQTT. Mai jos avem secvența
de cod din NodeJs care creează un client MQTT:
44
Pentru a transmite comenzi către dispozitivele smart, aplicația utilizează metoda
„publish()” a clientului MQTT. Această metodă permite trimiterea unui mesaj la un anumit
topic, specificând conținutul mesajului. De exemplu, aplicația poate trimite o comandă de
aprindere a luminilor către un dispozitiv de iluminat smart prin publicarea unui mesaj la topicul
corespunzător. În cadrul aplicației mele, am realizat o metodă ce permite transmiterea unui mesaj
MQTT către broker, având ca parametri: clientul MQTT, topic-ul și payload-ul (adică datele în
utile).
Aplicația poate primi mesaje de la broker atunci când se întâmplă evenimente legate de
dispozitivele smart. Mesajele pot conține informații despre starea dispozitivelor sau pot
reprezenta comenzi de la utilizator. Aplicația poate procesa aceste mesaje și poate actualiza
interfața utilizatorului în consecință.
Pentru a recepționa mesaje de la dispozitivele smart, aplicația utilizează metoda
„client.on('message')” a clientului MQTT, metodă ce se va executa la apariția unui mesaj nou.
Astfel, putem procesa toate mesajele primite pe topic-urile la care suntem abonați, ele având în
topic numele MQTT unic al dispozitivului, identificând astfel proveniența acelui mesaj.
45
4.3.2 Interacțiunea utilizatorului cu aplicația Web
În cadrul aplicației web implementată în React, utilizatorul poate interacționa cu
dispozitivele smart prin intermediul unei interfețe grafice intuitive. Utilizatorul poate da comenzi
și interogări prin intermediul interfeței, iar aceste acțiuni sunt procesate în partea de frontend a
aplicației. Apoi, interacțiunea este transmisă la backend-ul aplicației, care folosește clientul
MQTT integrat pentru a trimite comenzi și a primi actualizări de la dispozitivele smart prin
brokerul MQTT.
Un exemplu concret poate fi situația în care utilizatorul dorește să pornească sau să
oprească o priză smart folosind un switch reprezentat pe pagina web. Atunci când utilizatorul
acționează switch-ul pentru a schimba starea prizei, se produce o interacțiune între frontend și
backend pentru a trimite comanda corespunzătoare prin brokerul MQTT.
46
Brokerul MQTT primește mesajul și îl direcționează către dispozitivul smart
corespunzător, care este abonat la topicul asociat prizei respective. Dispozitivul va primi mesajul
și va executa comanda corespunzătoare, adică va porni sau va opri priza.
47
prizei smart pe pagina web.
48
5. Securitatea protocolului MQTT într-un sistem IoT
În acest subcapitol, vom explora riscurile și vulnerabilitățile de securitate care pot afecta un
sistem IoT și vom discuta despre măsurile de protecție care pot fi implementate pentru a
contracara aceste amenințări.
1) Riscul de acces neautorizat: Unul dintre cele mai mari riscuri într-un sistem IoT este
accesul neautorizat la dispozitivele și datele acestora. Atacatorii pot încerca să obțină
controlul asupra dispozitivelor sau să acceseze datele sensibile stocate în sistem. Pentru a
reduce acest risc, este important să se implementeze autentificare și autorizare riguroase,
utilizând mecanisme precum parole puternice, criptare a datelor și autentificare în doi
pași.
2) Atacurile de tip Denial-of-Service (DoS): Atacurile de tip DoS pot afecta disponibilitatea
sistemului IoT prin inundarea rețelei cu un număr mare de cereri sau pachete de date,
ceea ce poate duce la blocarea sau încetinirea funcționării dispozitivelor. Pentru a proteja
sistemul împotriva acestor atacuri, se pot implementa mecanisme de detecție și prevenire
a atacurilor DoS, precum și utilizarea unor politici de gestionare a traficului pentru a
prioritiza cererile legitime.
49
3) Vulnerabilități de securitate ale dispozitivelor: Unele dispozitive IoT pot prezenta
vulnerabilități de securitate din cauza designului slab, utilizării de firmware-uri
neactualizate sau utilizării unor protocoale de comunicare nesigure. Este important să se
efectueze o evaluare a securității dispozitivelor înainte de a le integra în sistem și să se
asigure actualizarea constantă a firmware-ului pentru a remedia eventualele
vulnerabilități.
4) Securitatea datelor: Datele colectate și transferate într-un sistem IoT pot conține
informații sensibile, cum ar fi date personale sau informații de identificare. Este esențial
să se implementeze măsuri de criptare a datelor pentru a le proteja în timpul transferului
și stocării. De asemenea, este important să se implementeze politici de gestionare a
datelor și să se ofere control utilizatorilor asupra modului în care sunt colectate, utilizate
și partajate aceste date.
5) Actualizări de securitate: Pe măsură ce evoluează tehnologia și apar noi amenințări, este
crucial să se ofere actualizări de securitate constante pentru dispozitivele și sistemele IoT.
Producătorii de dispozitive ar trebui să ofere actualizări de firmware și software pentru a
remedia vulnerabilitățile descoperite și să se asigure că utilizatorii primesc în mod regulat
aceste actualizări.
6) Securitatea rețelei: Rețelele utilizate într-un sistem IoT trebuie să fie protejate împotriva
accesului neautorizat. Se pot implementa măsuri precum utilizarea unor parole puternice
pentru rețelele WiFi, segmentarea rețelei pentru a izola dispozitivele IoT de alte
dispozitive din rețea și utilizarea unor soluții de securitate, cum ar fi firewalls și soluții de
detecție a intruziunilor.
Pentru a asigura securitatea într-un sistem IoT, este important ca toate părțile implicate de
la producătorii de dispozitive și dezvoltatorii de software la utilizatori să conștientizeze riscurile
și să implementeze măsuri adecvate de securitate. Astfel, se poate crea un mediu sigur și de
încredere pentru implementarea și utilizarea sistemelor IoT în diverse domenii.
50
recomandă criptarea acestora utilizând protocoale de securitate precum TLS (Transport
Layer Security) sau SSL (Secure Sockets Layer). Criptarea asigură că datele sunt ilegibile
pentru atacatori în timpul transmiterii.
3) Controlul accesului: O altă soluție importantă de securitate pentru protocolul MQTT este
controlul accesului la topic-urile și mesajele publicate și abonate. Brokerul MQTT poate
fi configurat pentru a permite sau a refuza accesul la anumite topic-uri sau mesaje bazat
pe politici de securitate definite. Aceasta asigură că doar utilizatorii autorizați pot accesa
și interacționa cu anumite resurse și informații.
4) Monitorizarea și înregistrarea activității: Implementarea unui sistem de monitorizare și
înregistrare a activității poate ajuta la detectarea și investigarea eventualelor activități
suspecte sau neautorizate. Prin înregistrarea evenimentelor și auditarea accesului, se
poate obține o vizibilitate mai mare asupra utilizării sistemului și se pot identifica
eventuale încercări de atac sau abuz.
5) Actualizarea constantă a software-ului: Este important ca brokerul MQTT și
dispozitivele conectate să fie actualizate constant cu cele mai recente versiuni de
firmware și software. Producătorii de dispozitive și dezvoltatorii de software ar trebui să
ofere actualizări de securitate și să remedieze orice vulnerabilități descoperite. Utilizatorii
ar trebui să fie responsabili și să se asigure că dispozitivele lor sunt actualizate în mod
regulat.
Implementarea acestor soluții de securitate pentru protocolul MQTT poate contribui
semnificativ la protejarea sistemului IoT și a datelor sensibile. Este important să se ia în
considerare aspectele de securitate încă de la etapa de proiectare și să se implementeze măsuri
adecvate pentru a preveni orice potențiale vulnerabilități și atacuri cibernetice.
51
cum ar fi expunerea datelor confidențiale, utilizarea protocoalelor nesigure, configurări
incorecte sau erori de codare. Evaluarea vulnerabilităților oferă o imagine de ansamblu
asupra nivelului de securitate al sistemului și permite implementarea măsurilor de
remediere necesare.
3) Verificarea conformității cu standardele de securitate: Protocolul MQTT și sistemul IoT
în ansamblu trebuie să respecte anumite standarde de securitate pentru a se asigura că
sunt implementate cele mai bune practici de securitate. Aceste standarde pot include
protocoale criptografice, autentificare puternică, gestionarea cheilor, politici de securitate
și altele. Verificarea conformității cu aceste standarde asigură că sistemul este aliniat cu
cerințele de securitate și că sunt implementate măsuri adecvate pentru protejarea datelor.
4) Monitorizarea și auditarea continuă: Este esențial să se implementeze un sistem de
monitorizare și auditare continuă a sistemului IoT pentru a detecta și a preveni
eventualele încercări de atac și a asigura că măsurile de securitate sunt în funcțiune.
Monitorizarea activității de rețea, jurnalizarea evenimentelor și analiza log-urilor sunt
instrumente importante pentru identificarea activităților suspecte și pentru a reacționa
prompt la eventualele incidente de securitate.
5) Testarea rezistenței sistemului la atacuri: În această etapă, se efectuează teste de
rezistență și de performanță pentru a evalua modul în care sistemul se comportă sub
diferite scenarii de atac. Aceste teste pot implica încercări de suprasarcină, atacuri de tip
DDoS (denial of service), teste de rezistență la intruziune și altele.
Astfel, testarea și evaluarea securității protocolului MQTT într-un sistem IoT sunt esențiale
pentru a asigura protecția datelor și a infrastructurii împotriva atacurilor cibernetice.
Implementarea măsurilor de securitate adecvate, testarea regulată și monitorizarea continuă
contribuie la creșterea nivelului de securitate al sistemului și la reducerea riscurilor de securitate.
52
confidențialitatea și integritatea datelor transmise prin protocolul MQTT. Rezultatele au
demonstrat că implementarea corectă a măsurilor de securitate poate proteja sistemul împotriva
amenințărilor cibernetice.
Sa evaluat capacitatea sistemului de a gestiona un număr mare de dispozitive și mesaje
MQTT. Sa identificat punctele slabe și sa implementat măsuri de optimizare pentru a asigura o
comunicare eficientă și o scalabilitate adecvată. Rezultatele au arătat că sistemul este capabil să
gestioneze cu succes creșterea numărului de dispozitive IoT și volumul de date generate.
De asemenea, sa analizat interacțiunea utilizatorului cu aplicația web implementată, care
permite controlul și gestionarea dispozitivelor smart. Sa evaluat ușurința de utilizare,
accesibilitatea și satisfacția utilizatorului în ceea ce privește funcționalitățile și interfața
aplicației. Rezultatele au arătat că aplicația web oferă o experiență utilizator intuitivă și ușor de
utilizat.
Așadar, implementarea protocolului MQTT într-un sistem IoT a adus numeroase
beneficii, cum ar fi performanță, securitate, eficiență și scalabilitate. Rezultatele și concluziile
obținute au demonstrat că MQTT este o soluție robustă și potrivită pentru implementarea
sistemelor IoT. Cu toate acestea, este important să se acorde atenție aspectelor de securitate și să
se implementeze măsuri adecvate pentru a proteja sistemul împotriva amenințărilor cibernetice.
În continuare, se pot explora și dezvolta mai multe îmbunătățiri și optimizări pentru a spori
performanța și funcționalitatea sistemului IoT implementat.
53
Implicațiile și contribuțiile lucrării se extind și în direcția cercetării viitoare în domeniul
IoT. Acest proiect oferă o bază solidă pentru continuarea cercetărilor privind îmbunătățirea
performanței, securității și extensibilității implementării protocolului MQTT într-un sistem IoT.
De asemenea, se pot explora și evalua alte aspecte, cum ar fi integrarea cu tehnologii emergente
sau optimizarea comunicației în rețele IoT de dimensiuni mari.
Cu toate acestea, lucrarea dată aduce contribuții semnificative în domeniul implementării
protocolului MQTT într-un sistem IoT. Implicațiile și rezultatele obținute pot fi folosite ca punct
de plecare pentru proiectarea și implementarea altor sisteme IoT bazate pe protocolul MQTT,
oferind o bază solidă pentru cercetare și inovare în acest domeniu în continuă dezvoltare.
54
Bibliografie
55