Introduzione
Il lavoro svolto in questo elaborato e` parte integrante di un progetto piu`
ampio chiamato WISE-WAI (Wireless Sensor networks for city-Wide Am-
bient Intelligence) finanziato dalla Cassa di Risparmio di Padova e Rovigo.
Lo scopo principale del progetto e` dimostrale la fattibilita` dello sviluppo di
Wireless Sensors Networks (WSN) su larga scala. Il Dipartimento di Ingeg-
neria dell’Informazione dell’Universita` degli Studi di Padova, ha progettato
e realizzato uno dei maggiori, per estensione e numero di nodi, testbed della
comunita` europea. Tale testbed e` costituito da una rete di sensori composta
da centinaia di TMoteSky, ovvero dei piccoli oggetti che integrano vari sen-
sori ambientali, (umidita`, temperatura, luminosita`) un microcontrollore e un
ricetrasmettitore radio. La dimostrazione dei concetti studiati per il progetto
viene realizzata tramite il controllo remoto dei nodi sensore. Per visualizzare
i risultati ottenuti e ottenibili sul testbed e` stata realizzata, tramite l’utilizzo
di Google Web Toolkit (GWT), un’applicazione di interfacciamento con gli
strumenti forniti da Google Map. In particolare il lavoro svolto e` stato quello
di integrare nell’applicazione un livello per il controllo del traffico nella rete
e in particolare per determinare le prestazioni dell’algoritmo di routing uti-
lizzato nelle applicazioni caricate sui nodi sensori.
Lo strumento sviluppato si inserisce in modo intrusivo in una rete di sensori
e non comporta perdite di prestazioni nella rete. Lo strumento ha lo scopo
di evidenziare eventuali problemi o malfunzionamenti che si possono creare
in una rete di sensori. Nel seguito di questo documento verra` descritto in
dettaglio il testbed del dipartimento e gli strumenti utilizzati: MySQL, Java
DataBase Connectivity (JDBC). Infine verranno presentati i risultati dei test
effettuati.
1
Capitolo 1
Wireless Sensors Network
Una Wireless Sensors Network o rete di sensori senza fili e` una sottoclasse
delle reti ad hoc, composta da un insieme di nodi distribuiti in una certa
area, capace di raccogliere informazioni dall’ambiente circostante, processare
queste informazioni e trasmetterle via radio nella rete. I nodi sono dotati di
un insieme di sensori ambientali quali luminosita`, temperatura, umidita`, una
memoria RAM, una memoria ROM, un chip radio e una connessione seriale
USB. Questa viene utilizzata come fonte di alimentazione nelle fasi di test. Il
consumo energetico in una rete di sensori e` di fondamentale importanza in-
fatti un sensore e` dotato di una limitata sorgente di energia e il tempo di vita
di un nodo dipende molto dal tempo di vita della batteria. Essendo questa
una fonte limitata di energia e` necessario che i protocolli di comunicazione
e le applicazioni tengano conto delle capacita` limitate di processamento e di
memorizzazione dei sensori. E` per queste ragioni che molte ricerche si stan-
no concentrando sulla creazione di protocolli e algoritmi power-aware, ovvero
protocolli che ottimizzano il consumo energetico.
La capacita` di elaborazione interna del singolo sensore puo` aiutare i pro-
grammatori a diminuire le trasmissioni, aumentando quindi le prestazioni
della rete, con un conseguente risparmio di energia. Questo puo` avvenire ad
esempio aggregando le informazioni ricevute in piu` messaggi, e ritrasmetten-
dole con in un unico messaggio.
In genere, in una WSN, esistono dei nodi speciali che si incaricano di rac-
cogliere le informazioni di tutta la rete. Questi nodi vengono chiamati sink
e rappresentano il ponte tra la rete di sensori e la rete cablata che accede a
ad essi.
3
4 CAPITOLO 1. WIRELESS SENSORS NETWORK
Figura 1.1: Struttura generale di connettivita` delle WSN
1.1 Applicazioni delle WSN
Le WSN ritrovano applicazioni in una grande varieta` di ambienti, quali
domestico, industriale, civile, etc. In ambiente domestico possono venire
utilizzate ad esempio per il monitoraggio delle temperature in varie zone
dell’edificio e quindi per il controllo dei consumi. In ambiente industriale,
ad esempio per il controllo ambientale (temperatura, umidita`, luminosita`,
vapori chimici, radiazioni) nei posti di lavoro potenzialmente pericolosi per
i lavoratori (es. laboratori chimici e meccanici, fonderie, raffinerie), oppure
in ambito di videosorveglianza e controllo delle intrusioni. In un ambiente
cittadino intelligente, possono essere utilizzate nel controllo del traffico ur-
bano. Si pensi ad esempio di montare un sensore in ogni automobile e grazie
anche alle informazioni ottenute dal GPS riuscire a tracciare gli spostamenti
dei veicoli. Uno strumento di questo tipo potra` permettere ad esempio di
evitare accodamenti dando informazioni al conducente sulla rotta da seguire
in tempo reale. Ancora, possono essere utilizzate nelle situazioni di emer-
genza per dare un supporto istantaneo alle squadre di salvataggio. Possono
essere utili per gestire la sorveglianza dei luoghi pubblici, per fornire aiuto
nel settore dell’agricoltura ad esempio per determinare i trattamenti da fare
in funzione delle condizioni meteorologiche.
1.2. Descrizione del testbed montato nel dipartimento 5
1.2 Descrizione del testbed montato nel di-
partimento
Il testbed montato nel Dipartimento di Ingegneria dell’Informazione (DEI)
e` costituito da circa 300 sensori prodotti dalla CrossBow e appartenenti alla
famiglia telos [1]. L’obbiettivo e` quello di creare una rete sufficientemente
grande da riprodurre in scala un ambiente cittadino, nella quale si possano
effettuare test e simulazioni. I sensori sono distribuiti nel dipartimento in
modo che ognuno di essi abbia nel proprio raggio di copertura un numero di
nodi che va dai 10 ai 20. Il raggio di copertura e` un parametro che e` possibile
variare agendo sulla potenza trasmissiva dei nodi. Per velocizzare le oper-
azioni di riprogrammazione dei nodi e` stata creata un’infrastruttura cablata
che collega tutti i sensori, ad un server centrale come si vede in Figura 1.2.
Figura 1.2: Architettura del dipartimento
Ogni nodo e` connesso alla rete mediante una connessione Universal Serial
Bus (USB) che fornisce l’alimentazione. In questo modo si e` evita l’uso di
batterie e si riducono i tempi di manutenzione della rete. Le comunicazioni
tra i nodi, avvengono esclusivamente via radio. La rete cablata USB in-
oltre fornisce un’utile strumento per il salvataggio di dati nella fase di debug,
in quanto il codice delle applicazioni che vengono caricate nei sensori non
e` eseguibile passo passo come nei classici linguaggi di programmazione ad
alto livello. Ogni sensore infatti viene riprogrammato utilizzando un file es-
eguibile creato dalla compilazione del codice sorgente dell’ applicazione che si
vuole installare. Dopo l’avvio dell’applicazione, il nodo diventa indipendente
e non e` possibile ad esempio esplorare le variabili di ambiente del codice
sospendendo l’esecuzione del programma. L’unico strumento che fornisce
aiuto in questa fase e` una libreria, chiamata printf, che invia alla porta se-
riale il valore delle variabili interessate ed e` cos`ı possibile avere un minimo
6 CAPITOLO 1. WIRELESS SENSORS NETWORK
controllo durante l’esecuzione di un applicazione.
Come si vede in Figura 1.2, la struttura della rete e` gerarchica. Ogni nodo
e` connesso ad un hub USB che a sua volta e` connesso ad un piccolo com-
puter integrato Alix [2], che nella figura e` chiamato Node Cluster Gateway
(NCG). I NCG interagiscono con i nodi sia in up-stream (dati provenienti
dal nodo verso il NCG), per esempio per l’invio di messaggi di debug o per la
segnalazione dei dati raccolti, che in down-stream (dati provenienti dal NCG
verso il nodo), per esempio per l’invio di comandi ai sensori (riprogram-
mazione, accensione, spegnimento). I NCG sono connessi via Ethernet al
server centrale (WISE-WAI Server); a seconda della loro posizione geografi-
ca rispetto al server, possono essere connessi direttamente oppure tramite
un Remote Access Gateway locale (RAG) che e` connesso al server centrale
tramite tunnel VPN.
Figura 1.3: Mappa di un’area del dipartimento
I nodi sono raggruppati in insiemi a seconda della zona (laboratori) in cui
sono posizionati. In AppendiceA sono mostrate in dettaglio tutte le mappe
relative ai sensori montati nel dipartimento. Si prenda ad esempio la Figu-
ra 1.3 che mostra i gruppi: navlab, mmicro, micro, corridoio, dottorandi,
scale, potenza. I nodi sono rappresentati dai cerchi di colore verde, in colore
blu sono rappresentati i collegamenti USB, infine le scatole rosse rappresen-
tano i NCGs. I nodi che appartengono ad un NCG sono connessi a gruppi di
4 ad un hub USB a 4 ingressi (es. Se un NCG connette 12 nodi, verranno uti-
lizzati 3 hub USB). Ogni gruppo, a seconda della dimensione puo` contenere
piu` NCG e si puo` notare che un NCG puo` connettere nodi di diversi gruppi.
In particolare, i NCG sono una componente essenziale della gerarchia di rete.
1.2. Descrizione del testbed montato nel dipartimento 7
Si tratta di piccoli computer di dimensione 15 cm x 15 cm, alimentati con
Power-over-Ethernet (POE) dotati di interfaccia USB, Ethernet, processore,
memoria RAM, memoria flash, PCI Slot. Si puo` vedere un esempio in Figu-
ra 1.4. Come descritto in precedenza alcuni gruppi sono connessi al server
centrale mediante tunnel VPN; si puo` vedere dalle mappe riportate in Ap-
pendice A che questi sono i gruppi: signet, die, torretta.
L’architettura appena descritta e` scalabile, facile da replicare nel caso deb-
ba essere estesa, e inoltre i componenti sono facilmente raggiungibili nel caso
fosse necessaria una manutenzione. Va notato inoltre che gli hub USB perme-
ttono un hard-reset dei sensori, evitando che questi debbano essere scollegati
e ricollegati manualmente nel caso di blocco del software. Per tutte queste
ragioni, dividendo la rete in piccoli sottoinsiemi gestiti dai NCGs che per-
mettono il controllo da remoto, una struttura di questo tipo, e` un ottima
soluzione.
Figura 1.4: Un esempio di collegamento tra un Alix (NCG) e gli hub USB ai
quali sono connessi i sensori
Connettivita` IP Attualmente la rete di controllo del testbed identifica i
nodi con indirizzi IPv4 [7] ed e` direttamente connessa alla rete del DEI. La
Local Area Network (LAN) del DEI si estende fino al server centrale a ai
Remote Access Gateways locali (Figura 1.2), invece i NCG fanno parte di
un’altra LAN non visibile dalla rete del DEI. Ad esempio un messaggio di
ping proveniente dalla rete del DEI potra` raggiungere al massimo un Remote
Access Gateway locale. La comunicazione tra un sensore ed il server centrale
avviene quindi attraverso il seguente percorso: un messaggio inviato da un
nodo attraverso la porta seriale arriva al NCG di zona, il quale lo inoltra al
8 CAPITOLO 1. WIRELESS SENSORS NETWORK
Remote Access Gateways e attraverso il tunnel VPN puo` giungere al serv-
er centrale. L’indirizzamento di un sensore nella rete avviene mediante la
creazione di un socket, composto dall’indirizzo IP del NCG a cui e` connesso
e da una porta che viene creata in modo casuale dal NCG ogni qualvolta si
desideri iniziare una comunicazione. Quando avviene la fine di una comuni-
cazione infatti, il socket usato scade e non e` piu` utilizzabile per una successiva
comunicazione. E´ necessaria una nuova richiesta al NCG che restituira` una
nuovo socket per avviare una nuova comunicazione.
Un qualsiasi processo presente nel server centrale puo` ora mettersi in comu-
nicazione con un sensore attraverso il socket creato.
La prospettiva futura e` quella invece di passare dall’indirizzamento IPv4
all’indirizzamento IPv6 [8]. Una delle differenze piu` importanti tra i due
protocolli e` l’ampio spazio dedicato all’indirizzamento di IPv6 rispetto al
predecessore. IPv6 riserva infatti 128 bit rispetto ai 32 bit riservati da IPv4.
Piu` in particolare si andra` ad utilizzare il protocollo 6LowPan [3], acronimo
di IPv6 over Low power Wireless Personal Area Networks. 6LowPan e` il
nome del gruppo di lavoro che si occupa degli aspetti internet del Internet
Enginering Task Force (IETF). Il gruppo ha definito un meccanismo di com-
pressione e incapsulamento che permette ai pacchetti IPv6 di essere inviati e
ricevuti in reti basate sullo standard IEEE 802.15.4. Questo standard e` stato
concepito per regolamentare il livello fisico ed il livello MAC di reti per uso
personale che lavorano con basse velocita` di trasferimento dati, ad esempio
una WSN.
Con IPv6 non sara` necessario ricorrere all’uso di un socket per identificare
un nodo. La prima parte dell’indirizzo IP verra` formata dall’indirizzo IP del
NCG, e gli ultimi 16 bit saranno formati dal valore identificativo del sin-
golo nodo. Ogni sensore infatti e` univocamente identificato da un indirizzo
interno, chiamato TOS NODE ID.
1.3 Obiettivo della tesi
L’obbiettivo della tesi e` quello di creare uno strumento per il monitor-
aggio del traffico in una WSN, piu` precisamente si e` interessati a verifi-
care le prestazioni di un qualsiasi algoritmo di routing utilizzato nelle appli-
cazioni montate sui sensori. Lo strumento dovra` infatti essere indipendente
da quest’ultime e anche dalla scelta dell’algoritmo di routing. Dovra` essere in
grado di evidenziare eventuali perdite di pacchetti, colli di bottiglia, ritardi,
copertura dei nodi.
Il tutto verra` inserito in uno specifico livello all’interno di un’applicazione
1.3. Obiettivo della tesi 9
web che verra` descritta in seguito.
Questo strumento ha lo scopo di evidenziare eventuali problemi o malfun-
zionamenti che si possono creare in una rete di sensori. Ad esempio problemi
relativi all’instradamento dei pacchetti (routing), oppure malfunzionamenti
relativi ai nodi (nodi danneggiati), interferenza con altri sistemi radio (WiFi),
possibile cattiva dislocazione spaziale dei sensori, tempi di latenza elevati.