Sei sulla pagina 1di 65

ALMA MATER STUDIORUM - UNIVERSITÀ DI BOLOGNA

CAMPUS DI CESENA
SCUOLA DI INGEGNERIA E ARCHITETTURA

CORSO DI LAUREA IN INGEGNERIA ELETTRONICA, INFORMATICA


E TELECOMUNICAZIONI-Ambito ElettronicoTelecomunicazioni

TITOLO DELL’ELABORATO

Comunicazione tra dispositivi IoT e Cloud tramite protocollo MQTT

Elaborato in

Applicazioni e Tecniche di Telecomunicazioni

Relatore Presentato da

Walter Cerroni Fabrizio Rinaldini

Anno Accademico 2015/16

1
INDICE

1 INTERNET OF THINGS. L’Internet delle Cose 3

2 Obiettivi della Tesi 12

3 Perché il Protocollo MQTT 14

4 Struttura di messaggi MQTT 17

5 Comunicazione tra dispositivi mediante Protocollo MQTT e 39

relativa analisi dei pacchetti

6 Soluzioni Preconfigurate per Dispositivi IoT 56

7 Confronto tra MQTT e HTTP 58

8 Conclusioni 63

Bibliografia 64

2
1-INTERNET OF THINGS. L’Internet delle Cose

Co n Int e r ne t o f T h ings, ab b re viat o sp e sso co n l’acro n imo IoT , ch e in it alian o


vie n e t r a do tt o co me In t ern et d e lle Co se, st iamo ad ind icare lo sce n ario in cu i
n o n so n o so lam en te le p e rson e in grad o d i con n et te rsi alla Re t e Glob ale
m e d ia nt e p art ico lari d ispo sit ivi, co me Co m p ut e r, Sm artp hon e o T ab le t; m a
so n o gli o gget t i st e ssi, d i u so p iù co m une tu tt i i gio rn i, d i re tt ame nt e co n ne ssi
a ll’u so d i Int e rn e t .
Il t e r m in e è st at o con iat o d all’in ge gn e re in gle se Ke vin A sht on pe r d e scrive re
u n sist e m a in cu i il m o n do f isico è con ne sso ad int e rne t med iant e d e i sen so r i.
G li o gge tt i, in q u e sto m o do , avran no un a p rop ria d ispo siz ion e all’in te rn o de lla
r e t e , ch e gli p erm e tt e rà d i e sse re vist i sia d a lo ro st e ssi, che d agli alt ri o gget t i,
ch e d a gli ut e nt i, u no d e gli sco p i d e ll’Int e rne t o f T h in gs è qu e llo in fatt i, di
cr e a r e un a re p lica virt u ale de l m on do re ale in cu i viviam o .
N o n e sis t e un a p art ico lare t ip o lo gia d i co se ch e p o sson o o no n p o sso no en t r ar e
a f a r p a rt e d e l mo nd o Io T , a se con d a de lle ne ce ssit à e d e l co n t e st o in cu i
a b b ia mo b iso gn o d i o p e rare , po ssiam o im p le m en t are svariat e so lu z io n i p e r
co n n et t er e , e qu indi re nd e re visib ile n el mo nd o virt u ale , ciò ch e ci int e re ssa ,
l’im p o rt a nt e è fo rn ire all’o gget to du e carat te rist iche : co me p rim o req u isit o u n
in d ir iz z o IP (Int e rn et P ro t o co l) in mo d o d a ave re un a co llo caz io ne ne lla re t e e
co m e se co nd a, la possib ilit à d i co mu n icare se nz a b iso gno ch e sia l’e sse re
u m a n o a d irgli d i f arlo . Se riu sciamo a fare in mod o che il no st ro o gge tt o ab b ia
q u e st e d u e caratt e rist ich e , allo ra e sso d ive nt e rà il cand id at o id e ale p er
e n t r ar e a f a r p art e d e l mo n do d e ll’Int ern e t d e lle Co se .

3
Figura 1-Rappresentazione Astratta di un Sistema Internet of Things [1.a]

S e co n d o un a p re visio n e d e lla Gartn e r , so cie t à le ad e r mon d iale n ella rice rca e


l’a n a lisi n e l camp o d e ll’Inf o rm at io n T e ch n o lo gy, il n u m e ro d i o gget t i co nn e ssi
in circo laz io n e n el 2 0 1 7 raggiu n ge rà q uo t a 8 ,3 miliard i, un au me nt o d e l 3 1 %
r isp e tt o a l 20 1 6 , p er arrivare a q u ot a 20 ,4 m iliard i d i u n it à n e l 2 0 20 ;
r im a n en d o n e l 2 01 7 la spe sa glob ale in t e rm inali Io T e se rviz i co nn e ssi sarà d i
cir ca 2 m ila m iliard i, t ut to q u e st o ci f a cap ire d i qu ant o l’ind u st ria
d e ll’inf o r m az ion e sia p rop e n sa a svilu pp arsi in qu e sto set to re . [ 1 .b ]

Co m e d et to in pre ced e nz a con le o pp o rtu n e caratt e rist ich e o gn i o gget to p o t rà


q u ind i ent rare a far p art e de lla ret e , que st o sign if ica ch e l’In t e rn et of Th in gs
p o t r à t ro va re ap p licaz io ne in tu tt i i se tto ri de lla n o st ra vit a, ve d iamo d i cit a rn e
a lcu n i e se m p i p e r ch iarirne m e glio i con ce t t i.
La D o mo t ica , ch e è la scie n z a ch e si o ccu p a d e lle te cn o lo gie vo lt e al f in e d i
m iglio r a r e la qu alit à d e lla vit a all’int e rno d e lla no st ra ab it az io ne , il cu i no m e
n a sce a pp un t o d all’u n ion e d e lla p aro la D o m u s (casa in lat ino ) e Ro bo t ica, è
u n o d e i p r in cip ali sce n ari ap p licat ivi d e ll’Io T . Fin o a p o co t em p o f a in f at t i, un
im p ia nt o d i d o m ot ica n e ce ssitava d i un a sp e cif ica cen t ralin a su b ord in at a al
co n t r o llo d e lle p art i ad e sso co lle gat o , q u ind i p ot e va risu ltare co mp le sso
ge st ir e u n nu m e ro ele vat o d i d e vic e . Ora, f o rt un atam e nt e , si t ro van o in
co m m e r cio d isp o sit ivi e d e le tt rod o m e st ici già in grad o d i con n et t ersi ad
4
in t e rn et , qu e st o sign if ica che po ssiamo co n t ro llare a d ist anz a la maggio r p a rt e
d e gli o gget ti p re se nt i all’in t ern o d e lla no st ra ab it az ion e .

Figura 2-Rappresentazione Astratta di un Impianto di Domotica IoT [2.a]

È già st at o lan ciat o su l m e rcat o , ad e se mp io , u n t e rmo st ato int e lligen t e i n


grad o d i an alizz are le p re visio n i d e l t e mp o ed in b ase a qu est o re go lare la
t e m pe r a tu r a in casa p e r un co mfo rt ideale , in p iù , e ssen do co n n e sso , pu ò
e sse r e qu ind i con t ro llat o a d ist an z a. Po ssiam o qu ind i at t ivarlo tram ite
sm a r t ph o ne co n un co m an d o m anu ale o f ar sì ch e lu i si acco rga de l no st ro
im m in e nt e arrivo a casa q u an d o il GPS d e l n o st ro t e lef o no su p e ra un a d ist anz a
m in im a p r e stab ilit a.

Figura 3-Termostato Intelligente [3.a]

T u tt o q ue st o n o n è limit ato al t e rmo st ato , se mpre graz ie al GP S d e l no st ro


sm a r t ph o ne è p o ssib ile “f are svo lge re u n a q u alsiasi az io n e a casa n o st ra” , ad

5
e se m p io p o ssiamo fare aprire il no st ro can ce llo au t o m at ico m e nt re st iam o p er
a r r iva r e .

Figura 4-Componenti di un Impianto per il Controllo di un Cancello Automatico [4.a]

in ca m po d i do m o t ica so n o già t ant issimi in co mm e rcio gli e le t t ro d o me st ici


f o r n it i d i u n a co n nessio n e in t ern et , il caso p iù co mu n e so no le sm art t v, m a
t u tt o qu e st o vale an ch e p er fo rn i, lavasto viglie e lavat rici, qu e st ’u lt ime ad
e se m p io , t r am it e il t e lef o n o, son o in grad o d i e sse re con t ro llat e d a re m ot o e d i
in f o r ma r ci in b ase ai cicli d i lavaggio .

Figura 5-Lavatrice Smart [5.a]

6
Usce n d o d a lla d o mot ica e p ro se gu e nd o co n l’analisi d i alt ri camp i, l’Int e rn e t o f
T h in gs vie n e ut ilizz at o p e r rint racciare bam b in i e d an imali do m e st ici. Un p aio
d i sca r p e co n GP S int e grato e re lat iva ap p licaz io n e su llo smart ph o ne , son o in
gr a d o d i mo n it o rare i m o vim en t i d i un bamb in o ed e vit are di p e rd e rlo d i vist a .

Figura 6-Scarpe da Bambino con GPS Integrato [6.a]

La st e ssa co sa vale an ch e p e r co llari p er an im ali do m e st ici, so p rat tu tt o can i e


ga t t i, d ot a t i d i sch ed a SIM e GP S in m od o che ch i li in d o ssa p o ssa e sse re
r it r o vat o d a i loro p ad ro n i.

Figura 7-Collare GPS per Animali Domestici [7.a]

M o lto cu r io si an ch e i vari u t iliz z i in camp o m ed ico . N e l caso in cui, pe r alcun i


p a z ien t i la n o n assun z ion e d i u n a m e d icin a po t r e b be risu lt are mo lt o risch io sa
p e r la lo r o salut e , so n o in f ase d i svilu pp o d e lle p illo le con te n e nt i u n
t r a sm e tt it o re in grad o d i in viare u n se gn ale su un d isp o sit ivo re m ot o u n a vo lta
raggiu nt o lo sto m aco d i ch i le assu me , in qu e sto m od o l’avve n ut a
so m m in i st raz ion e pu ò e sse re ve rif icat a d al med ico , d al p az ie n t e st e sso o d a i
su o i f a m ilia ri.

7
Se mp re in camp o me d ico , in
sp e cif ich e situ az ioni d o ve è
f o nd amen t ale il cont ro llo d e lle
co n d iz io n i d i u na perso n a,
p e n siamo ad e se mp io ad un
in d ividu o d iab e t ico ch e d e ve
co st an te me nt e mo nit o rare il
p ro p rio live llo d i glice mia n e l
Figura 8-Pillole Ingeribili con RadioTrasmettitore [8.a] san gu e , n asco no de i d isp o sit ivi
d a app licare su l corp o d e l
p a z ien te in grado d i e ff e tt u are con int ervalli d i t e mp o p re st ab ili le an alisi
n e ce ssa r ie e d i in viare in t emp o re ale i risu lt at i a ch i “ in d o ssa" il mon it or o a
ch i p e r lu i.
In a lcu n i ca si è il d isp o sit ivo st e sso ch e si o ccu p a d i rist ab ilire la st ab ilit à d e i
p a r a m et r i.

Figura 9-Dispositivi Medici Wireless Impiantabili [9.a]

S va r ia t i i d ispo sit ivi Io T che po sso n o e sse re in st allat i su lle n o st re aut o mo b ili.
A l f in e d i r ealizz are q u e llo ch e gli stu d iosi d i t e cn o lo gia d e ll’ in f o rmaz ion e
ch ia m a n o S m art City, la n o st ra au to p ot rà rice ve re in f o rm az io n i rigu ard o al
t r a ff ico e a lla viab ilit à, aiu t an d o ci a sceglie re i p e rc o rsi p iù rap id i o le zo n e
8
d o ve si t r o va p iù p arch e ggio , d ’alt ro can t o l’aut o m ob ile st essa p o trà
co m u n ica r e alla cit tà d o ve si tro va in mo d o ch e i se mafo ri si re go lin o in b ase a l
f lu sso d i via ggiat o ri; tu tt o q u e st o p ot rà n ot e vo lmen te rid u rre l’inq u in amen t o e
gli sp r e ch i d i carb uran t e .

Figura 10-Gestione Parcheggi Smart City [10.a] Figura 11-Gestione Traffico Smart City [11.a]

Le st e sse case d i p ro d uz io ne d i au t o mob ili si st a nn o p re o ccu p and o d i in se rire a


b o r do de i p ro pri pro d o tt i, d e i se n so ri ch e le te n gon o in fo rmat e su llo st ato d e i
ve ico li, p e r mon it orare i con su mi e ve rif icare se n e ce ssit ano d i manu t en z io n e .

Figura 12-Rappresentazione Astratta di un'Automobile in grado di comunicare col mondo esterno [12.a]

P e r sin o l’a grico lt u ra p ot rà u suf ru ire dell’in t ern et d e lle co se , app o sit i se n so r i
vo lt i a l co nt ro llo d elle co nd iz ion i d i camp i e se rre , saranno in grad o an alizz a re

9
i live lli d i umid it à, te mp e r at u ra e t ut to q u e llo ch e è n e ce ssario pe r il n at u ra le
svilu p p o d i un a co ltu ra.

Figura 13-Esempio di Internet of Things applicato al Settore dell'Agricoltura [13.a]

Op p u re lun gh i co ndo t t i o gasd o tt i imp ie gat i p e r il trasp o rto d i so st an z e


sa r a n n o d ot at i dispo sit ivi ch e po st i t ra lo ro a d istanz a strate gica p ot rann o
a n a lizz a r e lo st ato de lla st ru tt u ra e ce rcare d i p re ve d e re e ve n tu ali gu ast i.

Figura 14-Sicurezza e Manutenzione Predittiva di un Condotto [14.a]

10
L’u n ico p un t o a sf avo re de ll’Io T è il f at to ch e vivere in u n mo n d o
co m p le t am e nt e conn e sso p u ò rapp re sen t are un a m in accia p e r la n o st ra p riva cy
e d au m e nt a re la p rese n z a d i att acch i sgrad e vo li d a p art e d i t e rz i. Spe riam o ch e
ve n ga n o a pp o rt at e so lu z ion i a qu e st i p ro b le mi il prima p o ssib ile .

Figura 15-Prevenzione Attacchi Informatici [15.a]

11
2-Obiettivi della Tesi
D o p o qu e st a p re se nt az ion e ch e si o ccu pa d i f o rn ire u no sguard o d i in sie me su l
m o n do de ll’Int e rne t d e lle Co se , p o ssia mo f in almen t e add e ntrarci n e lla p art e
p iù t e cn ica e p rat ica d e lla qu e st io n e . Af f in ch é avven ga u n a co mu n icaz ion e t r a
d isp o sit ivi, qu e st i do vran n o e sse re do t at i d i op p o rt un e comp o n en t i h ard war e e
im p le m en t az ion i soft ware pe r p o rtare a t e rmine u n a co rre tta t r asmission e ,
o gn i sin go lo “ in granaggio ” vo lto al fu nz io n amen t o d i tu tt o il sist e ma n e ce ssit a
d i un a p r o get t az ione e d i u n o stu d io ind ivid u ale . Qu e st a Te si si co n cen t ra su lla
p a r t e r igu ar d an t e i p ro to co lli d i ret e , ch e n o n so no alt ro ch e le re go le e le
co n ve n z io n i risp et tat e d u ran t e la t rasmissio n e , al f in e d i o tte n e re un co rret to
d ia lo go t r a d ispo sit ivi , in p art ico lare su i p rot o co lli d e llo st rat o ap p licaz io ne
(q u e st o co n cet to sarà rip re so n e l d et t aglio n e l cap it o lo su cce ssivo ). In u n
m o n do do ve l’in vio d i d at i è so g get to ad un a sp e sa, n o n so lo a live llo d i
in f o r ma z ion e , ma sop ratt ut t o a live llo mo n e tario , lo sco po de l n o st ro lavo ro è
q u e llo d i o ccu p arci d i un d e te rmin at o pro t o co llo , ch iamat o M QT T , st u diare le
p a r t i d i u na co mun icaz io n e t ra d isp o sit ivi ch e lo imp le me n tan o e ve rif icare se
ve r a m e nt e p u ò f arci risp armiare b it rispe t to ad altri p ro to co lli co n co rre nt i . P er
p r im a co sa , n e l p ro ssimo cap it o lo ch iarire mo me glio il co mp it o d e i p ro t o co lli di
r e t e e spie gh ere mo p e rch é il p ro to co llo M QT T risu lt a mo lt o sf ru t t at o in camp o
Io T . U n a vo lt a f att o ciò sarà ne ce ssario st u d iare la st ru tt u ra d e l p rot o co llo
st e sso , gr az ie al do cu me nt o ch e rip o rt a lo st an d ard M QT T , ci sarà po ssib ile
id e nt if ica r e la co mpo siz io ne d e i vari messaggi M QT T e ricono sce rli in un a
e ve n tu a le t rasmissio n e (Cap it o lo 4 ). Nel Cap it olo 5 ef f et tu ere mo u n a
co m u n ica z io n e M QTT t ra un P C e u n t able t e co n l’u so d i un an aliz z at o re d i
p r o to co llo , u n p ro gramma il cui lavo ro è q ue llo d i con t ro llare il t raff ico d at i
su lle p o r te d i ret e de l n o st ro co mpu t e r, p ot re mmo no t are la re aliz z az io ne
p r a t ica d e lle co no sce n z e acqu isit e n e i cap it o li p re ce d en t i e co mp ren d ere
m e glio le varie f asi e re go le d i un a t rasmissio n e M QT T . P rose gu e nd o , n e l
Ca p it o lo 6 , al so lo sco p o d i rice rca, so no st at e an aliz z at e alcu n e p iatt afo rm e
p r e co nf igu r at e n at e p e r la ge st io ne d i disp o sit ivi IoT e n e so n o st ate rip o rt a t e
le va r ie ca r at te rist ich e . In f in e , n e l Cap it o lo 7 , si p asse rà al co n f ron to , graz ie

12
se m p r e a ll’u so d i u n an aliz z at o re d i ret e, t ra u na trasmission e con p ro to co llo
M QT T e un a t rasm issio n e con p ro to co llo HT T P , u sat o con il me to d o d i rich ie st a
P OS T , la sce lt a d e l pro t o co llo co n co rre nt e è d at a d al f att o ch e an ch e HTT P -P o st
è un a so lu z ion e mo lt o u sat a n e ll’In t erne t of T h in gs. N e ll’u lt imo cap i t o lo
r ip o rt e r e mo le co n clu sio n i e f are mo il pu n to d e lla sit u az ione rigu ard o al la vo ro
svo lt o in q u e st o d o cu me nt o , sp e ran d o di co n fe rmare i risu ltat i at t e si.

13
3-Perchè il Protocollo MQTT

Or a ch e ab b iamo u na co n o sce nz a d i t ut to ciò ch e riguard a l’In t e rn e t o f Th in gs


ve d ia m o d i sp ie gare p e rché vien e d at a tan t a imp ort an z a al P ro t o collo M QT T .
Co m e d et to ne l cap it o lo p re ced e nt e o gnu n o d e i n o st ri d isp osit ivi sarà con n e sso
a d in t e rn et , il q u ale h a u n a st ru tt u ra cosid d et t a a strat i, o live lli, n e ce ssaria
p e r u n a co r ret t a comu n icaz io n e .

Figura 16-Architettura a Strati di Internet

Il live llo d i u n d e vice è in grad o d i co mu n icare co n i live lli o mo lo gh i d i alt ri


d e vice s gr a z ie ai p ro t o co lli d i re te , ch e st ab iliscon o le re gole e le co n ven z io n i
d e l d ia lo go (co me en u n ciat o n e l cap ito lo p re ced en t e ) . Uno d e i p ro to co lli p iù
u sa t i p e r le co mu n icaz io n i allo st rat o App licaz ion e è il f amosissimo HT T P (
Hyp e r T e xt T ran s f e r P ro t o col ) pe rfe tt o p e r lo scamb io d i inf o rmaz io n i su l we b
vist o ch e è imp le men t at o su un ’arch it ett u ra clie nt / se rve r . Ad e se mp io q u an do
vo glia m o co n su lt are u n a p agin a we b, il clie n t e se gu e un a rich ie st a, il se rve r
r e st itu isc e un a rispo st a , il fu nz io n am e nt o d e l t ut to è acco mp agn at o d a u n
co n sist e nt e scamb io d i in fo rmaz io n i t ra il clie n t ed il se rve r.
N e l m on do n e ll’Int ern e t o f Th in gs p e rò , d o ve so n o i d isp o sit ivi a co mu n icare
t r a lor o , il p ro t o co llo ht tp iniz ia a mo st rare le p rime de b o lez z e , p e r il f att o ch e

14
lo sca m b io d i d at i t ra d ue macch in e è in ge n e re co mp o st o da u n limit at o
n u m e ro d i b it e qu in d i si risch ia ch e le in f o rmaz ion i n e ce ssarie pe r cre are u n a
co n n e ssion e sian o maggio ri de l me ssaggio st e sso; in p iù n on è p o ssibile
st a b ilir e un a co mu nicaz io n e d a o ne -t o -man y, o vve ro d a uno a mo lt i.
E n t r a qu ind i in gio co il Pro to co llo M QTT ( M e ssage Qu eu e T e le met ry T ran sp ort
), p e n sat o circa 1 5 an n i f a, p e r le co mu nicaz io n i M 2M , o vve ro M ach in e t o
M a ch ine , h a in iz iat o a gu ad agn are p o po larit à so lame nt e o ra p e r vi a
d e ll’e sp lo sio ne de l m e rcat o Io T . Rapp rese n t a u n valid issimo so st itu to d e l
P r o t o collo HT T P in ap p licaz io n i M 2M , vist o ch e in ge ne re , pe r qu e sto tip o d i
co m u n ica z io n i si ut iliz z a il met od o d i rich ie st a P OST d e l P ro t o co llo HT T P . Un
gr a n d e va nt aggio è d at o d al f at to ch e il P rot o co llo M QT T , al p o st o d e l mo d e llo
clie n t / se r ve r d e l l’HT T P , ad ot t a un me ccan ismo d i p ub b licazio n e e
so t t o scr iz io ne ( p ublish / sub scrib e ) e scamb ia i me ssaggi t ramit e u n app o sito
Br o ke r o Hub . Ogn i d e vice si sot to scrive app un t o a d e te rmin at i argo men t i d et t i
t o p ics, i m itt en t i inve ce p ub b lican o , q uin d i in viano , il co n te n ut o d e i me ssaggi
a cco m p a gn at i d a un t op ic, i l b ro ke r, che si tro va f isicame nt e al ce nt ro d e lla
co m u n ica z io n e , si occu p a d i co n se gn are il me ssaggio so lame n t e ai d e vice s
so t t o scr it t i al t o p ic in qu e st io n e .
Gr a z ie a qu e sto me ccan ismo un a co mu n icaz io n e o ne -t o - many risu lt a
se m p licissima.

15
Figura 17-Meccanismo Publish-Subscribe [16.a]

L’a lt r o p un to d i fo rza d e l p ro t o co llo M QT T st a n el fatt o che è co mp o st o d a


d ive r si t ip i d i me ssaggi, i co sidd e tt i T ype M e ssage . Ogn un o d i e ssi sarà
d e d icat o ad u n t ipo d i op e raz io ne d ive rsa, co me ad e se mp io l’in st au rarsi d i u na
co n n e ssion e , il sub scrib e , il p ub lish o la d isco nn e ssio ne , p ossiamo qu ind i
r isp a r m ia r e d ei b it in u t ili e in viare su lla re te so lo qu e llo che ci f a co mod o e a
ch i vo glia m o n o i. È an ch e p o ssib ile all’in t e rn o d e i t ip i di me ssaggio se lez io n are
la q ua lit à , e q u in d i il n u me ro d e i rin vii, d e l d at o ch e vo gliamo t rasme tt e re .
L’u n ica p icco lissima d iff ico ltà st a n e l imp arare la f u n z ion e e la st ru tt u ra d i o gn i
d ive r so T yp e M e ssage p e r an alizz are in d e tt aglio u n a co mun icaz ion e con il
p r o to co llo M QT T .
Il p r o ssim o cap ito lo si o ccu p a app un t o d e lla st rut tu ra d e i vari T yp e M e ssage .

16
4-Struttura dei messaggi MQTT

Le im m a gin i ed i con t en ut i d i qu e sto cap it o lo son o st at i p re si d alla


d o cu m en t az ion e d e llo St an d ard M QT T v3 .1 .1 [ 2 .b ]

La f o r ma gen e rale de i p acch et t i è d ata d a :

Figura 18-Struttura Generale Type Message

FIXED HEADER :

Figura 19-Struttura Fixed Header

17
M QT T Con t ro l P acket ind ica con un valore d a 0 a 15 il t ip o di p acch et t o ch e
st ia m o u sa nd o :

Figura 20-Valori Control Packet

18
I b it d i f la g in ve ce , co me ind icat o i n f igu ra, varian o a se co nd a de l p acch e tt o
ch e st ia mo u san do

Figura 21-Valori Bit di Flag

D a l se con d o b yte in p o i il Fixe d He ad e r in d ica la Re main in g Le n gth , o vve ro la


lu n ghe zz a in Byt e ch e riman e d e l p acche t to , in clu si i d ati de l V ariab le He ad e r e
d e l Pa ylo a d (la Re main in g Le n gth n on in clu d e se st e ssa). È co d if icat a u san d o
u n o sch e m a a lun ghe z z a variab ile che sfru tt a u n b yt e p er valo ri f in o a 12 7 . I
va lo r i m a ggio ri so no co sì co d if icat i: i 7 b it men o sign if icat ivi d i o gn i b yt e
co d if ica no il valo re , me nt re il b it p iù sign if icat ivo se gn ala se ci so no b yt e
se gu e nt i. Qu in d i o gn i sin golo b yt e cod if ica 1 28 valo ri p iù un b it d i con t in u it à . Il
m a ssim o nu me ro d i b yt e n e lla Re main ing Le n gth è 4 .
19
Figura 22-Gestione dei Valori Remaining Length

V A RIA BLE HE AD E R:

Il co n t en ut o d e l V ariab le He ad e r varia a se co n d a de l t ip o d i p acch e tt o che


st ia m o u sa nd o , in se gu it o lo an aliz z eremo p er o gn i sin go lo caso . N e i p acch et t i
P UBLIS H ( se Qo S> 0 ), P UBACK, P UBRE C, P UBRE L, P UBC OM P , SUBSCRI BE ,
S UBA CK, UN SUBSCRI BE e UN SUBACK n el V ariab le He ad er risie d e u n Nu me ro d i
Id e n tif ica z io n e d e i P acch e tt i ( P acke t Id e nt if ier ).

N e i ca si d i SUBSCRIBE , UN SUBSCRIBE e P UBLISH ( se Qo S> 0 ), o gn i vo lt a che il


Clie n t , in via u n o d i q u e st i tip i d i p acch et t o d e ve asse gn argli u n nu me ro n on
u sa t o d i P a cke t Id e nt if ie r ( e sclu sivamen t e d ive rso d a ze ro ). Se ri - in via un
p a r t ico la re t ip o d i pacch e t t o, il P acke t Id e nt if ier asse gnat o p o t rà e sse re
r iu t iliz z at o so lament e q u an d o il Clien t rice ve rà d a p art e d e l S e rve r u n a
co n f e r m a d i avve nut a ricez io ne de l p acch e t to , alt rimen t i è co st re tt o ad u sa r e il
n u m e ro d i ide nt if icaz io ne se gue nt e . Lo st e sso vale se il p rimo ad in viare è il
S e r ve r .

I p a cch e tt i P UBACK, P UBRE C e P UBRE L de vo n o con te n e re il P acke t Id en t if ie r


r e la t ivo a l P UBLISH ad e sso asso ciat o . Lo st e sso vale SUBACK e UN SUBACK.
Qu e st o con ce tt o sarà ch iarito me glio in se gu it o , qu and o p arle re mo d i Qualit à
d e l S er viz io .

Il S e r ve r ed il Clie nt asse gn ano Packe t Id e nt if ier ind ipe nd en t e me nt e l’u n o


d a ll’a lt ro , p u ò su cce d e re ch e lo st e sso n u me ro viaggi in d ue co mun icaz ion i
d ive r se

20
Figura 23-Esempio di Assegnazione dello stesso Packet Identifier in due comunicazioni diverse

P A Y LOA D :

il P a ylo ad è la p art e f in ale d i u n p acch et t o e d è p re sen te s olo n e i CON N E CT ,


S UBS CRI BE , SUBACK e UN SUBSCRIBE . N ei P UBLISH è l’App licat io n M e ssage ed è
f a co lt at ivo .

21
T I PI DI PA C CHET TO MQ T T ( CO NT RO L PA CK E T T YPE S )

CON N E CT :

a p p en a vien e st ab ilit a la co n ne ssio n e de l N et wo rk il p rimo me ssaggio in viat o


d a l Clie nt verso il Se rve r de ve e ssere d i t ipo CON NE CT . Il Clie n t pu ò in viare il
m e ssa ggio CON N E CT su lla re t e e sclu sivame n te un a vo lt a, il Se rve r in t e rp ret a u n
se co n d o CON N E CT co me un a vio laz ion e d i p ro to co llo e d isco n n et te il Clie nt .

La F ixe d He ad e r d e l CON N E CT h a la cla ssica f o rma:

Figura 24-Fixed Header Connect

La Re m a in in g Len gth co nt ien e il valo re 1 0 Byt e d o vut o al Variab le He ad e r p iù il


va lo r e in Byt e d e l Paylo ad

La V a r iab le He ad e r co n t ien e q u e st i camp i:

P r o t o col N ame - 6 Byt e , in d ica il no me de l p ro t o co llo , M QT T scrit t o in UT F -8

P r o t o col Le ve l - 1 Byte , ind ica il live llo d i re visio ne de l p ro toco llo , n el caso d e l
3 .1 .1 è 4

Co n n e ct F la gs - 1 Byte , co nt ie ne un n u me ro di p aramet ri relat ivi al


co m p o r ta m e nt o d e lla co n ne ssio n e e alla
p r e se nz a d i alcu n i camp i d e l P aylo ad

22
Figura 25-Parametri Connect Flags

Cle a n S e ssion = se 0 il Se rver de ve rip ren d e re la Se ssio ne co n il Clie nt


a sso cia t o ( graz ie al Clie n t Id en t if ie r ). S e la Se ssio n e n on esist e de ve cre arn e
u n a . D o po e sse rsi d isco n n e ssi, il Clie nt e il Serve r, d e vo no salvare la Se ssio n e .
D o p o la d isco nn e ssio n e d i u n a Se ssio ne il Se rver de ve salvare p rima i me ssa ggi
co n qu a lità Qo S1 e Qo s2 ch e co rrisp ond o n o ad un a sot to scr iz io ne ch e il Clien t
a ve va a l m o me nt o de lla ch iu su ra. P o t reb b e su cce d e ch e salvi an ch e i Qo S0 ch e
a p p a rt e n go n o allo st e sso crit e rio

se 1 il Clien t e il Se rve r d e vo n o abb and o n are Se ssion e p re ce d e nt e e in iz ia rne


u n a n uo va

Will F la g = 1 se vie ne acce tt at a la rich iest a di co nn e ssion e allo ra il Will M e ssa ge


d e ve e sser e salvat o su l Se rve r e asso ciat o alla co nn e ssio ne del
n e t wo r k. Il Will Me ssage d e ve e sse re pu bb licat o q u an d o la co nn e ssion e d el
n e t wo r k è su cce ssivame n te ch iu sa, salvo ch e il Wi ll Me ssage sia st at o can ce llato
d a l Se r ve r do p o aver rice vut o un p acche t to D ISCON N E CT . Will Qo S e Will Re t ain
sa r a n n o u sati d al Serve r e d i camp i Will T o p ic e Will Me ssage so n o p re sen t i n el
P a ylo a d

S e 0 Will Qo S e Will Re t ain de vo no vale re 0 e Will T op ic e Will M e ssage no n son o


p r e se nt i ne l P ayload . Il Will Me ssage n o n sarà p ub b licat o alla f in e d e lla
co n n e ssion e . Il Will Qo S p ot rà valere so lo 0

Will Qo S = se Will Flag vale 1 pu ò e sse re 0 1 2 ( n o 3 )

Will Re t a in = se 0 il Se rve r de ve p ub b licare Will M e ssage come me ssaggio n on


m a n t en ut o , se 1 il Will M e ssage è mant e nu t o

P a sswo r d F lag = se 0 la P asswo rd n o n è p re sen te ne l P aylo ad , se 1 è p re se nt e

23
Use r N a m e Flag = se 0 l’Use r N ame no n è p re se nt e n e l P aylo ad e P asswo rd F la g
d e ve e sser e 0 . Se 1 n e l Paylo ad è p re s en t e il campo Use r Name

Ke e p A live - 2 Byt e , è il te mp o e spre sso in se co nd i che in t e rco rre t ra il mo men to


in cu i il Clie nt f in isce la t rasmissio ne d i u n Con t ro l P acke t e l’in iz io de ll’in vio
d e l p r o ssim o

P a ylo a d :

co n t ien e u n o o p iù camp i p re f issat i, la lo ro p re sen z a è le gat a al valo re d e i f la g


n e l V ar ia b le He ade r. I camp i, in o rd ine d i app ariz io ne son o :

Clie n t Id e nt if ie r, h a la d imen sio ne d i una st rin ga co d if icat a UT F - 8 , id e nt if ica il


Clie n t al S e rver. Ogn i Clie nt con n e sso ha u n un ico Ide nt if ier

Will T op ic , p re se nt e se Will Flag è imp ost at o a 1 , è grand e co me un a strin ga


UT F - 8

Will M e ssa ge , p re sen t e se il Will Flag vale 1 , d ef in isce il messaggio d i


a p p lica z io n e ( App licat io n M e ssage ) pub b licato dal Will T op ic. La su a
d im e n sio n e è d at a da 2 Byt e , d o ve è in d icat a la lu n gh e zz a de l me ssaggio ch e
se gu e , so mmat i ai Byt e de l me ssaggio ve ro e p ro p rio

Use r N a m e , ab ilit ato d a Use r N ame Flag= 1 è u n a st rin ga UT F - 8 u sat a d al Se r ver


p e r l’au te nt icaz ion e e la aut o riz z az io ne

P a sswo r d , co lle gat a all’Use r N am e o ccup a 2 Byt e , in cu i è esp re ssa la lu n gh ez z a


d e lla p a sswo rd , so mmat i ai Byt e d e lla passwo rd st e ssa

24
CON N A CK:

il CON N A CK è il p acch e t to in viat o d al Se rve r in rispo st a al p acch e tt o CONN E CT.


Il p r im o p a cch et to in viat o d al Se rve r D EV E e sse re un CON NACK.

F ixe d He a de r:

la F ixe d He ad e r si pre se n ta ne lla f o rma classica co n un a Remain in g Le n gt h d i


va lo r e 2 .

V a r ia b le He ad er:

S P S e ssion P re se nt = se il Se rve r acce t ta u n a co nn e ssion e co n Cle an Se ssion


se t t at o a 1 , il Server d e ve impo st are a 0 sia SP ch e il Ret u rn Co d e .

S e l a con n e ssion e acce t t at a h a Cle an Sessio n u gu ale a 0 allo ra il valo re d i SP


d ip en d e d a l f at to che il Serve r ab b ia già salvat o u na Se ssione d i u n Clie nt ID
già p r e sen te , se la Se ssio n e e ra st at a già st ata salvata allo ra SP sarà 1 ,
a lt r im en t i 0 . Il Ret urn Co d e sarà se mp re 0 .

Re t u r n Co de = n e l caso d i u na co nn e ssio n e accet t at a avrà valo re 0 alt rimen t i


a ssu m e r à i valo ri come ind icat o n e lla tab e lla se gu e nt e

25
Figura 26-Struttura Variable Header Connack e Return Code

P a ylo a d :

il ca m p o P a ylo ad non è p re sen te in qu est o t ip o d i p acch et to

P UBLIS H:

q u e st o è il p acch e tto ch e t rasp o rta l’ Ap p licat io n M e ssage

F ixe d He a de r:

n e lla F ixed He ad e r assu mo n o mo lt a imp o rt an z a i b it 3 2 1 0 d e l p rimo Byt e , la


Re m a in in g Le n gt h no n h a u n valo re f issat o , ma d ip en d e d al co n te n ut o d e l

26
p a cch e tt o

Figura 27-Fixed Header Publish

D UP D u p licat e D e live ry o f a P UBLISH Con t ro l P acke t = se 0 sign if ica che è la


p r im a o cca sion e si pro va ad in via re un me ssaggio d i qu e st o t ipo , alt rimen t i
va le 1

Qo s Le ve l = in dica il live llo d i q u alit à p er il t rasp o rt o d e ll’Ap p licat io n M e ssa ge

Figura 28-Bit Livelli di Qualità

Re t a in = se u gu ale ad 1 il Se rve r ( o il Clie n t se il P UBLISH è in viat o d al Se rve r )


d e ve sa lva r e l’Ap p licat io n M e ssage e la su a Qu alit à in mod o ch e p o ssan o e sse re
t r a sm e ssi a i fu tu ri su b scrib ers. Se il Se rve r in via u n p acch ett o d i q u e st o t ipo a d
u n Clien t , Re t ain d eve vale re 1 se il me ssaggio è in viat o come risu lt ato d i un a
n u o va so tt o scriz ione f at t a d al Clie nt , me n t re de ve vale re 0 se co rrisp on de ad
u n a so tt o scriz ion e già st abilit a

27
V a r ia b le He ad er:

co n t ien e i se gu en t i camp i, T op ic Name e P acke t Id e nt if ie r. Il T o p ic N ame ind ica


l’a r go m e nt o ch e rigu ard a i d at i d e l P aylo ad , me nt re il P acke t ID è p re sen te s o lo
in p a cche tt i co n QoS d ive rso d a 0 , vist o ch e q u e st i casi co mp o rt an o u n rit o r no
d i d at i ver so ch i h a in viat o il p acch e tt o . N e lla t ab e lla è in d icat o un e se mp io d i
V a r ia b le He ad er de l P UBLISH

Figura 29-Esempio di Variable Header Publish

P a ylo a d :

è qu i ch e r isied e l'Ap p licat io n M e ssage . N on è co n side rat a u n a vio laz ion e d i


p r o to co llo in viare un P UBLISH co n P aylo ad con t en en t e z ero Byt e

28
P UBA CK:

q u e st o p a cch e tt o è la risp o st a che ci si asp e tt a d a u n d a u n P UBLISH co n Qo S = 1


( co n se gn at o alme no un a vo lt a ).

F ixe d He a de r:

id e nt ico a lla fo rma classica co n Re mainin g Le n gt h d i valo re 2

V a r ia b le He ad er:

è d i 2 Byt e e con t ien e il P acke t Id e nt if ie r d el p acche tt o d i cu i d ob b iamo


co n f e r m ar e l’arrivo

P a ylo a d :

n o n p r e se n te

Figura 30-Esempio di Comunicazione Client-Server con QoS1

P UBRE C P u b lish Re ce ive d


P UBRE L P u b lish Re lease
P UBCOM P P ub lish Co mp let e :
q u e st i tr e p acch e tt i co mp on go no in sieme al P UBLISH u n scamb io co mp let o d i
Qo s2 . S u b it o d op o la rice z ion e d i u n P UBLISH il d e st in at ario in via u n P UBRE C

29
co n t en e te il P acke t Id e n tif ie r d el p acche t to int e re ssat o , che qu and o vien e
r ice vu t o a b ilit a il mit t en t e all’in vio d i un P UBRE C. Lo scambio si co n clu d e co n
u n P UBCOM P rice vut o d al mit te nt e .

Figura 31-Esempio di Comunicazione Client-Server con Qos2

F ixe d He a de r:

il p r im o Byt e camb ia co n il t ip o d i p acch e tt o , la Re main in g Le n gth è se mp re


u gu a le a 2

V a r ia b le He ad er:

co m p o st a d a 2 Byt e co n t en e nt i il P acke t Id e nt if ie r d e l p acche t to in qu e st io n e

P a ylo a d :

n o n p r e se n te

S UBS CRI BE :

in via t o d a l Clie nt al Se rve r pe r cr e are un a o p iù sot t o scriz io n i. Ogn i


so t t o scr iz io ne re gist ra l’in t e re sse d i u n Clie n t ve rso u no o p iù T o p ics. Il Se rve r
in vie r à i p a cch et t i PUBLISH ad o gn i Clien t ch e co rrisp o nd e alle so tt o scriz io n i.
N e l S UBS CRIBE è anch e sp e cif icat a la qu alit à massima con cu i il Serve r d e ve
in via r e gli App licat io n M e ssage s al Clien t .

30
F ix e d He a de r:

r e la t ivo a l p acch e tto co n u n a Re main ing Le n gth d i 2 Byt e , p e r la V ariab le


He a d e r , sommat i alla lu n gh ez z a d e l P aylo ad

V a r ia b le He ad er:

co n t ien e il P acke t Id e nt if ier

P a ylo a d :

q u i si t ro va n o un a list a d i f ilt ri T o p ic (co d if icat i in UT F -8 ) ch e in d icano i var i


T o p ics ch e il Clien t vu o le sot to scrive re e un b yt e che in d ica la Qu alit à con cu i
f a r lo . D e ve con te n ere almen o u n f ilt ro , alt rimen t i u n P aylo ad vu ot o è visto
co m e un a vio laz ion e d i p rot o co llo .

Qu i so tt o è in d icato l’e se mp io d e lla so tt o sc riz ion e d e i se gue n t i T op ics

Figura 32-Esempio di Sottoscrizione ai Topics

31
E d e cco co me vien e co d if icato il P aylo ad

Figura 33-Esempio di Codifica di un Payload del Pacchetto Subscribe

I b it d a l 7 a l 2 d e l Re q u e st e d Qo S Byt e so n o f issat i a 0 p erch é n o n u sat i in


q u e st a ve r sion e d e l p ro to co llo e rise rvat i pe r u si fu tu ri

S UBA CK:

Qu a n d o il Se rve r rice ve un pacch e tt o SUBSCRI BE d e ve rispo n d ere con un


S UBA CK ch e abb ia lo st e sso P acke t Id en t ifie r d e l S UBSCRIBE d i cu i vo glio
co n f e r m a . Al Serve r è pe rme sso l’in vio d i p acche tt i P UBLISH ch e co rrisp o nd o no
a lla so tt o scriz io n e an ch e p rima an ch e prima d i in viare un SUBACK. La rice z io ne
d a p ar t e d el Se rver d i f ilt ri T op ic già sot t o scrit t i comp o rt a il rimp iaz zo d e lla
ve cch ia so tt o scriz ion e con la n uo va, i f ilt ri To p ic saran no ide n t ici ma po t rà

32
ca m b ia r e a l massimo la q u alit à. Il SUBACK co n t ien e n e l P aylo ad u n co d ice d i
r it o rn o ( Ret u rn Code ) p er o gn i filt ro p re se n te ne l SUBSCRIBE n e l q u ale . Il
S e r ve r po t re bb e gara n t ire un a Qualit à in f e rio re a qu e lla rich ie st a.

F ixe d He a de r:

d i fo r m a to st and ard co n Re main in g Le ngt h in d ican t e la lu ngh e zz a d e lla V aria ble


He a d e r (2 Byt e ) p iù la lun ghe z za de l p aylo ad

V a r ia b le He ad er:

co n t ien e il P acke t Id e nt if ier de l SUBSCRIBE ch e vo g lio con fe rmare

P a ylo a d :

co n t ien e u n a list a di Re t u rn Cod e s che co rrisp o nd on o alla co n f e rma de i filt r i


T o p ics. L’o rd in e d ei Re t u rn Co de s d e ve risp e tt are q ue llo d e i T o p ic Filt e rs n e l
p a cch e tt o S UBSCRIBE . I co d ici o lt re a con f e rmare il su cce sso d e i f ilt ri in d ican o
co n qu a le Qu alit à so n o st at i acce tt at i

Figura 34-Payload Suback

I co d ici d iversi d a qu e st i so n o rise rvat i e N ON D EV ON O e sse re u sat i

UN S UBS CRIBE :

in via t o so lo d al Clien t q u an do vu ole cance llare un To p ic. D uale al SUBSCRIB E ,


n e p r e se nt a la ste ssa f o rma camb ian do so lt ant o :

33
- il p r im o Byt e d e lla Fixe d He ad e r
- i Byt e Re qu e st ed Qo S n e l P aylo ad non so no p re sen t i
UN S UBA CK:
d i co n se gu en z a d uale al SUBACK, ind ica la co n fe rma d i u n UN SUBSCRIBE . Se il
S e r ve r ca n ce lla un a So t to scriz i on e , d e ve f e rmare i nu o vi messaggi d i co n se gn a
a l Clie nt e co mp let are la con se gn a d i me ssaggi Qo s> 0 ch e ave va già in iz iat o a
in via r e . Il Se rve r d eve risp on d ere con UN SUBACK an ch e ad u n UN SUBSCRIBE
ch e no n can ce lla n essu n To p ic. Al co n trario de l SUBACK p re se n t a u n P aylo ad
vu o t o .

P IN GRE Q P in g Re q ue st :

è in viat o d a l Clien t al Se rve r e p u ò e ssere u sat o p e r:

- a vve r t ir e il Se rve r ch e il Clien t è vivo , q u and o n on è n e ce ssario l’in vio d i altr i


p a cch e tt i
- r ich ie de r e con fe rma ch e il Se rve r è vivo
- ve r if ica r e ch e l a con n e ssion e d i re t e sia viva

F ixe d He a de r:

Figura 35-Fixed Header Pingreq

V a r ia b le He ad er e Paylo ad :

n o n p r e se n ti

34
P IN GRE S P Pin g Re spo n se :

in via t o d a l Se rve r al Clie n t in risp o st a ad un P IN RE Q, ind ica ch e il Se rve r è vivo

F ixe d He a de r:

Figura 36-Fixed Header Pingresp

V a r ia b le He ad er e Paylo ad :

n on pr e se nt i

D IS CON N E CT :

è il Con t r o l P acke t fin ale in viato d al Clie n t al Serve r. Ind ica ch e il Clie nt si è
d isco n ne sso co rret tame n te . Do p o il suo in vio il Clie nt d e ve :

- ch iud e r e la Ne t wo rk Co n n e ct io n
- n on in viar e p iù p acch e t t i su q ue lla N etwo rk Co n n e ct ion

Il S e r ve r d e ve :

- e lim in ar e o gn i Will M e ssage asso ciat o a q ue lla con n e ssione se nz a p ub b lica r lo


( ve d i pa r t e re lat iva al Will Flag )

35
F ixe d He a de r:

Figura 37-Fixed Header Disconnect

V a r ia b le He ad er e Paylo ad :

n o n p r e se n ti

36
E S E M P I D I F LUSSO DI M E SSAGGI PE R LIVE LLI D I QUALIT A’ [ 17.a] :

Figura 38-Qos 0 At most once delivery

Figura 39-QoS 1 At least once delivery

37
Figura 40-QoS 2 Exactly once delivery

38
5-Comunicazione tra dispositivi mediante Protocollo MQTT e
relativa analisi dei pacchetti

Or a p o ssia mo p ro ced e re con la cre azio ne d i u na co mun icaz io n e co n p rot o co llo


M QT T t r a u n p c ed u n t ab le t e d an aliz zarn e il co nt e nu to dei p ac ch et t i.
P e r p r o ce de re ci se rve in nan zi tu tt o u n b ro ke r, f o rt u nat amen t e so n o a n o str a
d isp o siz io ne de i b roke r grat u it i d ispo n ib ili in ret e e d in st allab ili sul no st ro p c,
d o p o a lcun e p ro ve la n o st ra sce lt a è cad u ta su M o sq u it t o, u n Hub Op e n So ur ce
ch e im p le m en t a la ve rsio n e v3 .1 e v3 .1 .1 d e l p ro t o co llo M QT T .

Figura 41-Mosquitto Logo [18.a]

P o i da l lat o d e l t ab le t ab b iamo u sat o l’ap p licaz io n e gratu ita M yM QT T pe r


An d r o id ch e è in grad o d i fo rn irci un a con so le d a re mo to in cu i so tt o scrive re
t o p ic, p ub b licare me ssaggi e stab ilire un a co nn e ssion e con e ve n tu ali Bro ke r sia
a ll’in t er n o d e lla no st ra ret e p rivat a che all’e st e rn o .

39
Figura 42-MyMQTT App Logo [19.a]

In f in e su lla no st ra macch in a è n e ce ssario un an alizz ato re d i p ro to co llo , t rat t asi


d i un sof t ware in grad o d i le ggere t ut t o il traff ico dat i p assan t e in e nt ramb e le
d ir e z io n i su lla re te d e l n o st ro co mp ut er. Ab b iamo sce lt o Wire sh ar k un
p r o gr a m m a mo lt o po t e nt e ch e ci p e rmet t e d i su dd ivid ere il t raff ico p e r
p r o to co lli d ive rsi e d i analizz are la strut t ura d i un p acch e tto f in o al sin go lo
b yt e .

Figura 43-Wireshark Logo [20.a]

40
Ad e sso che è tu tt o in st allat o p o s siamo co min ciare . Già all’avvio d e lla n o st ra
m a cch in a Lin u x, il Bro ke r M o sq u it to dovre b b e att ivarsi in au t o mat ico , p e r
ve r if ica r e ch e sia così lan ciamo il co mand o n et st a t - a n ch e ci p e rme tt e d i
ve r if ica r e lo stat o de lle co nn e ssion i su l co mp u te r. Se ve d iamo ch e la p o rta
1 8 8 3 , ch e è q u e lla st and ard p e r il t raf f ico M QT T , è in stat o d i LIST EN allora
M o squ itt o f un z ion a

Figura 44-Esecuzione comando netstat -an

Gr a z ie a l co mand o base d e l b ro ke r mo squ i t to _ su b p o ssiamo so t t o scrive re un


d is p o sit ivo ad un t op ic, n e l no st ro caso p e r e vid e nz iare l’imp o rt an z a d i avar e
t o p ics d ive r si cree re mo du e f in e st re termin ale co n d u e to pics d if fe ren t i in
m o d o d a simu lare du e d isp o sit ivi su lla st e ssa ret e ma con d ive rse
so t t o scr iz io n i.
I co m a n d i mo sq u i tto _ su b -d -t to p i csu b1 e mo sq ui t to _ su b -d - t t op i csu b 2
in d ica no r ispe tt ivame n te la so tt o scriz io n e al t op i c su b 1 e to p i csu b 2 d e i du e
d e vice s. Il to p ic va in se rito do p o - t ment re - d in d ica ch e vogliamo ab ilit are il
d e bu g de i me ssaggi

41
Figura 45-Sottoscrizione da PC a topicsub1 e topicsub2

D a l lat o d e l t able t ef f et tu iamo la con n essio n e al b ro ke r in se re nd o l’in d iriz zo IP


d i do ve si t ro va, in q u e st o caso q ue llo d e l n o st ro co mp ut er

42
Figura 46-Connessione al Broker da Tablet

A co n ne ssio n e st ab ilit a in viamo d al t ab le t il me ssaggio p ri mo i n vi o d a t a bl et a


p c a ll’a r go men to top i csu b 1

Figura 47-Esecuzione di un Publish dall'Apllicazione

E n ot ia m o ch e rice ve rà il me ssaggio so lame n te il t e r min ale so t t o scrit t o a


t o p i csu b 1
43
Figura 48-Ricezione di un messaggio inerente a topicsub1

Gr a z ie a ll’a n aliz z at ore d i p ro t o co llo è po ssib ile ved e re ch e il co n te nu t o d e l


m e ssa ggio Pu b lish risp e cch ia la co n fo rmaz io ne re lat iva allo st an d ard M QT T e
so p r a tt ut to la z on a in cu i si t ro va il me ssaggio d a t rasp o rtare e la su a
lu n ghe zz a in b yt e

44
Figura 49-Struttura del primo messaggio Publish analizzata con Wireshark

45
Rip e t ia m o la co sa pe r il se con do to p ic

Figura 50-Esecuzione del secondo Publish dall'Applicazione

Figura 51-Ricezione del Messaggio inerente a topicsub2


46
Figura 52-Struttura del secondo messaggio Publish analizzata con Wireshark

P r o ce d ia mo co n la ve rif ica con t raria, que st a vo lt a sarà il t ab le t a sot to scrive r si


a u n to p ic ch iamat o p ro va p ub

Figura 53-Sottoscrizione a un topic lato tablet

47
E il p c pu b b lich e rà graz ie al co man d o
mo sq u i t t o _p u b - d - t p ro va p ub - m i n vi o _p c_ t a b l et
il m e ssa ggio i n vio _ pc_ t a b l et al t op ic p ro va p u b

Figura 54-Invio di un Publish da PC a tablet

ve d ia m o ch e l’ap p licaz io n e su l t ab le t ha rice vu to il me ssaggio

Figura 55-Ricezione del messaggio sul tablet

48
E r e lat iva a nalisi de i p acch et t i

Figura 56-Struttura del pacchetto Subscribe analizzata con Wireshark

49
Figura 57-Struttura del pacchetto Suback analizzata con Wireshark

50
Figura 58-Struttura del pacchetto Publish da PC a tablet analizzata con Wireshark

In co n clu sion e , p e r co mp le te zz a rip o rt iamo an ch e l’an alisi d e i p acch e tt i


P in gr eq , P in gre sp e D isco n ne ct , ved iamo co me il co nt e nu to risp et t a al l a
p e r fe z ion e lo st andard

51
Figura 59-Struttura del pacchetto Pingreq analizzata con Wireshark

52
Figura 60-Struttura del pacchetto Pingresp analizzata con Wireshark

53
Figura 61-Struttura del pacchetto Disconnect analizzata con Wireshark

54
D a no t a re du ran t e l’an alisi d i pro to co llo ch e i du e in d iriz z i IP ch e si scamb ian o
co n t inu a m en te il camp o d i Sou rce e De st in at io n , so no 19 2 .16 8 .1 .7 0 ch e co me
in d ica to a l mo men to d e lle con n e ssion e ad u n Bro ke r d a t ab le t è l’in d irizz o d e l
n o st r o p c e 19 2 .1 68.1 .6 8 ch e è l’in d irizzo IP d e l t ab le t

Figura 62-Indirizzo IP del tablet

55
6-Soluzioni Preconfigurate per Dispositivi IoT
A sco p o d i r ice rca so n o st ate an aliz z ate alcu n e p iat t af o rme sp e cif ich e , f orn it e
d a lle p r in cip ali az ien d e d e l se tt o re , de dicat e alla co nn e ssion e d i d isp o sit ivi
n e ll ’a mb it o d e ll’In te rn et of Th in gs in un amb ie nt e p re con f igu rat o . All ’int e rn o
d i e sse si t ro van o gli Hu b p en sat i p e r la co n n e ssion e d e i d isp o sit ivi, n e
r ip o rt ia m o le carat te rist ich e d e i du e p iù co mun i.

M icr o so ft A Z URE [ 3 .b ] :

l’Hu b Io T d i Azu re su p po rt a in mo do n at ivo la co mun icaz ion e t ra i p rot o co lli


AM QP , M QT T e HT TP / 1 ; n e l caso d i prot o co lli n o n sup p o rt at i è p re se n te u n
ga t e wa y p e r son aliz zab ile . Pe r q u an t o rigu ard a l’imp le me ntaz io ne de l
p r o to co llo M QT T v3.1 .1 n ot iamo :

- Qo S 2 n on è su pp o rt at o . Qu and o u n Clie n t in via u n P UBLISH co n Qo S 2 , l’Hub


Io T ch iud e la co nn essio n e d i ret e . Quand o u n Clien t in via un SUBSCRIBE co n
Qo S 2 , l’Hub IoT co nce d e il live llo Qo S 1 massimo n e l p acche t to SUBACK

- n on sup p ort a Re t ain e d M e ssage , se u n Clie n t p ub b lica u n me ssaggio co n


Re t a in Fla g u gu ale a 1 il Bro ke r no n re nd e p e rsist en te il messaggio d i
m a n t en im en t o (se si u t ilizz a l’ap p licaz io n e b ack - e nd d isp on ib ile in Azu re allo ra
il m e ssa ggio le viene p assat o )

- e sist on o già d isp o nib ili pe r i d isp o sit ivi Clie n t , d e gli SD K (So f t ware
D e ve lop m e nt Kit ) che su pp o rt ano il p roto co llo M QTT . Qu e st i SD K p e r
im p o st az ion e p red ef in it a si con n et to n o a un Hub con il f lag Cle a n Se ssio n
u gu a le a 0 e u n a QoS 1 p e r lo s camb io di me ssaggi co n il Bro ke r

56
AWS Io T [4 .b ] :

è la p ia tt a fo rma p e r Io T d i Amaz on Web Se rvice , t ra i su o i vari co mp on en t i


t r o via m o il M e ssage Bro ke r co n le caratt e rist ich e e le n cate d i se gu it o . Su pp o rt a
l’u so d e l p r ot o co llo M QT T p e r e se gu ire P UBLISH e SUBSCRIB E , l’u so d e l HT T P S
p e r il P UBLISH e il pro t o co llo M QTT su We b So cke t . Con ce nt rand o ci so lo su l
p r o to co llo M QT T , ch e è qu e llo ch e ci int e re ssa maggio rment e n o t iamo q u e st e
sp e cif ich e:

- Qo S 0 sign if ica ch e il m e ssaggio sarà inviat o 0 o p iù vo lte (in ve ce d i al


m a ssim o 1 ). Il me ssaggio p ot reb b e e ssere in viat o p iù d i un a vo lt a, in q ue st o
ca so p ot r e bb e ave re u n P acke t ID d iff e re n t e e d i con se gue nz a il D UP ( D up lica t e
D e live r y of a P UBLISH ) n o n att ivo .

- n on sup p ort a P UBLISH e SUBSCRIBE co n Qo S 2 e d i con se gu e nz a n o n in via


P UBA CK o S UBACK qu an do richie st a

- q u an do si risp on d e ad u n a rich ie st a d i co n n e ssion e con u n CON N ACK, il f lag


ch e ind ica di rip re nd e re u n a se ssion e pre ce d e nt e , p ot reb be ave re u n valo re
sb a glia t o se d u e Clie n t si co nn et t on o co n lo st e sso ID co n te mp o ran e amen te

- d op o u n S UBSCRIBE p uò e sse rci rit ard o t ra il mo men to in cu i il Bro ke r in via u n


S UBA CK e il mo me nto ch e il Clie nt in iz ia a rice ve re nu o vi messaggi

- n on sup p ort a Re t ain e d M e ssage , se ven go n o rich ie s t i, la co n n e ssion e si ch iu de

- q u an do un Clien t si co n ne tt e al Bro ke r co n un ID già in u so d a un alt ro Clie nt ,


vie n e in via t o un CON N ACK ad en t ramb i e d il Clie nt al mo men t o co n ne sso ve r rà
d isco n ne sso

- n on sup p ort a se ssio n i p e rsiste nt i, se il Clie n t in via un me ssaggio co n Cle an


S e ssio n u gu ale a 0 , il Clie n t ve rrà d isco nn e sso

- in ra r e o ccasio n i il Bro ke r p ot re bb e rinviare lo st e sso P UBLISH co n un d ive r so


ID p a cke t

- il Br o ke r n o n garant isce l’o rd in e in cu i me ssaggi e ACK so no rice vut i

57
7-Confronto tra MQTT e HTTP

V e r if ich ia m o se ve rame n te la sp e sa in Byt e è in f e rio re mo st rand o q u i so tt o


l’in vio d e l me ssaggio He llo Wo rld con ent ramb i i P ro to co lli e co n sid erand o p e r
e n t r am b i i casi, an ch e d e ll’in vio d i alcun i se gmen t i n on re lat ivi allo st rat o
Ap p lica tivo ma n e ces sari p e r la Con n e ssio n e d i Ret e

HT T P , co n met o do Po st :

in qu e sta a nalisi ci h a aiu t at o l’u so d e ll’an alizz ato re d i p roto co lli Wire Sh ark e
il se gu en t e d iagramma alla p agin a[ 5 .b]

Figura 63-Three Ways Handshake

Qu e st i p r im i t re mes saggi so n o f on d ame n t ali p er ap rire u na co n ne ssio n e T CP e


ve n go n o ch iamat i Th re e Ways Han d sh ake , o ccu p ano in to tale 2 18 Byt e
(7 8 + 7 4 +6 6 )

58
Figura 64-Invio del Messaggio HelloWorld con metodo di richiesta Post

Ad e sso vien e in viato i l me ssaggio He lloWo rld che vale 1 0 Byt e co me si pu ò


ve d e r e n e lla case lla Co n te n t – Le n gt h . A q ue st i b yt e aggiun giamo u n He ad e r
h t tp p e r il me ssaggio P o st di 55 5 Byt e , p iù 6 6 Byt e d i He ade r d e gli st rat i
in f e r io r i. In t ot ale ab b iamo qu ind i 63 1 Byt e

Figura 65-Conferma di avvenuta ricezione

D u e m e ssa ggi d i co nf e rma, il primo a live llo T CP d i 6 6 Byt e e d il se co nd o h tt p


d i 77 6 Byt e (3 6 0 Head e r 4 1 6 Co nt e nt - Len gt h )

Figura 66-Conferma TCP del Client

Un a co nf e r ma T CP da p art e d e l Clien t , 66 Byt e

59
Figura 67-Scambio di messaggi Client-Server per chiusura connessione TCP

E d in f in e la ch iu su ra d e lla co nn e ssio ne T CP d i 4 me ssaggi da 6 6 = 26 4 Byt e

Il P r o to co llo HTT P Po st ha imp ie gato q uin d i 2 0 21 Byt e

60
M QT T :

co m e p a rt en z a p e r lo svilu pp o d i q ue st o st ud io ci siamo in izialme nt e


a p p o ggiat i ad u n vide o tro vat o in r et e [6.b ]

P e r l’an a lisi se gu e nte co n side riamo il caso in cu i il T op ic sia “ Samp le T op ic” , il


Clie n t ID o ccup i 23 Byt e e Qo S = 0

Figura 68-Three Ways Handshake

T h r e e Wa ys Hand shake d i ap e rt u ra T CP 2 1 8 Byt e

MQTT CONNECT ( 105 Byte

TCP (ACK) ( 66 Byte

MQTT CONNACK ( 70 Byte

TCP (ACK) ( 66 Byte

MQTT SUBSCRIBE ( 84 Byte

TCP (ACK) ( 66 Byte

MQTT SUBACK ( 71 Byte

TCP (ACK) ( 66 Byte

MQTT PUBLISH ( 91 Byte

TCP (ACK) ( 66 Byte

61
MQTT DISCONNECT ( 68 Byte

p o i u n a co mp let a comu n icaz io n e M QTT co n le risp et t ive con f e rme n e llo st rat o
T CP

Figura 69-Chiusura connessione TCP

E d in f in e la n e ce ssaria ch iu su ra d i con ne ssio n e T CP d i 26 4 Byt e

Il P r o to co llo M QT T h a imp ie gato qu ind i 1 3 01 Byt e

D IF F E RE N Z E RISCON T RAT E :

u sa n do il P rot o co llo M QT T , n on o st an te la q u an tit à d e i me ssaggi t rasme ssi sia


m a ggio r e , ab b iamo risp armiat o 72 0 Byte risp et to al P rot o co llo HT TP Po st , ciò è
d o vut o a lle rid o tt e d ime n sio n i d e l su o He ad e r. La n o st ra an alisi po i, si limit a
a ll’in vio d i u n sin go lo me ssaggio ap p licat ivo , q u ind i è f acile immagin are il
gu a d a gno ch e si p u ò o tt e ne re con u n n ume ro maggio re d i Ap p licat io n
M e ssa ge s.

62
8-Conclusioni
D o p o l’at t en t a an alisi e se gu it a in qu e sto scrit to , p o ssiamo af f e rmare con
ce r t e zz a che , al mome n to , il p rot o co llo M QT T rapp re sen t a u n ’ot t ima sce lt a se
u sa t o p e r imp le ment are co mu n icaz io ni M 2 M . Co me n o t at o n e l cap it o lo
p r e ce d en te il p rot oco llo M QT T è in grad o d i limit are il n ume ro d e i b yt e
t r a sm e ssi r isp e tt o al p rot o co llo HT T P , usat o con met od o P OST , in p iù
l’a r ch it et tu ra p ub lish / sub scrib e e le varie t ip o lo gie d i T yp e M e ssage son o in
gr a d o d i f o r nire alla co mu n icaz ion e u n a mo d u larit à rarament e ot te n ib ile con
u n ’a r ch it et tu ra richie st a/ risp o st a. Lo stu d io , p o i, d i un a comu n icaz io n e t ra
d isp o sit ivi Io T (Cap it o lo 4 ) h a f at to risalt are , o lt re ai p re gi d e tt i p rima,
l’im p o rt a nz a d i po t er ge st ire co n mo lt a se mp licit à l’in vio d i me ssaggi o n e- to -
m a n y. T ut t i risu lt at i ch e sp e ravamo d i ot t en e re al l’in iz io d ella T e si, so n o st at i
co n f e r m at i e in se riti in u n co nt e st o re ale graz ie al lavo ro d i an alisi e
p r o get t az io ne svo lto .

63
Bibliografia
[ 1 .a ] An d ro id ian i. htt p :/ / www.an d ro id ian i.co m/ n e ws/ st e ve -wo z n iak - e - la -
b u bb le -p ha se - de llint e rne t -o f- th in gs -2 43 1 9 5
[ 2 .a ] D igit a lic h tt p: // www.d igit alic.it / wp / te cn o lo gia/ int e rne t - of -t h in gs - en t r o-
i l - 2 0 18 - sa r a- p iu -d iffu sa - de gli - smart ph on e / 97 6 02
[ 3 .a ] S yste ms Int e grat io n ht tp :/ / www.s yst e msin te grat io n .it/ d o mot ica -h o me-
a u t o ma t ion - iot -b e llo - m a - co me - si-u sa - il- t e rmo st at o /
[ 4 .a ] S ga rt h tt p s:/ /www .sgart .it / IT / e let t ro/ ape rtu ra - cen cello - iot - co nt ro llat o -
via - wi - f i- e sp 8 26 6 /po st
[ 5 .a ] j if f yj o sep h ht tp : / / www.jif f yjo se ph.co m/ h o me/ h ackin g - a n -o rd in ary -
wa sh in g - m a ch in e -t o- io t- d e vice
[ 6 .a ] Te cn o lo gia3 6 0 h t tp :/ / te cn o lo gia3 60 .it / tikimo - scarp e- gp s/
[ 7 .a ] P e t P o in te r h ttp s: / / www.p e t po int er.ch / it /
[ 8 .a ] Th e High - Te ch So cie t y ht tp s: // th e high t e ch so ciet y.co m/in ge st ib le - me d ica l -
se n so r /
[ 9 .a ] Th e D iss h tt p :// t he d issnb a.co m/ 201 4 / 10 / 31 / e xch an ging - b lo od -f o r -
p r o f it s/
[ 1 0 .a ] E n e llakt iko s ht t p: / / www.e n allakt iko s.gr/ kg1 2 e l_ e n erge ia.h t ml
[ 1 1 .a ] S m a r t Cit ie s Wo rld h tt p s:/ / smartcit ie swo rld .n et /n e ws/ n e ws/ smart -
t r a ff ic - co u ld - save- 42 - b illio n -m a n -h ou rs- an nu ally - 65 3
[ 1 2 .a ] Lin ke d in h tt ps: / / www.lin ke d in .co m/ p u lse / wo rld - t omo rro w - n avee n -
n e llo r e
[ 1 3 .a ] In st ru ct ab le s h t tp :/ / www.in st ru ctab le s.co m/ ta g/ t yp e -
id / ?so r t= n on e &q = remo t e + mo n it o rin g
[ 1 4 .a ] Lin ke d in h tt ps: / / www.lin ke d in .co m/ p u lse / ho w - mqt t-b ase d - ib m- io tf -
u n ive r se - ch an ge - tomo rro w - ad it ya - o m
[ 1 5 .a ] In sight s Samsu n g h tt p s:/ / in sigh t s.samsu n g.co m/ 20 1 5/0 6 / 10 / se cu rin g -
t h e- int e r ne t - o f- th ings - risks - t o -b e ne f it s/ t he - risks - and - ad van t age s -o f- th e -
in t e rn et - of -t h in gs - io t /
[ 1 6 .a ] J a xe nt e r h tt ps: / / jaxe nt e r.d e / smart h o me - in - act io n -mit - op e nh ab - un d -
m q tt - 20 1 08

64
[ 1 7 .a ] P r o gramm in g wit h re aso n h tt p: / /p ro grammin gwit h reaso n .co m/ art icle -
m q tt - in- de p th .ht ml
[ 1 8 .a ] M o sq u it t o htt p s: // mo sq u it t o .o rg /
[ 1 9 .a ] Go o gle P la y
h t tp s: // p la y.go o gle .co m/ st o re/ app s/d e tails?id = at .t rip wire .mq tt .clie n t
[ 2 0 .a ] Wir e sh ark h ttp s: / / www.wire sh a rk.o rg/
[ 1 .b ] Ke y4 Biz h tt p s:/ / www.ke y4 b iz .it / iot - 84 - miliard i -d i - o gge t t i- co nn e ssi - ne l -
2 0 1 7- in- a u men to - del - 3 1 /1 8 04 8 6/
[ 2 .b ] S t an d ard Oasis M QT T v3 . 1 .1 h tt p :// d o cs.o asis -
o p e n .or g/ m qt t/ mqtt / v3 .1 .1/ csp rd 02 / mq t t - v3 .1 .1 - csp rd 02 .h t ml
[ 3 .b ] M icr o sof t Azu re ht tp s: / / www.az u re io t su it e .co m/
[ 4 .b ] A m a zo n We b Se rvice
h t tp :/ / do cs.aws.am az o n .co m/ io t/ late st/ d e ve lop e rgu id e/ iot - d g.p df
[ 5 .b ] E ve nt h elix
h t tp s: // www.e ve n t he lix.co m/ Re alt imeMan t ra/ N et wo rkin g/ HT T P _ Po st .pd f
[ 6 .b ] Y ou T ub e h tt p s: / / www.yo u t u b e .com/ wat ch ?v= 7 9b MMT 7 RP q Y

65

Potrebbero piacerti anche