• Non ci sono risultati.

Risultati ottenuti con il simulatore Cooja

Il simulatore Cooja è risultato uno strumento molto utile nel percorso di sviluppo ed integrazione dei protocolli; ha consentito di testare diverse con- figurazioni di rete e di verificare passo a passo gli upgrade fatti al progetto nel corso degli anni. In funzione delle caratteristiche del nodo simulato (piat- taforma hardware reale o native) si possono testare diversi parametri, quelli analizzati nel nostro caso sono stati: configurazione della rete con relativi tem- pi di setup, analisi dei pacchetti persi, analisi dei consumi energetici, studio delle metriche per la costruzione della rete con la selezione del parent.

Molto interessanti sono stati i risultati ottenuti con la simulazione di un nu- mero crescente di dispositivi connessi. Qui, infatti, abbiamo ottenuto che la rete, senza limiti di risorse e memoria imposti dall’hardware reale, può inter- connettere oltre i 1000 nodi ma in linea teorica infiniti. Simulando, invece, le caratteristiche del nostro hardware, riusciamo a collegare fino a 60 dispositivi

6.4 Risultati ottenuti con il simulatore Cooja allo stesso root, il limite à dato dalla modalità di funzionamento storing scelta per RPL, la quale porta alla saturazione della memoria disponibile sul nodo root.

6.4.1 Tempi di setup

L’utilizzo del simulatore ci consente di valutare le performance della rete in presenza di un collegamento radio ideale, senza le innumerevoli variabili intro- dotte dalla propagazione in ambiente reale. Per valutare il tempo di setup della rete assumiamo che la rete sia configurata non appena il root ha memorizzato tutte le rotte verso i nodi appartenenti al suo DAG. Per la valutazione del tem- po di autoconfigurazione della rete abbiamo effettuato cinque test utilizzando rispettivamente 3, 10, 20, 30, 40 nodi sensori e, naturalmente, il border node (root). In questa particolare prova la variabile più importante è rappresentata dalla numerosità dei nodi e dal numero di device che il singolo sensore deve attraversare affinché il messaggio possa raggiungere il root. Per questo motivo abbiamo creato una topologia di rete in cui, al massimo, un messaggio, pro- veniente dal dispositivo più lontano deve compiere 6 salti prima di arrivare a destinazione. In Tab.6.1 sono riportati i risultati conseguiti per le differenti numerosità di nodi.

Tabella 6.1: Tempi di configurazione della rete al variare dei nodi ottenuti con il simulatore Cooja

Numero Nodi 3 10 20 30 40

Tempo (s) per il setup della rete 3 5 9 11 15

Per l’esecuzione del test si è utilizzata una configurazione del nodo che non prevedeva il protocollo RDC e come metrica è stata utilizzata l’ETX per la scelta dei parent.

6.4.2 Pacchetti persi

Per la valutazione del numero di pacchetti persi sono stati effettuati cinque test utilizzando rispettivamente 3, 10, 20, 30, 40 nodi sensori in aggiunta al nodo root. In condizioni ideali, ovvero senza la presenza di ostacoli che distur- bino la propagazione radio il test darebbe un risultato del tutto scontato ed inutile, in quanto si avrebbe il 100% di pacchetti recapitati correttamente. Per questo motivo abbiamo creato uno script che simula la presenza di un ostacolo modellato come un armadio in metallo interposto fra ciascun nodo ed i suoi

Figura 6.2: Posizionamento dei sensori nell’interfaccia di Cooja

vicini. Si è, inoltre, introdotta una variabile che simula lo spostamento random di un ulteriore ostacolo in maniera continua all’interno della rete, così da creare situazioni impreviste che costringono i nodi a cambiare parent rinegoziando le rotte. In Tab.6.2 sono riportati i risultati conseguiti per le differenti numerosità di nodi, ciascuna simulazione ha avuto una durata di 48 ore.

Tabella 6.2: Risultati del test sui pacchetti correttamente ricevuti. Nella ta- bella sono riportati i risultati medi fra le 12 prove effettuate per ciascuna numerosità di nodi

Numero Nodi 3 10 20 30 40

% di pacchetti ricevuti correttamente 99,98 99,84 99,67 99,28 99,19

6.4.3 Consumi energetici

Per la valutazione dei consumi energetici di ciascun nodo e per valutare le prestazioni del protocollo RDC si è effettuato un test con 15 nodi posizionati come mostrato in Fig.6.2.

6.4 Risultati ottenuti con il simulatore Cooja

Figura 6.3: Risultati della simulazione senza protocollo RDC

Il primo test è stato effettuato selezionando la modalità null_rdc per il dri- ver RDC. Come evidenziato in Fig.6.3 la scelta di non utilizzare politiche di ottimizzazione della gestione della radio comporta un consumo energetico inac- cettabile nella realtà dove tipicamente i sensori sono alimentati da batterie che devono durare anni. E’ importante notare che, in assenza del driver RDC il transceiver viene mantenuto costantemente in ascolto del canale radio e questo comporta dei consumi esagerati per la fase di ricezione, tanto che i contributi dovuti alla trasmissione e alla CPU diventano del tutto trascurabili.

Verificata la necessità di utilizzare protocolli RDC si è passato al test di quest’ultimo utilizzando la stessa configurazione di rete precedente. Da Fig.6.4 vediamo che, in presenza del driver RDC i consumi complessivi, per la stessa configurazione di rete, si riducono mediamente del 90%, mentre la potenza dissipata per la sola fase di ricezione scende sotto l’1% del valore impiegato senza politiche di gestione dello sleep della radio.

6.4.4 Metriche per la selezione del parent

La configurazione a 15 nodi di Fig.6.2 è stata utilizzata anche per la va- lutazione della formazione della rete e della scelta del parent al variare delle metriche utilizzate in RPL per la configurazione del grafo. Essendo in simula- zione abbiamo anche in questo caso inserito un disturbo, questa volta costante, fra i vari link, in modo tale da far configurare la rete in maniera conforme alla

Figura 6.4: Risultati della simulazione con protocollo RDC

metrica scelta. Il primo test è stato effettuato utilizzando la metrica ETX che ha prodotto il grafo in Fig.6.5. Il secondo test è stato effettuato utilizzando la metrica ENERGY che ha prodotto il grafo in Fig.6.6.