download tesi - MobiLab - Università degli Studi di Napoli Federico II
download tesi - MobiLab - Università degli Studi di Napoli Federico II
download tesi - MobiLab - Università degli Studi di Napoli Federico II
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Progetto e valutazione <strong>di</strong> algoritmi per la raccolta<br />
dati affidabili su reti <strong>di</strong> sensori senza cavo<br />
mostrata in figura 4.1 dove si in<strong>di</strong>viduano 9 no<strong>di</strong> sensori, <strong>di</strong> cui quello con<br />
id pari a 0 (nodo più a destra) è il nodo sink mentre gli altri sono i no<strong>di</strong><br />
addetti alle misurazioni. Le linee punto punto in grigio rappresentano i<br />
collegamenti che godono <strong>di</strong> una probabilità <strong>di</strong> per<strong>di</strong>ta dei pacchetti inferiore<br />
al 30%, mentre quelli in rosso collegamenti con probabilità compresa tra il<br />
30% e il 70%. Risulta chiaro, dalle caratteristiche esposte in tabella 4.1, che<br />
per avere una completa caratterizzazione dell’evento monitorato è<br />
necessario che ogni sensore recapiti la propria misurazione/i al nodo sink,<br />
quin<strong>di</strong> una per<strong>di</strong>ta <strong>di</strong> pacchetto dovuta alla congestione della rete o alla<br />
bassa qualità del link tra i no<strong>di</strong> causerà una situazione in cui il nodo sink<br />
non avrà a <strong>di</strong>sposizione tutte le informazioni necessarie al monitoraggio<br />
della zona interessata.<br />
Riguardo lo schema implementativo dell’applicazione questo risulta essere<br />
molto semplice e uno stralcio del file <strong>di</strong> configurazione è presentato in<br />
configuration Simple_Data_Gathering {}<br />
implementation {<br />
components Main, SurgeM, TimerC, LedsC, NoLeds, Photo, RandomLFSR,<br />
GenericCommPromiscuous as Comm, Bcast, MultiHopRouter as<br />
multihopM, QueuedSend, Sounder;<br />
....<br />
SurgeM.TimerControlCoverage -> TimerC.Timer[unique("Timer")];<br />
SurgeM.MeasureTimer -> TimerC.Timer[unique("Timer")];<br />
SurgeM.RouteControl -> multihopM;<br />
SurgeM.Send->multihopM.Send[AM_SURGEMSG];<br />
multihopM.ReceiveMsg[AM_SURGEMSG]->Comm.ReceiveMsg[AM_SURGEMSG];<br />
//Per mandare e ricevere messaggi <strong>di</strong> misurazione<br />
SurgeM.SendMeasureMsg -> Comm.SendMsg[AM_MEASUREMSG];<br />
SurgeM.ReceiveMeasureMsg -> Comm.ReceiveMsg[AM_MEASUREMSG];<br />
//usato dal sink per ricevere le misure<br />
SurgeM.ReceiveMeasure -> Comm.ReceiveMsg[AM_SURGEMSG];<br />
Figura 4.2: Stralcio del file <strong>di</strong> configurazione della prima simulazione<br />
88<br />
1<br />
3<br />
2