SlideShare a Scribd company logo
1 of 33
Network Infrastructures A.A. 2011-2012




 Progettazione e realizzazione di un sensor-node per
                                         una WSN




Autori:               Martina Baccini
                      Daniele Palma
                      Francesco Maria Gargaro
2


Indice

I. Introduzione ……………………………………………………………………………………………………………………                            4

II. Wireless sensor network …………………………………………………………………………………………………                       5
      II.I Tipologie di Reti Wireless ………………………………………………………………………………………………..           5
      II.II Strutture delle Wireless Sensor Network ……………………………………………………………………….       7
      II.III Sensor network e wireless sensor network …………………………………………………………………..      10
      II.IV Principali caratteristiche di una WSN …………………………………………………………………………….       11
      II.V Impiego delle Wireless Sensor Network ………………………………………………………………………..         11
      II.VI Aspetti generali di un sensor node ………………………………………………………………………………..        13
      II.VII Le generalità di un microcontrollore …………………………………………………………………………….       13
      II.VIII I sensori ………………………………………………………………………………………………………………………                  14
      II.IX Costi, consumi e mezzi di trasmissione di un SN …………………………………………………………….   14
III. Standard e protocolli di comunicazione …………………………………………………………………………………….          14
  III.I Standard IEEE 802.15.4 ……………………………………………………………………………………………..............       15
      III.I.I Formazione di rete …………………………………………………………………………………………………………. 15
      III.I.II Formazione della rete a stella ……………………………………………………………………………………….       15
      III.I.III Formazione della rete punto a punto …………………………………………………………………………..     15
      III.I.IV Livello fisico ……..………………………………………………………………………………………………………….            16
      III.I.V Livello MAC …..………………………………………………………………………………………………….............        17
      III.I.VI Modalità di trasferimento ..…………………………………………………………………………………………..        18
      III.I.VII Tipi di frame a livello MAC ……..……………………………………………………………………………………. 20
            III.I.VII.I Beacon Frame ……………………………………………………………………………………………….. 20
            III.I.VII.II Data Frame …………………………………………………………………………………………………… 21
            III.I.VII.III Acknowledgment Frame ………………………………………………………………………………. 21
            III.I.VII.IV MAC command frame ………………………………………………………………………………….. 22
III.II Protocolli di rete e applicativi …………………………………………………………………………………………………..        23
     III.II.I ZigBee ……………………………………………………………………………………………………………………………... 23
            III.II.I.I Livello di rete (NWK) ……………………………………………………………………………………….. 23
            III.II.I.II Livello di Applicazione (APL) …………………………………………………………………………… 25
IV. Hardware e firmware ……………………………………………………………………………………………………………………. 25
  IV.I Hardware …………………………………………………………………………………………………………………………………                      25
     IV.I.I Convertitore A/D ………………………………………………………………………………………………………………                27
  IV.II Solar cell RU2420 ……………………………………………………………………………………………………………………. 28
3


  IV.III Sensore di temperatura …………………………………………………………………………………………………………. 29
  IV.IV La comunicazione wireless …………………………………………………………………………………………………….   29
  IV.V Il firmware ……………………………………………………………………………………………………………………………… 30
V. Conclusioni …………………………………………………………………………………………………………………………………….. 31
Bibliografia …………………………………………………………………………………………………………………………………………. 33
4


I. Introduzione:
Le reti di sensori wireless, come d'altronde noto, hanno la finalità di osservare, controllare e misurare,
attraverso appositi dispositivi, specifiche aree da monitorare.
Il monitoraggio ambientale attraverso le WSN (wireless sensor network) è una delle attività di ricerca piu'
stimolanti ed impegnative affrontate negli ultimi anni; la necessità di progettare e, quindi, di realizzare
sistemi di monitoraggio sempre più affidabili ed accurati, difatti, ha spinto i ricercatori a creare distribuzioni
oltremodo idonee ed in grado di “sopravvivere” per lungo tempo in ogni situazione ambientale.
Progettare e realizzare una WSN efficiente presuppone, a tutti gli effetti, un notevole lavoro ingegneristico,
senza dover però sottacere del fattuale contributo che, nello specifico campo, la ricerca è tenuta ad
apportare in merito; tale contributo, per quanto pleonastica e superflua possa apparire l'asseverazione, è
oltremodo indispensabile al fine di confezionare correttamente un prodotto che possa, allo stesso tempo,
essere credibile ed affidabile.
Lo scopo del progetto che si è prefissato di prendere in esame e, conseguentemente, di condurre a termine,
in sintesi, è quello di effettuare, gestendola dovutamente, l'acquisizione di determinati dati per un nodo
sensore wireless, sottosistema che potrà essere utilizzato come elemento cardine di una WSN.
5


II. Wireless sensor network
Il panorama delle tecnologie wireless diventa sempre più vasto, tanto che gli organi di standardizzazione
(come l’IEEE, Institute of Electrical Engineers) hanno suddiviso il ramo delle comunicazioni wireless in
molteplici gruppi di studio. Prima di descriverli più in dettaglio è opportuno suddividere le reti di
comunicazione in base alla loro estensione.


II.I Tipologie di Reti Wireless
Come mostrato in figura, una classificazione delle reti wireless può essere fatta in base all’area coperta dal
segnale trasmesso dai dispositivi.




                         CLASSIFICAZIONE DELLE RETI WIRELESS IN BASE ALL’AREA DI COPERTURA


       WBAN: Wireless Body Area Network, serve per connettere dispositivi “indossabili” sul corpo umano
        come ad esempio possono essere i componenti di un computer (auricolari); idealmente una rete di
        questo tipo supporta l’auto-configurazione, facendo così in modo che l’inserimento e la rimozione di
        un dispositivo dalla BAN risulti essere trasparente all’utente.


       WPAN: Wireless Personal Area Network, il loro raggio di comunicazione è di circa 10 metri e
        l’obiettivo di
       queste reti è quello di consentire a dispositivi vicini di condividere dinamicamente
        informazioni. Pertanto, mentre una BAN si dedica all’interconnessione dei dispositivi indossabili da
        una persona, una PAN è operativa nella immediate vicinanze degli utenti. In una Personal Area
        Network e possibile perciò connettere dispositivi portatili tra loro oppure con stazioni fisse, ad
        esempio per accedere ad Internet, sincronizzare o scambiare dati e contenuti multimediali su
        computer portatili, desktop e palmari, etc. Lo standard più utilizzato per la realizzazione delle reti
        Body/Personal Area Network è Bluetooth.
6




       WLAN: Wireless Local Area Network , che consentono la comunicazione tra dispositivi distanti tra
        loro anche alcune centinaia di metri e risultando così adeguate per la realizzazione soluzioni di
        interconnessione in ambienti chiusi o tra edifici adiacenti. La famiglia degli standard più diffusi per
        la realizzazione di questo genere di interconnessioni è IEEE 802.11x e può essere considerata
        l’alternativa wireless alle tradizionali LAN basate su IEEE 802.3/Ethernet.


       WMAN: Wireless Metropolitan Area Network, hanno un raggio d’azione di circa 10 Km, fornendo
          così un accesso a banda larga ad aree residenziali anche piuttosto estese.


       WWAN: Wireless Wide Area Network, macro reti a livello mondiale, via cavo o su link satellitari.
          Rappresentano il cuore della rete Internet.


Questa suddivisione risulta necessaria per capire l’ambito in cui si riferiscono le WSN. Il raggio d’azione dei
dispositivi utilizzati in una rete di questo tipo raggiunge al massimo qualche decina di metri e fornisce
prestazioni limitate in termini di banda e capacità di elaborazione. Si possono quindi circoscrivere tutte le
reti di sensori alle reti di tipo PAN.
Tale classificazione per le reti wireless però non è l’unica possibile, ad esempio è possibile confrontare le
tecnologie in base al consumo e alla velocità di trasmissione (data-rate). Come si può vedere in figura il
rapporto tra consumo e velocità di trasmissione risulta essere proporzionale: in generale, alti data-rate
implicano consumi elevati e viceversa.




                               RAPPORTO TRA VELOCITA’ E CONSUMI DI PROTOCOLLI WIRELESS
7


II.II Sensor network e wireless sensor network




Una rete di sensori (detta anche sensor network) è un insieme di nodi sensore disposti in prossimità oppure
all'interno del fenomeno da osservare. Onde ottenere la maggior quantità possibile di dati occorre
effettuare una massiccia distribuzione di sensori (nell'ordine delle migliaia o decine di migliaia) in modo da
averne un'alta densità (fino a 20 nodi/m3) e far sì che i nodi stessi siano tutti vicini tra loro, condizione
necessaria affinché possano comunicare. Le reti di sensori rappresentano la naturale, ma al contempo
rivoluzionaria, evoluzione dell’impiego di sensori nell’ambito industriale.
Convenzionalmente le comunicazioni fra nodi sensore ed i controllori centralizzati prevedono interfacce di
comunicazione cablate. L’utilizzo di cavi consente l’impiego di dispositivi che non hanno limitazioni di
potenza poiché, laddove si è in grado di portare una connessione cablata per i dati, sarà in generale
possibile prevedere anche una o più linee di alimentazione; le soluzioni cablate, altresì, consentono di
conseguire dei buoni livelli di sicurezza, atteso che occorre avere accesso fisico diretto al cavo al fine di
poter prelevare informazioni dalla rete.
Nello stesso tempo, però, i sensor network soffrono di gravi limitazioni riconducibili, in primo luogo,
all’impossibilità o alle difficoltà d’installazione in ambienti inospitali per l’uomo, cui si aggiunge un problema
implicito di costi tenuto conto che l’installazione di ciascun dispositivo richiederà, ovviamente, manodopera
aggiuntiva ed ulteriori materiali per le operazioni di cablatura.      A quanto sopra circostanziato va inoltre
aggiunto che una struttura cablata si presenta, essenzialmente, quale una struttura “rigida”, per cui risulta
oltremodo difficile aggiungere nuovi nodi alla rete o modificare la posizione dei sensori preesistenti senza
dover, consequenzialmente, riconsiderare l’intera struttura della rete.
Le soluzioni wireless sembrano poi essere la soluzione ideale per questo tipo di problemi, ma esse
comportano, contestualmente, una serie di svantaggi in termini di problemi di propagazione del segnale, di
interferenze, di sicurezza, di requisiti di potenza, di norme legislative ed altro ancora.
Per molti di questi problemi esistono tuttavia soluzioni efficaci, ma per ogni soluzione adottata si dovrà
sempre prendere in considerazione l’aumento della complessità progettuale e, di conseguenza, la relativa
8


lievitazione dei costi di realizzazione. Molte applicazioni, difatti, non permettono di utilizzare soluzioni
wireless evolute.
Delineando poi quali siano i requisiti cui una rete di sensori wireless deve rispondere, si può osservare che
alcuni risulteranno essere comuni a qualsiasi tipologia di rete wireless (fra gli altri si possono rammentare
prestazioni, range, sicurezza e consumi); altri, invece, risulteranno essere subordinati alla particolare
applicazione messa in opera: è questo il caso, per esempio, della determinazione della velocità di
trasmissione, tenuto conto che alcune applicazioni richiedono decine di megabits al secondo (vedi le
applicazioni di video sorveglianza), mentre altre hanno requisiti meno stringenti nell’ordine di pochi kbit al
secondo (telecomandi, sensori di temperatura ecc…).
Le dimensioni delle reti possono inoltre variare in funzione dell’applicazione, andando dal metro fino ad
alcuni chilometri.
Scopo principale di una rete di sensori, poi, è distribuire sulla rete le informazioni raccolte da ciascun nodo.
Affinché i dati possano essere verificati e coordinati, l’utente deve essere in grado di accedere ad ogni
dispositivo per conoscerne sia la calibrazione effettuata dal costruttore sia ogni dato utile alla sua
identificazione.
Risulta infine indispensabile che siano previste in ogni caso delle modalità di identificazione di ciascun nodo
all’interno della rete stessa.
Altro fattore caratterizzante le reti di sensori è rappresentato dall'esigenza di raccogliere le informazioni dai
sensori medesimi in modo sincrono, o, meglio, dalla necessità di sapere esattamente quando una grandezza
viene rilevata da un trasduttore.
In generale una rete di sensori dovrà avere, dal punto di vista dei tempi, un'organizzazione più
deterministica rispetto a reti ad accesso casuale, le quali, generalmente, vengono impiegate nelle reti
informatiche. Ogni livello fisico in grado di realizzare uno standard simile deve prevedere un cospicuo
meccanismo di sincronizzazione tale da permettere la coesistenza dei diversi dispositivi sulla rete
considerato che la risoluzione temporale nelle applicazioni più stringenti può essere misurata nell’ordine del
microsecondo.
Dalle osservazioni fin ora effettuate si può desumere che la realizzazione di una rete di sensori wireless
richiede l’utilizzo di tecniche di rete specifiche e, anche se molti protocolli ed algoritmi sono stati proposti in
letteratura per realizzare reti wireless ad hoc, questi non sono completamente adattabili alle reti di sensori
wireless a causa delle specifiche esigenze di questo peculiare tipo di rete.
Va a questo punto opportunamente rappresentato che si intende per rete ad hoc una infrastruttura di rete,
appunto, che non presuppone un coordinatore centrale ed in cui ogni nodo riveste il duplice ruolo di nodo e
router.
Per evidenziare ancor meglio quanto asseverato, si riassumono di seguito alcune delle specifiche più
stringentemente caratteristiche del wireless sensors networking:
9




       il numero dei “nodi sensore” può essere di alcuni ordini di grandezza superiore rispetto ad una rete
        “ad hoc”;
       i sensori vengono posizionati con densità spaziale molto elevate (decine o centinaia di sensori nello
        spazio di pochi metri);
       i nodi possono avere malfunzionamenti, che non devono però pregiudicare l’efficienza della rete;
       la topologia di rete può variare nel tempo in modo molto frequente;
       i sensori usano principalmente comunicazioni di tipo broadcast;
       i sensori hanno limiti serrati in termini di potenza.


A causa dell’elevata densità di posizionamento, i nodi possono essere molto vicini fra loro e ciò, ovviamente,
comporta un indubbio vantaggio, visto che, in tal caso, si potranno realizzare algoritmi di rete multi hop per
raggiungere il corretto destinatario dell’informazione; tuttavia va osservato che, contestualmente, si
potranno avere dei problemi di mutua interferenza fra sensori distinti.
Una soluzione algoritmica di tipo multi-hop permette di adoperare dei nodi che fungono da relay verso altri
nodi.
L’uso di strategie multi-hop può consentire l’utilizzo di basse potenze di trasmissione, migliorando così le
caratteristiche dei nodi in termini di requisiti di potenza; quest’ultima, infatti, risulta essere una delle
caratteristiche più pressanti poiché i sensori si avvalgono delle sorgenti di potenza che non possono essere
in generale sostituite o, quantomeno, non possono essere sostituite frequentemente: per tale motivo
un'efficiente implementazione di wireless sensor networking deve postulare meccanismi che diano la
possibilità all’utente di scegliere il compromesso migliore fra prestazioni e durata delle batterie.
Lo sviluppo di reti wireless dedicate al mondo dei sensori ha visto nell’ultimo periodo l’affermazione delle
LR-WPAN (Low rate Personal Area Network), le quali, come lo si può facilmente intuire dal nome, sono
caratterizzate da dimensioni contenute ed al contempo da bassi transfer rate. La definizione stessa di LR-
WPAN risulta essere in netto e manifesto contrasto con le metriche mediante le quali generalmente si è
abituati a valutare una rete, cioè QoS (Quality of Service) e data rate. Entrambe queste peculiarità risultano
essere aspetti secondari in una rete di sensori poiché, come già rappresentato, molte applicazioni
richiedono semplicemente il trasferimento di pochi kbit/s, il che porta a considerare come fattori di primaria
importanza il contenimento dei costi unitamente a quello dei consumi.
10


II.III Strutture delle Wireless Sensor Network
Una rete di sensori può essere realizzata in tre differenti topologie, dove con il termine topologia si indica la
modalità in cui i diversi dispositivi della rete vengono disposti e, in particolare, i collegamenti fisici e logici
che li interconnettono. Nelle reti wireless esistono tre principali strutture, rappresentate in figura: reti a
stella (star), reti mesh (o peer to peer) e reti ad albero (tree).


       STELLA si individua un nodo centrale dotato di funzionalità di controllo. Viene definito coordinatore
         della rete o centro della rete a stella; tutti gli altri nodi fanno riferimento a questo nodo centrale.
         Ogni device vede solo il coordinatore e per dialogare con altri device deve passare attraverso di
         esso.


       MESH anche in questo caso esiste un solo coordinatore, ma ogni dispositivo può comunicare con gli
        altri senza dover passare dal coordinatore: la rete assume una topologia magliata. Questo tipo di
        topologia è meno gerarchica e rigida e ben si adatta a situazioni auto configuranti o a reti Ad-Hoc.
        Questo tipo di rete permette anche la comunicazione multi-hop e fornisce una maggiore affidabilità
        della rete mediante percorsi multipli tra sorgente e destinazione (ridondanza).


       TREE in questa topologia ad albero le foglie sono costituite da grappoli, ossia da sottoreti. Questa
        rete è un tipo particolare di rete P2P in cui alcuni dispositivi coordinano i singoli cluster, assumendo
        il compito di cluster-head(CLH). I dispositivi RFD possono essere considerati come nodi figli che si
        agganciano ai CLH. Questa topologia è molto dinamica e mediante opportuni algoritmi permette a
        dispositivi esterni di agganciarsi ad uno dei cluster.




                                                  TOPOLOGIE DI RETE
11


II.IV Principali caratteristiche di una WSN
      Tolleranza ai guasti: un nodo potrebbe esaurire la batteria, subire danni fisici oppure perdere il
       collegamento wireless con gli altri nodi e/o con il pc. Una simile situazione non deve però
       danneggiare il resto della rete ed un altro nodo dovrebbe sostituire, prendendone il posto, il nodo
       “perso”.
      Scalabilità: una WSN può contenere fino a migliaia di nodi e la sua architettura deve essere in grado
       di supportarli tutti.
      Programmabilità: i nodi devono essere in grado di poter modificare i propri compiti in qualunque
       momento, ovvero devono poter essere riprogrammabili.
      Manutenibilità: le WSN e l'ambiente in cui sono installate sono in continuo mutamento per cui la
       rete deve comunque essere in grado di adattarsi monitorando il proprio stato di “salute” ed
       aggiornando i propri parametri: deve, in sintesi, essere in grado di gestirsi autonomamente.


II.V Impiego delle Wireless Sensor Network
Le reti di sensori possono essere utilizzate in svariati campi. Viene di seguito presentato un elenco dei
settori dove vengono tipicamente impiegate le Wireless Sensor Network.


      Monitoraggio ambientale: (Enviromental and habitat monitoring) In campo ambientale le
       applicazioni possono essere molteplici: è possibile monitorare movimenti di animali oppure studiare
       particolari habitat, come il mare, il terreno o l’aria impiegando, ad esempio, sistemi di monitoraggio
       di agenti inquinanti. Appartengono a questo settore anche lo studio di eventi naturali catastrofici
       quali incendi, tornado, terremoti ed eruzioni vulcaniche.


      Monitoraggio di strutture: (Structural Health Monitoring) Le reti di sensori posizionate sulle
       strutture rilevano lo stato di salute di edifici, ponti, case sottoposte a sollecitazioni esterne; in
       alternativa, potrebbero essere utilizzate anche per misurare difetti strutturali di componenti.


      Controllo del traffico veicolare: (Traffic control) Un sistema di sensori finalizzato al monitoraggio del
       traffico controlla il passaggio di automobili, analizzare la velocità ed l’intensità del traffico ed
       individuando eventuali blocchi o situazioni anomale.


      Sorveglianza di edifici: (Infrastructure control) Questo tipo di reti può essere utilizzato come ausilio
       per la sorveglianza di centri commerciali o di luoghi a rischio, come stazioni ferroviarie o aereoporti.
12


   Sorveglianza militare: (Militar control) Le reti di sensori sono state utilizzate in principio per questo
    scopo. Le loro applicazioni spaziando dal monitoraggio sullo stato o la posizione delle forze sul
    campo di battaglia alla sorveglianza di luoghi strategici. Possono inoltre essere dispiegate in luoghi
    ostili al fine di raccogliere informazioni sugli spostamenti del nemico.


   Monitoraggio di apparecchiature industriali: (Industrial sensing) I sensori wireless possono essere
    applicati a macchinari industriali per analizzarne il comportamento dei componenti sottoposti a
    stress meccanico, migliorarne le performance o prevenire rotture e guasti.


   Monitoraggio Agricolo: (Agriculture sensing) Nel settore agricolo le reti WSN vengono utilizzate per
    il monitoraggio di particolari situazioni ambientali; in particolar modo la cosiddetta “agricoltura di
    precisione” utilizza le reti di sensori per rilevare in tempo reale il livello di pesticidi nell’acqua o nei
    terreni agricoli.


   Applicazioni Personali: (Personal sensoring) Nel settore della domotica le reti di sensori riescono a
    fornire servizi all’utente all’interno della propria abitazione, ad esempio informandolo
    tempestivamente di eventuali guasti. I sensori possono essere introdotti negli apparecchi elettrici e
    questi, interagendo tra loro e con una rete esterna o Internet stesso, permettono all’utente di
    comandare facilmente gli elettrodomestici a distanza.


   Applicazioni Mediche: (Personal Health Care) Le reti wireless sono oggi impiegate anche per
    monitorare pazienti, eseguire valutazioni diagnostiche, amministrare farmaci in ospedale e
    monitorare a distanza dati fisiologici quali la frequenza cardiaca o la pressione sanguigna.
13


II.VI Aspetti generali di un sensor node
I nodi sensori (sensor node o mote) sono, per definizione, piccoli apparecchi a bassa potenza,
multifunzionali e capaci di comunicare tra loro; tali dispositivi sono formati da componenti in grado di
rilevare grandezze fisiche (sensori di posizione, temperatura, umidità ecc.), di elaborare dati e trasmetterli.




                                          STRUTTURA DI UN SENSOR NODE


Dal punto di vista dimensionale un nodo sensore può variare dalla grandezza di una scatola di scarpe fino a
quella di un granello di polvere, benché dispositivi funzionanti di vere dimensioni microscopiche attendano
ancora di essere creati.
Oltre ad uno o più sensori, ogni nodo in una rete è in genere dotato di una radio ricetrasmittente o di altro
dispositivo di comunicazione wireless, di un piccolo microcontrollore e di una fonte di energia, di solito una
batteria, limitata e non rinnovabile. Una volta messo in opera, deve lavorare comunque in modo autonomo:
per questo motivo tali dispositivi sono tenuti a mantenere costantemente i consumi molto bassi, così da
avere un maggior ciclo di vita.


II.VII Le generalità di un microcontrollore
Il microcontrollore, cuore del nodo sensore, svolge specifici compiti, elabora i dati e controlla la funzionalità
di altri componenti del nodo sensore stesso. I microcontrollori costituiscono indubbiamente la scelta
migliore per un nodo sensore e, sovente, rappresentano l'opzione più opportuna e conveniente per i sistemi
embedded grazie alla loro flessibilità di connessione ad altri dispositivi, alla loro facilità di programmazione
nonché ai bassi consumi che presentano, i quali possono essere effettivamente ridotti dal momento in cui
questi dispositivi possono lavorare in uno stato di sospensione, con solo una parte del controllore attiva. I
microcontrollori, infine, sono in grado di gestire funzioni di comando sia analogiche sia digitali.
14


II.VIII I sensori
Un sensore è comunemente definito come un particolare trasduttore che si trova in diretta interazione con
il sistema misurato. I sensori, unitamente al microcontrollore, sono gli elementi fondamentali di un sensor
node.


II.IX Costi, consumi e mezzi di trasmissione di un SN
I nodi sensore      hanno un costo       variabile, il quale può oscillare - secondo un'ampiezza di forbice
ricompresa fra svariate centinaia di euro e pochi centesimi - a seconda delle dimensioni della rete e della
sua relativa complessità. Ovviamente le dimensioni ed i costi sono direttamente correlabili e proporzionati
all'utilizzo di specifiche risorse quali l'energia, la memoria e la velocità di calcolo e di banda.
Tra i vari mezzi di trasmissione, nello specifico, si possono annoverare: i wireless a radiofrequenza, la
comunicazione ottica e gli infrarossi. La comunicazione ottica richiede meno energia, ma, per converso,
soffre di un'eccessiva sensibilità alle condizioni atmosferiche.
La comunicazione ad infrarossi, dal suo canto, pur non avendo invero bisogno di antenne, è tuttavia limitata
nella sua capacità di trasmissione.
La maggior parte dei ricetrasmettitori, solitamente, opera in modalità standby in quanto presenta un
consumo energetico pari quasi alla potenza consumata in modalità di ricezione. Pertanto, diventa
opportuno, per non dire economicamente conveniente, spegnere del tutto il ricetrasmettitore piuttosto che
lasciarlo in modalità standby allorché non funziona né da trasmittente né da ricevente.
Va poi sottolineato che una quantità significativa di energia viene consumata quando si passa dalla modalità
sleep alla modalità di trasmissione per inviare un pacchetto.
Quando i sensori rilevano l'evento che si intende controllare (calore, pressione, suono, luce, campo
magnetico-elettrico, vibrazione, ecc.), il fenomeno preso in considerazione deve essere segnalato ad una
delle stazioni radio base, la quale può prendere i provvedimenti opportuni dettati dal caso (inviare, ad
esempio, un messaggio su internet oppure ad un satellite). A seconda dell'applicazione e dell'obiettivo, si
rende infine necessaria l'adozione di diverse strategie e di algoritmi di propagazione.



III. Standard e protocolli di comunicazione
Nell’ambito delle comunicazioni wireless e più precisamente nelle wireless a corto raggio è stato definito
uno standard definito dall’IEEE chiamato 802.15.4. Questo standard è pensato per comunicazioni wireless di
basso costo, bassa velocità e basso consumo energetico; è adatto a reti W-PAN a basso bit rate costituite da
dispositivi alimentati tramite batterie che non possono essere sostituite frequentemente, come, ad esempio,
i sensori. Le sue principali caratteristiche sono la capacità di coprire un raggio di azione di poche decine di
metri offrendo fino ad un data-rate massimo di 250 Kbps. Offre una bassa potenza in trasmissione
15


implicando un basso consumo energetico permettendo quindi ai livelli superiori la presenza di livelli di rete
che possono effettuare routing. Offre altresí la possibilità di poter utilizzare ACK e quindi di poter effettuare
ritrasmissioni dei dati in caso di mancato ricevimento o di errore di trasmissione.



III.I Standard IEEE 802.15.4
Lo standard 802.15.4 definisce il livello 1 (livello fisico) e il livello 2 (livello MAC). I dispositivi, dettate dalle
specifiche IEEE 802.15.4, possono avere due diverse modalità: Reduced Function Device (RFD) e Full
Function Device (FFD). FFD ha funzioni da coordinatore e può funzionare con qualsiasi tipologia di rete si fa
carico delle connessioni con gli altri dispositivi. L’RFD è utilizzato unicamente nelle tipologie a stella, non
può diventare coordinatore della rete e può colloquiare solamente con esso. La possibilità offerta dal
protocollo ai dispositivi di poter creare un collegamento con altri dispositivi adiacenti dà la possibilità di
poter costruire reti di grandi dimensione e molto complesse passando da strutture a stella a strutture
formate da cluster di dispositivi.


III.I.I Formazione di rete
La formazione della rete è gestita dal livello rete dello stack ISO/OSI che non fa parte di questo standard,
dato che il protocollo IEEE802.15.1 definisce solo gli ultimi due livelli dello stack; tuttavia è fornita una
breve visione su come ogni tipologia d’architettura possa essere formata.



III.I.II Formazione della rete a stella
Al momento dell’attivazione i dispositivi FFD si pongono nella modalità di funzionamento come coordinatori,
iniziando una scansione tra i canali in cerca di altri dispositivi, sia che quest’ultimi siano FFD che RFD; a
questo punto ogni dispositivo FFD attivato potrebbe creare una propria rete e diventare il coordinatore PAN.
Tutte le star networks lavorano indipendentemente da tutte le altre star presenti nell’area; in ultimo viene
scelto il coordinatore PAN tra i dispositivi FFD, dando priorità ai dispositivi FFD che non siano coordinatori
delle reti a stella.


III.I.III Formazione della rete punto a punto
Nella rete peer to peer ogni dispositivo è in grado di comunicare con qualsiasi altro dispositivo nel raggio
d’azione. Un dispositivo potrà essere nominato come coordinatore PAN, per esempio, in virtù di essere
stato il primo dispositivo a comunicare sul canale, oppure in base alle strutture di rete preimpostate nei
dispositivi FFD, che potrebbero imporre restrizioni tipologiche sulla formazione della rete stessa.
16


III.I.IV Livello fisico
I servizi, che il livello fisico offre, intervengono sull’accensione e sullo spegnimento del modulo radio, questa
opzione permette al sistema un il risparmio d’energia, effettua, inoltre, la scelta del canale di comunicazione
calcolando una stima sull’occupazione del canale ed analizza e calcola il rapporto segnale/rumore di un
canale per scegliere il migliore diminuendo la probabilità di errori in trasmissione. Ovviamente modula e
demodula i segnali in ricezione e in trasmissione. Il livello fisico opera nella banda ISM utilizzando tre
possibili bande libere:




                                         BANDE DI FREQUENZA PER LE WSN



       868-868.6 Mhz: banda utilizzata nella maggior parte dei paesi europei con un data-rate di 20kbps
        disponendo di un solo canale a disposizione;


       902-928 Mhz : banda utilizzata nel continente oceanico e nel continente americano, offrendo un
        data-rate di 40Kbps e 10 canali disponibili;


       2400-2483.5 : banda utilizzabile in quasi tutto il globo con un data-rate massimo di 250 Kbps e 16
        canali a disposizione.


La modulazione del segnale più diffusa è il DSSS utilizzando tecniche BPSK, O-QPSK, anche se recentemente
sono state introdotte nuove modulazioni in aggiunta al DSSS come PSSS.
Il datagramma a livello fisico, come mostrato figura, è formato da una serie di campi: all’inizio si trova il
preambolo, formato da 32 bit, con finalità di sincronizzazione tra i nodi. Successivamente viene utilizzato un
ottetto (11100101) prefissato che funge da indicatore di inizio pacchetto. Segue un campo physical header
che indica la lunghezza del payload.
17


Il payload è chiamato Phisical Service Data Units (PSDU) che può avere una lunghezza massima di 127 bytes.



III.I.V Livello MAC
Il secondo livello (MAC) offre servizi quali la possibilità di creare una rete PAN, la trasmissione dei beacon e
l’accesso al canale tramite il protocollo CSMA/CA. Questo livello supporta algoritmi di cifratura basata su
AES-128 per la sicurezza dei dati, gestisce, inoltre, l’handshake, cioè gli Acknowledge per la ritrasmissione
dei dati in caso di mancata o erronea ricezione. Calcola e verifica l’integrità della PDU.




                                            DATAGRAMMA A LIVELLO MAC



Può supportare reti fino ad un massimo di 65536 nodi poiché utilizza un indirizzamento fino a 16 bit. Il
livello MAC prevede una struttura chiamata superframe. Questa frame è costruita dal coordinatore della
rete ed è contenuta tra due messaggi chiamati beacon. I beacon contengono informazioni che possono
essere utilizzate per la sincronizzazione dei dispositivi, per l’identificazione della rete, per descrivere la
struttura della superframe stessa e la periodicità di spedizione dei beacon. La superframe è divisa in 16 slot
temporali di uguale grandezza, dove il beacon frame è trasmesso nel primo e nell’ultimo slot di ogni
superframe. Si possono avere due tipi di superframe senza GTS (Guaranteed Time Slot) e con GTS. Quando
viene inviata una superframe senza GTS, l’accesso al canale è regolarizzato dal protocollo CSMA/CA dove
ogni dispositivo deve competere con gli altri per assicurarsi l’accesso ad uno slot.
Questo periodo è chiamato CAP (Contention Access Period), visibile nella figura sottostante.




                                              SUPERFRAME SENZA GTS



In altri tipi di applicazioni, invece, si necessita di costruire reti tali per cui garantire a tutti i nodi di poter
trasmettere. E’ il caso di superframe con GTS, la quale dedica fino ad un massimo di sette slot temporali,
18


detti CFP (Contention-Free Period), a determinati nodi. In questo periodo possono comunicare solamente i
nodi prestabiliti e l’accesso al canale non è più CSMA/CA.




                                                 SUPERFRAME CON GTS.




III.I.VI Modalità di trasferimento
La trasmissione dei dati può avvenire in tre modi differenti a seconda di chi spedisce i dati. La prima
modalità si riferisce al trasferimento dati dal nodo al coordinatore, la seconda da coordinatore a nodo, la
terza tra due nodi. Le prime due modalità possono essere utilizzate in tipologia di reti a stella mentre per le
reti mesh possono essere utilizzate tutte e tre le modalità.
E’ possibile utilizzare due meccanismi differenti per la trasmissione dei dati: trasmissione senza l’utilizzo di
beacon oppure trasmissioni basate sui beacon. Con una rete beacon-enabled, quando un nodo deve
trasferire i dati ad un coordinatore, ascolta il beacon e si sincronizza alla superframe. Il nodo trasmette il
relativo pacchetto al coordinatore il quale, opzionalmente, dopo aver ricevuto i dati, trasmette un pacchetto
di conferma dell’avvenuta ricezione al dispositivo (ACK).
Il colloquio tra i due terminali è visibile nella figura




                                 TRASMISSIONE NODO-COORDINATORE BEACON-ENABLED



In una rete beacon-disable, quando un dispositivo desidera trasferire dei dati al coordinatore, trasmette
semplicemente utilizzando il protocollo di accesso al canale CSMA/CA. Anche in questo caso il coordinatore
dopo la ricezione dei dati trasmette un ACK opzionale.
19


La comunicazione diventa più articolata quando è il coordinatore che necessita di comunicare con un nodo.
Se la rete è beacon-enabled, il coordinatore indica nel beacon la necessità di trasferire dati ad un dispositivo,
il quale risponde attraverso una PDU chiamata MAC command. La MAC command ha il significato di
conferma all’invio dei dati. Il coordinatore, dopo aver ricevuto la MAC command, spedisce in successione
una PDU ACK di conferma e successivamente i dati. Il nodo a trasferimento completato invia un ACK. Nella
rete beacon-disabled, nel trasferimento dati da coordinatore a nodo avviene allo stesso modo con la sola
differenza che il coordinatore memorizza i dati finché non è il nodo stesso a stabilire la connessione. In
questa modalità si ricorda che ogni accesso è fatto attraverso il CSMA/CA.




                               TRASMISSIONE NODO-COORDINATORE BEACON-DISABLED.




                               TRASMISSIONE COORDINATORE-NODO BEACON-ENABLED.




                               TRASMISSIONE COORDINATORE-NODO BEACON-DISABLED.
20


III.I.VII Tipi di frame a livello MAC
Le strutture dei frame sono state realizzate per minimizzare la complessità ed ottenere una sufficiente
robustezza delle trasmissioni all’interno di canali rumorosi. Lo standard IEEE802.15.4 definisce quattro tipi
di strutture di frame:
- Il beacon frame: usato dal coordinatore della rete PAN per trasmettere i
menzionati beacon
- Il data frame: usato per tutti i trasferimento di dati
- Acknowledgment frame: usato per dar conferma d’avvenuta ricezione di
un pacchetto
- MAC frame: utilizzato per portare istruzioni sulle particolari
configurazioni del MAC dei dispositivi


III.I.VII.I Beacon Frame
I beacon frame sono generati dai livelli MAC e PHY del coordinatore della rete PAN e vengono spediti solo
nel caso si sia in una rete beacon abilitata.
In figura si possono notare i campi generati dal livello fisico, quali: preambolo, delimitatore del frame e
lunghezza del frame stesso ed i campi generati dal livello MAC del coordinatore di rete. I campi del livello
MAC sono di fondamentale importanza nelle reti beacon abilitate perché portano informazioni sui
parametri della struttura del superframe, sui campi d’indirizzamento e sulle tempistiche dei beacon stessi.
Il MAC Service Data Unit (MSDU) contiene le specifiche del superframe, attesa di specifiche d’indirizzo, lista
d’indirizzi e i campi di messaggio utile ed è situato tra il MAC Header (MHR) e il MAC Footer (MFR).
Il MHR contiene i campi di controllo del MAC stesso, tra cui il numero di sequenza del beacon (BSN) e i
campi d’informazioni sull’indirizzamento, mentre l’MFR contiene i sedici bit della sequenza di check (frame
check sequence FCS). Il MHR (MAC header) assieme al MSDU (MAC service data unit) e al MFR (MAC
footer) compongono il MAC beacon frame (MPDU).




                                           FORMATO BEACON FRAME
21


L’MPDU viene passato al livello fisico attraverso il PHY Service Data Unit (PSDU), il quale viene anticipato
dall’header di sincronizzazione (SHR), composto dalla sequenza di preambolo e dai delimitatori di inizio-fine
struttura, quindi dall’intestazione del livello fisico (PHR), contenente la lunghezza del PSDU espressa in base
otto. La sequenza di preambolo serve al ricevitore per potersi sincronizzare col trasmettitore prima che inizi
la vera e propria trasmissione. L’insieme dei campi PSDU, PHR e SHR formano il pacchetto beacon visto al
livello fisico (PPDU) prima di essere spedito all’interno del canale di comunicazione.


III.I.VII.II Data Frame
Il data frame è impiegato per la trasmissione di dati tra dispositivi dello stesso network e a differenza del
beacon frame, può essere generato da ogni tipo di dispositivo, sia RFD che FFD.
Il campo data viene passato al MAC dai livelli superiori e inserito nel MAC Service Data Unit (MSDU), situato
tra il MHR e il MFR.
Il MAC header (MHR) è composto a sua volta da altri tre campi: il campo di controllo del frame, il campo
contenente il numero seriale del pacchetto e il campo contenente informazioni d’indirizzamento; mentre il
MAC Footer (MFR) contiene i sedici bit della sequenza di chech (frame check sequence FCS). Il MAC header
(MHR) assieme al MAC service data unit (MSDU) e al MAC footer (MFR) compongono il MAC data frame
(MPDU), il quale viene passato al livello fisico attraverso il PHY Service Data Unit (PSDU).
Il PSDU assieme al PHR, campo che contenente la lunghezza del frame e al SHR, contenente la sequenza di
preambolo e i delimitatori della struttura, compongono il pacchetto dati visto al livello fisico (PPDU).




                                              FORMATO DATA FRAME.




III.I.VII.III Acknowledgment Frame
Il pacchetto di ACK è generato da tutti i dispositivi della rete ZigBee e contiene al suo interno informazioni
riguardanti l’avvenuta ricezione di pacchetti. Il pacchetto di ACK generato dal livello MAC è composto da
due blocchi, il MHR e il MFR. Il MAC header contiene informazioni sul controllo del frame e il numero
seriale dell’ACK, mentre il MAC footer contiene i sedici bit della sequenza di chech (frame check sequence
FCS). L’unione di tutti questi campi costituisce il MAC acknowledgment frame (MPDU), il quale viene
passato al livello fisico attraverso il PHY Service Data Unit (PSDU).
22




                                            FORMATO DELL'ACK FRAME


Il PSDU assieme al PHR, campo che contenente la lunghezza del frame ed al SHR, contenente la sequenza di
preambolo ed i delimitatori della struttura, compongono il pacchetto ack visto al livello fisico (PPDU).


III.I.VII.IV MAC command frame
In figura è mostrata la struttura del MAC command frame generata dal livello MAC del coordinatore. Il
pacchetto MSDU è composto da due blocchi, il command type e il command payload; il primo contiene
informazioni sulla tipologia del comando da eseguire, mentre il secondo contiene le specifiche da eseguire.
Il blocco MAC service data unit (MSDU), assieme al MAC header (MHR) e al MAC footer (MFR) formano il
MAC command frame (MPDU), il quale viene passato al livello fisico attraverso il PHY Service Data Unit
(PSDU). Il PSDU assieme al PHR, campo che contenente la lunghezza del frame, e al SHR, contenente la
sequenza di preambolo, compongono il pacchetto command visto al livello fisico (PPDU).




                                     FORMATO DELLA MAC COMMAND FRAME
23


III.II Protocolli di rete e applicativi
Basandosi sui primi due livelli definiti dagli standard sono stati sviluppati diversi protocolli di livello tre
(network) e di livello quattro (applicativi). In commercio sono proposte varie soluzioni costruite da diverse
case produttrici e per questo progetto è stata utilizzata la tecnologia ZigBee.



III.II.I ZigBee
Basato sulle specifiche dello standard 802.15.4, la tecnologia ZigBee che implementa protocolli fino a livello
applicativo. In figura viene proposto un parallelo con la classica architettura ISO/OSI. Viene definita a basso
costo perché può essere utilizzata in svariate applicazioni e a basso consumo perché offre alte prestazioni
sulla conservazione delle batterie.




                                      PROTOCOLLI IMPLEMENTATI NELLO ZIGBEE.




III.II.I.I Livello di rete (NWK)
In questo livello s’inserisce il protocollo ZigBee il quale, come già detto in precedenza,fornisce i servizi di
rete e livello applicativo.
Le funzioni ZigBee del livello di rete riguardano:


        Esecuzione dei comandi MAC come livello superiore;


        Individuazione delle figure di rete coordinatore, router ed end-device, ognuna con funzioni e
    compiti man mano decrescenti all’interno della rete;


        Auto-formazione e gestione delle connessioni di rete;
24




       Supporto dei pacchetti data e comando;


       Possibilità d'implementazione di un “Trust Centre” che gestisca le mansioni di sicurezza dell’intera
        rete ZigBee;


       Gestione delle chiavi network create con algoritmo di cifratura AES-128;


       Assegnazione di indirizzi a 16 bit per l’utilizzo nelle politiche di routing;


       Realizzazione dell’instradamento dei pacchetti attraverso due tecniche:


               Tree Routing: i pacchetti destinati ad altri dispositivi nella rete vengono inviati al
                 “padre” o al “figlio” secondo le associazioni effettuate con le primitive IEEE802.15.4


               Table Routing: un ciclo di “discovery” consente di conoscere quali sensori sono stati
                raggiunti da un pacchetto inviato in broadcast. Le risposte dei singoli dispositivi (pesati a
                seconda della funzione prescelta) consentono di realizzare ad ogni hop la tabella di routing.


Il protocollo prevede la formazione di tre differenti topologie di reti:


       Star: un solo coordinatore e più end-device collegati al coordinatore


       Tree: un coordinatore con router ed end-device, collegati fra loro a formare una struttura gerarchica
        ad albero, con coordinatore come radice, router come rami ed end-device come foglie


       Mesh: coordinatore e router formano una struttura a maglia e garantiscono percorsi alternativi in
         caso rottura di un collegamento o caduta di un router, rendendo la struttura più robusta.
25


III.II.I.II Livello di Applicazione (APL)
A livello applicativo ZigBee prevede l'identificazione di tre differenti strutture:
Application Support Sub-layer (APS):
        Fornisce l'interfaccia fra livello di rete e livello applicazione (APL)
        Applica o rimuove il livello di sicurezza
        Supporta i pacchetti data, comando e ACK
Application Framework (AF):
       Supporta i pacchetti di tipo KVP (Key Value Pair) e messaggio (MSG)
       Contiene gli oggetti applicativi con end-point da 1 a 240 (quelli utente)
ZigBee Device Objects (ZDO):
       Si comporta come un’applicazione vera e propria, supportando funzioni classiche come il
         rilevamento di nuovi dispositivi e la gestione del nodo stesso
       Possiede end-point 0
       Gestisce in modo intelligente le primitive a livello network
       Permette di effettuare discovery e binding
       Fornisce un'interfaccia di servizi fra oggetti applicativi e APS
       Inizializza APS, NWK e sicurezza ZigBee, a livello di sicurezza, fornisce anche per il livello applicativo
         chiavi di sicurezza basate sull'algoritmo di cifratura AES-128, realizzando una struttura verticale di
         controllo della sicurezza, tale da rendere la rete ZigBee difficilmente attaccabile.


IV. Hardware e firmware
IV.I Hardware
Arduino è una piattaforma hardware open-source per il physical computing, sviluppata presso l’Interaction
Design Institute (istituto con sede ad Ivrea).
Una delle particolarità di questo hardware è il suo essere una piattaforma di tipo open source. Questa
caratteristica offre infatti la possibilità di poter scaricare e consultare liberamente in rete, sia gli schemi
elettronici riguardanti la parte hardware della scheda, con relativo elenco dei componenti che la
costituiscono, sia le istruzioni per l’utilizzo della componente software affiancata al progetto. Questo
permette quindi, non solo di poter apprendere informazioni utili su come sfruttarne al meglio le potenzialità,
ma anche di potersi cimentare nel ricreare liberamente la piattaforma, o derivarne una versione modificata.
Arduino può essere utilizzato per lo sviluppo di oggetti interattivi di tipo stand-alone, ovvero capaci di
funzionare in maniera indipendente senza l’ausilio di altri oggetti o software, ma anche oggetti in grado di
interagire , tramite collegamento, con software residenti su computer, quali Processing o Adobe Flash.
26


Il suo funzionamento si basa su un microcontrollore implementato su una semplice scheda di I/O, affiancato
ad un ambiente di sviluppo integrato multipiattaforma (IDE) .
Fino ad oggi ne sono state commercializzate dodici versioni e, per questo progetto, è stata utilizzata l’ultima
versione messa in commercio, ovvero la scheda Arduino Uno.




                                   VISTA FRONTALE DELLA SCHEDA ARDUINO UNO




                                   VISTA DEL RETRO DELLA SCHEDA ARDUINO UNO


Questo modello ha un micro-controllore a 8-bit AVR prodotto dalla Atmel (ATmega328), con l’aggiunta di
componenti complementari che ne facilitino l’incorporazione in altri circuiti.
La scheda in esame include anche un regolatore di tensione a 5-volt, una memoria Flash da 8KB, una SRAM
(Static Random Access Memory) da 1KB, una EEPROM (Electrically Erasable Programmable Read-Only
Memory) da 512 bytes e un oscillatore a cristallo a 16MHz. Il controller Arduino inoltre, è pre-programmato
con un bootloader che semplifica il caricamento dei programmi sulla memoria flash incorporata nel chip.
27


Essendo un dispositivo elettronico ha bisogno di essere alimentato con energia elettrica che può essergli
fornita in due modi differenti: attraverso l’utilizzo di un alimentatore esterno (o batteria), oppure mediante
porta USB (presente sull’hardware). Il voltaggio raccomandato per l’alimentazione esterna della scheda è
compreso in un range che va dai 7 ai 12 volt in quanto, con un voltaggio minore si potrebbe causare
instabilità nel funzionamento dei pin, mentre un voltaggio minore potrebbe causare un sovraccarico di
energia e di conseguenza danneggiare la stessa.
Il collegamento USB , oltre a fornire alimentazione alla scheda, garantisce anche lo scambio di informazioni
tra questa ed il computer .
Per l’implementazione del comportamento interattivo, la scheda è fornita di funzionalità di Input/Output,
grazie alle quali riceve i segnali raccolti da sensori esterni. A seconda di tali valori poi, il comportamento
della scheda è gestito dal micro-controllore         seguendo le istruzioni determinate dal programma in
esecuzione in quel momento sulla scheda. L’interazione con l’ambiente esterno avviene attraverso l’utilizzo
di attuatori pilotati dal programma per mezzo dei canali di output in dotazione.


IV.I.I Convertitore A/D
Un convertitore analogico/digitale è un dispositivo, solitamente integrato in un microcontrollore, il cui
scopo è quello di acquisire segnali in forma analogica per poi convertirli in segnali di tipo digitale. Nel
processo di conversione vi è la perdita di informazione, difetto ineliminabile del dispositivo, che è pari al
valore del quanto. Preso ad esempio un ADC ad 8 bit, che accetta in ingresso un range di tensioni da 0 a 5V, i
valori rappresentabili della tensione ricevuta sono esattamente 256. Questi differiscono tra loro di un
quanto Q pari al rapporto 5volt/256 = 19,3 millivolt circa. Ciò significa che, una variazione della tensione in
ingresso inferiore al quanto (o intervallo di quantizzazione) non verrebbe rilevato in uscita.
Questo errore può essere attenuato solo aumentando il numero di bit che costituiscono l’ADC, ottenendo
infatti un quanto più piccolo si rende il dispositivo più sensibile alle variazioni di tensione.
28


Un esempio pratico di utilizzo del convertitore A/D potrebbe essere la creazione di un programma il quale,
tramite l’utilizzo di un pannello solare e un opportuno sensore di temperatura posizionato in una cisterna
d’acqua, possa permettere il riscaldamento di questa non appena la temperatura scende al di sotto di una
determinata soglia, mediante utilizzo di energia solare.
Questa è solo una delle innumerevoli e possibili applicazioni di un microcontrollore, dispositivo dalle grandi
potenzialità e capacità di interfacciarsi con oggetti di uso comune.


IV.II Solar cell RU2420




                                                  SOLAR CELL



Scheda riassuntiva delle specifiche:
29


IV.III Sensore di temperatura
Generalmente con il termine sensore si definisce un dispositivo che trasforma una grandezza fisica che si
vuole misurare (temperatura, distanza, luminosità) in un segnale di natura diversa, più facilmente misurabile.
Un sensore di temperatura è un dispositivo in grado di rilevare la temperatura dell’ambiente che lo circonda
fornendo in uscita una tensione proporzionale ad essa.
Per questo progetto il dispositivo utilizzato è LM35, sensore di precisione la cui uscita in tensione è
linearmente proporzionale alla temperatura misurata in gradi Celsius. Non richiede nessuna calibrazione

esterna per fornire un’accuratezza di         di grado rispetto alla temperatura di una stanza e di         C
sull’intera scala che va da -55 a +150°C. Può essere usato sia con singola alimentazione (per temperature
positive) che con alimentazione duale (per temperature negative e positive). Le sue caratteristiche principali
possono essere riassunte come di seguito:




                                         SENSORE DI TEMPERATURA LM35



IV.IV La comunicazione wireless
Sulla scheda Arduino UNO utilizzata per il progetto è stata montata una shield apposita predisposta
all'istallazione di un modulo Xbee ( prodotto dalla Maxstream ) il quale è una soluzione compatibile con lo
standard ZigBee che soddisfa, come già detto, le necessità di una rete a basso costo ed a basso consumo,
pensata soprattutto per l'utilizzo con sensori.
30




I moduli sono semplici da utilizzare, richiedono pochissima energia, sono di dimensioni sufficientemente
ridotte e costituiscono, infine, una soluzione efficace ed al contempo affidabile per la trasmissione di dati
critici.




                                             DIMENSIONI DI UN MODULO XBEE



IV.V. Il firmware
Relativamente alla trasmissione si è deciso di utilizzare il protocollo nodo-coordinatore beacon-enabled che
necessita di uno 'stimolo' iniziale da parte del ricevente al fine di iniziare la comunicazione; inviato tale
stimolo Arduino attraverso il suo modulo Xbee invia i dati richiesti; tale procedura si è effettuata tramite la
libreria Serial di cui di seguito si citano i metodi utilizzati :


          .begin()
          .end()
          .available()
          .read()
          .peek()
31


        .flush()
        .print()
        .println()
        .write()

Il metodo Serial.begin(speed) utilizzato nella funzione di setup() accetta come parametro di ingresso un
numero intero rappresentante il baude-rate ( 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400,
57600, o 115200 ), che indica la frequenza dei dati scambiati; nel progetto in questione si è scelto di
utilizzare il baude-rate di default 9600.
Il metodo Serial.available() verifica, lato Arduino, che lo 'stimolo' di inizio comunicazione abbia riempito il
buffer in ingresso; verificata la presenza di informazione nel buffer si provvede a raccogliere i dati dai
sensori attraverso la funzione Serial.read() e spedirli al calcolatore tramite la funzione Serial.print(value) o
Serial.println(value).
Ogni volta che si invocano i metodi suddetti si deve chiamare le funzione Serial.flush() che provvede a
'pulire' il buffer.
Infine la funzione Serial.write(value), fondamentalmente ha la stessa funzionalità di Serial.print(value), ma i
dati vengono convertiti in stringhe binarie.
32


V. Conclusioni
All'inizio di questo lavoro l'obiettivo che ci si era prefissato di raggiungere era quello di progettare e
realizzare un nodo sensore wireless cardine di una WSN, gestendone l'acquisizione dei dati ed
implementando il protocollo di comunicazione wireless tra i dispositivi di trasmissione e ricezione.
L'acquisizione dati è stata fatta da una solar-cell prelevandone la tensione e da un sensore di temperatura,
mentre l'invio e la ricezione degli stessi è stata effettuata sfruttando le potenzialità dei moduli Xbee di cui si
è necessitato gestirne la comunicazione via etere.
Dopo un attenta definizione nel contesto di lavoro e delle specifiche tecniche del progetto si è passati
all'identificazioni dei componenti elettronici principali che sarebbero stati utili al raggiungimento dello
scopo.
Si è riuscito quindi ad implementare un firmware rispettante le specifiche, robusto e riadattabile per gran
parte delle possibili applicazioni inerenti il progetto.
33


Bibliografia

Datasheet Arduino UNO;
Datasheet Atmel ATmega328;
Datasheet LM35;
Datasheet RU2420;
Datasheet Xbee (Maxstream);
IEEE Standards Association 802.15.4;
RFC ZigBee Protocol.

More Related Content

What's hot

Network as a Service
Network as  a ServiceNetwork as  a Service
Network as a ServiceSave Manos
 
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Toshiba - Certificate of Employment
Toshiba - Certificate of EmploymentToshiba - Certificate of Employment
Toshiba - Certificate of Employment?ukasz Ciapa?a
 
Introduction of firewall slides
Introduction of firewall slidesIntroduction of firewall slides
Introduction of firewall slidesrahul kundu
 
ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方akira6592
 
Creating a fuzzer for telecom protocol 4G LTE case study
Creating a fuzzer for telecom protocol 4G LTE case studyCreating a fuzzer for telecom protocol 4G LTE case study
Creating a fuzzer for telecom protocol 4G LTE case studyPositiveTechnologies
 
SymfonyCon 2019: Head first into Symfony Cache, Redis & Redis Cluster
SymfonyCon 2019:   Head first into Symfony Cache, Redis & Redis ClusterSymfonyCon 2019:   Head first into Symfony Cache, Redis & Redis Cluster
SymfonyCon 2019: Head first into Symfony Cache, Redis & Redis ClusterAndré Rømcke
 
便利なNFC ~利用シーンと技術の動向~
便利なNFC  ~利用シーンと技術の動向~便利なNFC  ~利用シーンと技術の動向~
便利なNFC ~利用シーンと技術の動向~NFC Forum
 
Firewall protection
Firewall protectionFirewall protection
Firewall protectionVC Infotech
 
【Interop Tokyo 2016】 次世代サービス チェイニング NSH (Network Service Header)
【Interop Tokyo 2016】 次世代サービス チェイニング NSH (Network Service Header)【Interop Tokyo 2016】 次世代サービス チェイニング NSH (Network Service Header)
【Interop Tokyo 2016】 次世代サービス チェイニング NSH (Network Service Header)シスコシステムズ合同会社
 
Wps pixie dust attack
Wps pixie dust attackWps pixie dust attack
Wps pixie dust attackinvad3rsam
 
Network firewall function & benefits
Network firewall function & benefitsNetwork firewall function & benefits
Network firewall function & benefitsAnthony Daniel
 
Physical Layer - Metal vs Fiber
Physical Layer - Metal vs FiberPhysical Layer - Metal vs Fiber
Physical Layer - Metal vs FiberYuya Rin
 
Retrospectiva
RetrospectivaRetrospectiva
RetrospectivaTI Safe
 
IOTAって何ですか?
IOTAって何ですか?IOTAって何ですか?
IOTAって何ですか?Kenta Fujimoto
 

What's hot (20)

Network as a Service
Network as  a ServiceNetwork as  a Service
Network as a Service
 
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Toshiba - Certificate of Employment
Toshiba - Certificate of EmploymentToshiba - Certificate of Employment
Toshiba - Certificate of Employment
 
Introduction of firewall slides
Introduction of firewall slidesIntroduction of firewall slides
Introduction of firewall slides
 
ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方ネットワークコンフィグ分析ツール Batfish との付き合い方
ネットワークコンフィグ分析ツール Batfish との付き合い方
 
Creating a fuzzer for telecom protocol 4G LTE case study
Creating a fuzzer for telecom protocol 4G LTE case studyCreating a fuzzer for telecom protocol 4G LTE case study
Creating a fuzzer for telecom protocol 4G LTE case study
 
SymfonyCon 2019: Head first into Symfony Cache, Redis & Redis Cluster
SymfonyCon 2019:   Head first into Symfony Cache, Redis & Redis ClusterSymfonyCon 2019:   Head first into Symfony Cache, Redis & Redis Cluster
SymfonyCon 2019: Head first into Symfony Cache, Redis & Redis Cluster
 
Suricata
SuricataSuricata
Suricata
 
便利なNFC ~利用シーンと技術の動向~
便利なNFC  ~利用シーンと技術の動向~便利なNFC  ~利用シーンと技術の動向~
便利なNFC ~利用シーンと技術の動向~
 
Firewall protection
Firewall protectionFirewall protection
Firewall protection
 
Security In LTE Access Network
Security In LTE Access NetworkSecurity In LTE Access Network
Security In LTE Access Network
 
【Interop Tokyo 2016】 次世代サービス チェイニング NSH (Network Service Header)
【Interop Tokyo 2016】 次世代サービス チェイニング NSH (Network Service Header)【Interop Tokyo 2016】 次世代サービス チェイニング NSH (Network Service Header)
【Interop Tokyo 2016】 次世代サービス チェイニング NSH (Network Service Header)
 
Wps pixie dust attack
Wps pixie dust attackWps pixie dust attack
Wps pixie dust attack
 
さくらのセキュアモバイルコネクトの仕組み
さくらのセキュアモバイルコネクトの仕組みさくらのセキュアモバイルコネクトの仕組み
さくらのセキュアモバイルコネクトの仕組み
 
14 593
14 59314 593
14 593
 
Network firewall function & benefits
Network firewall function & benefitsNetwork firewall function & benefits
Network firewall function & benefits
 
Physical Layer - Metal vs Fiber
Physical Layer - Metal vs FiberPhysical Layer - Metal vs Fiber
Physical Layer - Metal vs Fiber
 
Retrospectiva
RetrospectivaRetrospectiva
Retrospectiva
 
IOTAって何ですか?
IOTAって何ですか?IOTAって何ですか?
IOTAって何ですか?
 
Juniper Services and Support
Juniper Services and SupportJuniper Services and Support
Juniper Services and Support
 

Viewers also liked

Trabajo Final Historia De La Lengua Espanola
Trabajo Final Historia De La Lengua EspanolaTrabajo Final Historia De La Lengua Espanola
Trabajo Final Historia De La Lengua EspanolaSaundra Swain
 
Diseño de webquest
Diseño de webquestDiseño de webquest
Diseño de webquestRocio Hendez
 
AK - CERT - V JAKARTA 2007
AK - CERT - V JAKARTA 2007AK - CERT - V JAKARTA 2007
AK - CERT - V JAKARTA 2007Anthony AK
 
Slalom en silla de ruedas
Slalom en silla de ruedasSlalom en silla de ruedas
Slalom en silla de ruedasTheObabacoak
 
AK - CERT - PGDHHM 2015
AK - CERT - PGDHHM 2015AK - CERT - PGDHHM 2015
AK - CERT - PGDHHM 2015Anthony AK
 
Product development
Product developmentProduct development
Product developmentSohar Bakhsh
 
真理大學社團總覽手冊 0828
真理大學社團總覽手冊 0828真理大學社團總覽手冊 0828
真理大學社團總覽手冊 0828shanihuang
 
Safety Meeting Starter (SMS) Aug 2012
Safety Meeting Starter (SMS) Aug 2012Safety Meeting Starter (SMS) Aug 2012
Safety Meeting Starter (SMS) Aug 2012safestrat
 
Federal Reserve housing white paper
Federal Reserve housing white paperFederal Reserve housing white paper
Federal Reserve housing white paperBruce Judson
 
Ideaon Think Franchise Presentation
Ideaon Think Franchise PresentationIdeaon Think Franchise Presentation
Ideaon Think Franchise Presentationjuls4u
 

Viewers also liked (19)

Trabajo Final Historia De La Lengua Espanola
Trabajo Final Historia De La Lengua EspanolaTrabajo Final Historia De La Lengua Espanola
Trabajo Final Historia De La Lengua Espanola
 
Presentacion ppt
Presentacion pptPresentacion ppt
Presentacion ppt
 
Prof. rodrigo
Prof. rodrigoProf. rodrigo
Prof. rodrigo
 
Diseño de webquest
Diseño de webquestDiseño de webquest
Diseño de webquest
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
SRI
SRISRI
SRI
 
Pokemon
PokemonPokemon
Pokemon
 
Presentacion uniminuto
Presentacion uniminutoPresentacion uniminuto
Presentacion uniminuto
 
AK - CERT - V JAKARTA 2007
AK - CERT - V JAKARTA 2007AK - CERT - V JAKARTA 2007
AK - CERT - V JAKARTA 2007
 
Slalom en silla de ruedas
Slalom en silla de ruedasSlalom en silla de ruedas
Slalom en silla de ruedas
 
AK - CERT - PGDHHM 2015
AK - CERT - PGDHHM 2015AK - CERT - PGDHHM 2015
AK - CERT - PGDHHM 2015
 
Product development
Product developmentProduct development
Product development
 
Big Data ASAP Toronto
Big Data ASAP TorontoBig Data ASAP Toronto
Big Data ASAP Toronto
 
真理大學社團總覽手冊 0828
真理大學社團總覽手冊 0828真理大學社團總覽手冊 0828
真理大學社團總覽手冊 0828
 
Safety Meeting Starter (SMS) Aug 2012
Safety Meeting Starter (SMS) Aug 2012Safety Meeting Starter (SMS) Aug 2012
Safety Meeting Starter (SMS) Aug 2012
 
De rit van het leven
De rit van het levenDe rit van het leven
De rit van het leven
 
Federal Reserve housing white paper
Federal Reserve housing white paperFederal Reserve housing white paper
Federal Reserve housing white paper
 
Shakespeare ppt
Shakespeare pptShakespeare ppt
Shakespeare ppt
 
Ideaon Think Franchise Presentation
Ideaon Think Franchise PresentationIdeaon Think Franchise Presentation
Ideaon Think Franchise Presentation
 

Similar to Progetazione e realizzazione di un Sensor Node

La sicurezza nelle reti IEEE 802.15.4
La sicurezza nelle reti IEEE 802.15.4La sicurezza nelle reti IEEE 802.15.4
La sicurezza nelle reti IEEE 802.15.4Gianmarco Beato
 
Caratterizzazione dei sistemi cloud per la Pubblica Amministrazione
Caratterizzazione dei sistemi cloud per la Pubblica AmministrazioneCaratterizzazione dei sistemi cloud per la Pubblica Amministrazione
Caratterizzazione dei sistemi cloud per la Pubblica AmministrazioneAmmLibera AL
 
Valutazione delle prestazioni di un protocollo di routing (Surge) per reti di...
Valutazione delle prestazioni di un protocollo di routing (Surge) per reti di...Valutazione delle prestazioni di un protocollo di routing (Surge) per reti di...
Valutazione delle prestazioni di un protocollo di routing (Surge) per reti di...Andrea Marchetti
 
Aspetti di sicurezza dei protocolli Wireless
Aspetti di sicurezza dei protocolli WirelessAspetti di sicurezza dei protocolli Wireless
Aspetti di sicurezza dei protocolli WirelessPaolo Mainardi
 
Reti Wireless Metropolitane
Reti Wireless MetropolitaneReti Wireless Metropolitane
Reti Wireless MetropolitaneWiFighters
 
Tecnologia LoRa per sistemi IoT analisi ed implementazione su scheda STM32 Nu...
Tecnologia LoRa per sistemi IoT analisi ed implementazione su scheda STM32 Nu...Tecnologia LoRa per sistemi IoT analisi ed implementazione su scheda STM32 Nu...
Tecnologia LoRa per sistemi IoT analisi ed implementazione su scheda STM32 Nu...S133931
 
Progettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerProgettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerAlessandro Mascherin
 
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...TiborRacman
 
Wi Next_rete_aree_portuali
Wi Next_rete_aree_portualiWi Next_rete_aree_portuali
Wi Next_rete_aree_portualiWiFighters
 
Tesi Laurea I Livello - Vaiano
Tesi Laurea I Livello - VaianoTesi Laurea I Livello - Vaiano
Tesi Laurea I Livello - VaianoMarco Vaiano
 
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...Roberto Navoni
 
Presentazione senza titolo (5)
Presentazione senza titolo (5)Presentazione senza titolo (5)
Presentazione senza titolo (5)alessioParadisi2
 

Similar to Progetazione e realizzazione di un Sensor Node (20)

Beacons
BeaconsBeacons
Beacons
 
Sicurezza delle reti 802.11
Sicurezza delle reti 802.11Sicurezza delle reti 802.11
Sicurezza delle reti 802.11
 
La sicurezza nelle reti IEEE 802.15.4
La sicurezza nelle reti IEEE 802.15.4La sicurezza nelle reti IEEE 802.15.4
La sicurezza nelle reti IEEE 802.15.4
 
Caratterizzazione dei sistemi cloud per la Pubblica Amministrazione
Caratterizzazione dei sistemi cloud per la Pubblica AmministrazioneCaratterizzazione dei sistemi cloud per la Pubblica Amministrazione
Caratterizzazione dei sistemi cloud per la Pubblica Amministrazione
 
Valutazione delle prestazioni di un protocollo di routing (Surge) per reti di...
Valutazione delle prestazioni di un protocollo di routing (Surge) per reti di...Valutazione delle prestazioni di un protocollo di routing (Surge) per reti di...
Valutazione delle prestazioni di un protocollo di routing (Surge) per reti di...
 
Aspetti di sicurezza dei protocolli Wireless
Aspetti di sicurezza dei protocolli WirelessAspetti di sicurezza dei protocolli Wireless
Aspetti di sicurezza dei protocolli Wireless
 
Le reti di computer (2)
Le reti di computer (2)Le reti di computer (2)
Le reti di computer (2)
 
Reti Wireless Metropolitane
Reti Wireless MetropolitaneReti Wireless Metropolitane
Reti Wireless Metropolitane
 
Tecnologia LoRa per sistemi IoT analisi ed implementazione su scheda STM32 Nu...
Tecnologia LoRa per sistemi IoT analisi ed implementazione su scheda STM32 Nu...Tecnologia LoRa per sistemi IoT analisi ed implementazione su scheda STM32 Nu...
Tecnologia LoRa per sistemi IoT analisi ed implementazione su scheda STM32 Nu...
 
Progettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computerProgettazione e sviluppo di un software applicativo su un single board computer
Progettazione e sviluppo di un software applicativo su un single board computer
 
Rilevamento intrusioni in wlan
Rilevamento intrusioni in wlanRilevamento intrusioni in wlan
Rilevamento intrusioni in wlan
 
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
Analisi e prototipazione di un sistema di streaming per la localizzazione in ...
 
Wi Next_rete_aree_portuali
Wi Next_rete_aree_portualiWi Next_rete_aree_portuali
Wi Next_rete_aree_portuali
 
1 wi ng5_wlan_brochure
1 wi ng5_wlan_brochure1 wi ng5_wlan_brochure
1 wi ng5_wlan_brochure
 
Tesi Laurea I Livello - Vaiano
Tesi Laurea I Livello - VaianoTesi Laurea I Livello - Vaiano
Tesi Laurea I Livello - Vaiano
 
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...
Makers Italy: Virtual robotix e le piattaforme di prototipazione rapida vr br...
 
Modulo 1 - Lezione 3
Modulo 1 - Lezione 3Modulo 1 - Lezione 3
Modulo 1 - Lezione 3
 
WiFiProbe Info
WiFiProbe InfoWiFiProbe Info
WiFiProbe Info
 
Reti di computer
Reti di computerReti di computer
Reti di computer
 
Presentazione senza titolo (5)
Presentazione senza titolo (5)Presentazione senza titolo (5)
Presentazione senza titolo (5)
 

Progetazione e realizzazione di un Sensor Node

  • 1. Network Infrastructures A.A. 2011-2012 Progettazione e realizzazione di un sensor-node per una WSN Autori: Martina Baccini Daniele Palma Francesco Maria Gargaro
  • 2. 2 Indice I. Introduzione …………………………………………………………………………………………………………………… 4 II. Wireless sensor network ………………………………………………………………………………………………… 5 II.I Tipologie di Reti Wireless ……………………………………………………………………………………………….. 5 II.II Strutture delle Wireless Sensor Network ………………………………………………………………………. 7 II.III Sensor network e wireless sensor network ………………………………………………………………….. 10 II.IV Principali caratteristiche di una WSN ……………………………………………………………………………. 11 II.V Impiego delle Wireless Sensor Network ……………………………………………………………………….. 11 II.VI Aspetti generali di un sensor node ……………………………………………………………………………….. 13 II.VII Le generalità di un microcontrollore ……………………………………………………………………………. 13 II.VIII I sensori ……………………………………………………………………………………………………………………… 14 II.IX Costi, consumi e mezzi di trasmissione di un SN ……………………………………………………………. 14 III. Standard e protocolli di comunicazione ……………………………………………………………………………………. 14 III.I Standard IEEE 802.15.4 …………………………………………………………………………………………….............. 15 III.I.I Formazione di rete …………………………………………………………………………………………………………. 15 III.I.II Formazione della rete a stella ………………………………………………………………………………………. 15 III.I.III Formazione della rete punto a punto ………………………………………………………………………….. 15 III.I.IV Livello fisico ……..…………………………………………………………………………………………………………. 16 III.I.V Livello MAC …..…………………………………………………………………………………………………............. 17 III.I.VI Modalità di trasferimento ..………………………………………………………………………………………….. 18 III.I.VII Tipi di frame a livello MAC ……..……………………………………………………………………………………. 20 III.I.VII.I Beacon Frame ……………………………………………………………………………………………….. 20 III.I.VII.II Data Frame …………………………………………………………………………………………………… 21 III.I.VII.III Acknowledgment Frame ………………………………………………………………………………. 21 III.I.VII.IV MAC command frame ………………………………………………………………………………….. 22 III.II Protocolli di rete e applicativi ………………………………………………………………………………………………….. 23 III.II.I ZigBee ……………………………………………………………………………………………………………………………... 23 III.II.I.I Livello di rete (NWK) ……………………………………………………………………………………….. 23 III.II.I.II Livello di Applicazione (APL) …………………………………………………………………………… 25 IV. Hardware e firmware ……………………………………………………………………………………………………………………. 25 IV.I Hardware ………………………………………………………………………………………………………………………………… 25 IV.I.I Convertitore A/D ……………………………………………………………………………………………………………… 27 IV.II Solar cell RU2420 ……………………………………………………………………………………………………………………. 28
  • 3. 3 IV.III Sensore di temperatura …………………………………………………………………………………………………………. 29 IV.IV La comunicazione wireless ……………………………………………………………………………………………………. 29 IV.V Il firmware ……………………………………………………………………………………………………………………………… 30 V. Conclusioni …………………………………………………………………………………………………………………………………….. 31 Bibliografia …………………………………………………………………………………………………………………………………………. 33
  • 4. 4 I. Introduzione: Le reti di sensori wireless, come d'altronde noto, hanno la finalità di osservare, controllare e misurare, attraverso appositi dispositivi, specifiche aree da monitorare. Il monitoraggio ambientale attraverso le WSN (wireless sensor network) è una delle attività di ricerca piu' stimolanti ed impegnative affrontate negli ultimi anni; la necessità di progettare e, quindi, di realizzare sistemi di monitoraggio sempre più affidabili ed accurati, difatti, ha spinto i ricercatori a creare distribuzioni oltremodo idonee ed in grado di “sopravvivere” per lungo tempo in ogni situazione ambientale. Progettare e realizzare una WSN efficiente presuppone, a tutti gli effetti, un notevole lavoro ingegneristico, senza dover però sottacere del fattuale contributo che, nello specifico campo, la ricerca è tenuta ad apportare in merito; tale contributo, per quanto pleonastica e superflua possa apparire l'asseverazione, è oltremodo indispensabile al fine di confezionare correttamente un prodotto che possa, allo stesso tempo, essere credibile ed affidabile. Lo scopo del progetto che si è prefissato di prendere in esame e, conseguentemente, di condurre a termine, in sintesi, è quello di effettuare, gestendola dovutamente, l'acquisizione di determinati dati per un nodo sensore wireless, sottosistema che potrà essere utilizzato come elemento cardine di una WSN.
  • 5. 5 II. Wireless sensor network Il panorama delle tecnologie wireless diventa sempre più vasto, tanto che gli organi di standardizzazione (come l’IEEE, Institute of Electrical Engineers) hanno suddiviso il ramo delle comunicazioni wireless in molteplici gruppi di studio. Prima di descriverli più in dettaglio è opportuno suddividere le reti di comunicazione in base alla loro estensione. II.I Tipologie di Reti Wireless Come mostrato in figura, una classificazione delle reti wireless può essere fatta in base all’area coperta dal segnale trasmesso dai dispositivi. CLASSIFICAZIONE DELLE RETI WIRELESS IN BASE ALL’AREA DI COPERTURA  WBAN: Wireless Body Area Network, serve per connettere dispositivi “indossabili” sul corpo umano come ad esempio possono essere i componenti di un computer (auricolari); idealmente una rete di questo tipo supporta l’auto-configurazione, facendo così in modo che l’inserimento e la rimozione di un dispositivo dalla BAN risulti essere trasparente all’utente.  WPAN: Wireless Personal Area Network, il loro raggio di comunicazione è di circa 10 metri e l’obiettivo di queste reti è quello di consentire a dispositivi vicini di condividere dinamicamente informazioni. Pertanto, mentre una BAN si dedica all’interconnessione dei dispositivi indossabili da una persona, una PAN è operativa nella immediate vicinanze degli utenti. In una Personal Area Network e possibile perciò connettere dispositivi portatili tra loro oppure con stazioni fisse, ad esempio per accedere ad Internet, sincronizzare o scambiare dati e contenuti multimediali su computer portatili, desktop e palmari, etc. Lo standard più utilizzato per la realizzazione delle reti Body/Personal Area Network è Bluetooth.
  • 6. 6  WLAN: Wireless Local Area Network , che consentono la comunicazione tra dispositivi distanti tra loro anche alcune centinaia di metri e risultando così adeguate per la realizzazione soluzioni di interconnessione in ambienti chiusi o tra edifici adiacenti. La famiglia degli standard più diffusi per la realizzazione di questo genere di interconnessioni è IEEE 802.11x e può essere considerata l’alternativa wireless alle tradizionali LAN basate su IEEE 802.3/Ethernet.  WMAN: Wireless Metropolitan Area Network, hanno un raggio d’azione di circa 10 Km, fornendo così un accesso a banda larga ad aree residenziali anche piuttosto estese.  WWAN: Wireless Wide Area Network, macro reti a livello mondiale, via cavo o su link satellitari. Rappresentano il cuore della rete Internet. Questa suddivisione risulta necessaria per capire l’ambito in cui si riferiscono le WSN. Il raggio d’azione dei dispositivi utilizzati in una rete di questo tipo raggiunge al massimo qualche decina di metri e fornisce prestazioni limitate in termini di banda e capacità di elaborazione. Si possono quindi circoscrivere tutte le reti di sensori alle reti di tipo PAN. Tale classificazione per le reti wireless però non è l’unica possibile, ad esempio è possibile confrontare le tecnologie in base al consumo e alla velocità di trasmissione (data-rate). Come si può vedere in figura il rapporto tra consumo e velocità di trasmissione risulta essere proporzionale: in generale, alti data-rate implicano consumi elevati e viceversa. RAPPORTO TRA VELOCITA’ E CONSUMI DI PROTOCOLLI WIRELESS
  • 7. 7 II.II Sensor network e wireless sensor network Una rete di sensori (detta anche sensor network) è un insieme di nodi sensore disposti in prossimità oppure all'interno del fenomeno da osservare. Onde ottenere la maggior quantità possibile di dati occorre effettuare una massiccia distribuzione di sensori (nell'ordine delle migliaia o decine di migliaia) in modo da averne un'alta densità (fino a 20 nodi/m3) e far sì che i nodi stessi siano tutti vicini tra loro, condizione necessaria affinché possano comunicare. Le reti di sensori rappresentano la naturale, ma al contempo rivoluzionaria, evoluzione dell’impiego di sensori nell’ambito industriale. Convenzionalmente le comunicazioni fra nodi sensore ed i controllori centralizzati prevedono interfacce di comunicazione cablate. L’utilizzo di cavi consente l’impiego di dispositivi che non hanno limitazioni di potenza poiché, laddove si è in grado di portare una connessione cablata per i dati, sarà in generale possibile prevedere anche una o più linee di alimentazione; le soluzioni cablate, altresì, consentono di conseguire dei buoni livelli di sicurezza, atteso che occorre avere accesso fisico diretto al cavo al fine di poter prelevare informazioni dalla rete. Nello stesso tempo, però, i sensor network soffrono di gravi limitazioni riconducibili, in primo luogo, all’impossibilità o alle difficoltà d’installazione in ambienti inospitali per l’uomo, cui si aggiunge un problema implicito di costi tenuto conto che l’installazione di ciascun dispositivo richiederà, ovviamente, manodopera aggiuntiva ed ulteriori materiali per le operazioni di cablatura. A quanto sopra circostanziato va inoltre aggiunto che una struttura cablata si presenta, essenzialmente, quale una struttura “rigida”, per cui risulta oltremodo difficile aggiungere nuovi nodi alla rete o modificare la posizione dei sensori preesistenti senza dover, consequenzialmente, riconsiderare l’intera struttura della rete. Le soluzioni wireless sembrano poi essere la soluzione ideale per questo tipo di problemi, ma esse comportano, contestualmente, una serie di svantaggi in termini di problemi di propagazione del segnale, di interferenze, di sicurezza, di requisiti di potenza, di norme legislative ed altro ancora. Per molti di questi problemi esistono tuttavia soluzioni efficaci, ma per ogni soluzione adottata si dovrà sempre prendere in considerazione l’aumento della complessità progettuale e, di conseguenza, la relativa
  • 8. 8 lievitazione dei costi di realizzazione. Molte applicazioni, difatti, non permettono di utilizzare soluzioni wireless evolute. Delineando poi quali siano i requisiti cui una rete di sensori wireless deve rispondere, si può osservare che alcuni risulteranno essere comuni a qualsiasi tipologia di rete wireless (fra gli altri si possono rammentare prestazioni, range, sicurezza e consumi); altri, invece, risulteranno essere subordinati alla particolare applicazione messa in opera: è questo il caso, per esempio, della determinazione della velocità di trasmissione, tenuto conto che alcune applicazioni richiedono decine di megabits al secondo (vedi le applicazioni di video sorveglianza), mentre altre hanno requisiti meno stringenti nell’ordine di pochi kbit al secondo (telecomandi, sensori di temperatura ecc…). Le dimensioni delle reti possono inoltre variare in funzione dell’applicazione, andando dal metro fino ad alcuni chilometri. Scopo principale di una rete di sensori, poi, è distribuire sulla rete le informazioni raccolte da ciascun nodo. Affinché i dati possano essere verificati e coordinati, l’utente deve essere in grado di accedere ad ogni dispositivo per conoscerne sia la calibrazione effettuata dal costruttore sia ogni dato utile alla sua identificazione. Risulta infine indispensabile che siano previste in ogni caso delle modalità di identificazione di ciascun nodo all’interno della rete stessa. Altro fattore caratterizzante le reti di sensori è rappresentato dall'esigenza di raccogliere le informazioni dai sensori medesimi in modo sincrono, o, meglio, dalla necessità di sapere esattamente quando una grandezza viene rilevata da un trasduttore. In generale una rete di sensori dovrà avere, dal punto di vista dei tempi, un'organizzazione più deterministica rispetto a reti ad accesso casuale, le quali, generalmente, vengono impiegate nelle reti informatiche. Ogni livello fisico in grado di realizzare uno standard simile deve prevedere un cospicuo meccanismo di sincronizzazione tale da permettere la coesistenza dei diversi dispositivi sulla rete considerato che la risoluzione temporale nelle applicazioni più stringenti può essere misurata nell’ordine del microsecondo. Dalle osservazioni fin ora effettuate si può desumere che la realizzazione di una rete di sensori wireless richiede l’utilizzo di tecniche di rete specifiche e, anche se molti protocolli ed algoritmi sono stati proposti in letteratura per realizzare reti wireless ad hoc, questi non sono completamente adattabili alle reti di sensori wireless a causa delle specifiche esigenze di questo peculiare tipo di rete. Va a questo punto opportunamente rappresentato che si intende per rete ad hoc una infrastruttura di rete, appunto, che non presuppone un coordinatore centrale ed in cui ogni nodo riveste il duplice ruolo di nodo e router. Per evidenziare ancor meglio quanto asseverato, si riassumono di seguito alcune delle specifiche più stringentemente caratteristiche del wireless sensors networking:
  • 9. 9  il numero dei “nodi sensore” può essere di alcuni ordini di grandezza superiore rispetto ad una rete “ad hoc”;  i sensori vengono posizionati con densità spaziale molto elevate (decine o centinaia di sensori nello spazio di pochi metri);  i nodi possono avere malfunzionamenti, che non devono però pregiudicare l’efficienza della rete;  la topologia di rete può variare nel tempo in modo molto frequente;  i sensori usano principalmente comunicazioni di tipo broadcast;  i sensori hanno limiti serrati in termini di potenza. A causa dell’elevata densità di posizionamento, i nodi possono essere molto vicini fra loro e ciò, ovviamente, comporta un indubbio vantaggio, visto che, in tal caso, si potranno realizzare algoritmi di rete multi hop per raggiungere il corretto destinatario dell’informazione; tuttavia va osservato che, contestualmente, si potranno avere dei problemi di mutua interferenza fra sensori distinti. Una soluzione algoritmica di tipo multi-hop permette di adoperare dei nodi che fungono da relay verso altri nodi. L’uso di strategie multi-hop può consentire l’utilizzo di basse potenze di trasmissione, migliorando così le caratteristiche dei nodi in termini di requisiti di potenza; quest’ultima, infatti, risulta essere una delle caratteristiche più pressanti poiché i sensori si avvalgono delle sorgenti di potenza che non possono essere in generale sostituite o, quantomeno, non possono essere sostituite frequentemente: per tale motivo un'efficiente implementazione di wireless sensor networking deve postulare meccanismi che diano la possibilità all’utente di scegliere il compromesso migliore fra prestazioni e durata delle batterie. Lo sviluppo di reti wireless dedicate al mondo dei sensori ha visto nell’ultimo periodo l’affermazione delle LR-WPAN (Low rate Personal Area Network), le quali, come lo si può facilmente intuire dal nome, sono caratterizzate da dimensioni contenute ed al contempo da bassi transfer rate. La definizione stessa di LR- WPAN risulta essere in netto e manifesto contrasto con le metriche mediante le quali generalmente si è abituati a valutare una rete, cioè QoS (Quality of Service) e data rate. Entrambe queste peculiarità risultano essere aspetti secondari in una rete di sensori poiché, come già rappresentato, molte applicazioni richiedono semplicemente il trasferimento di pochi kbit/s, il che porta a considerare come fattori di primaria importanza il contenimento dei costi unitamente a quello dei consumi.
  • 10. 10 II.III Strutture delle Wireless Sensor Network Una rete di sensori può essere realizzata in tre differenti topologie, dove con il termine topologia si indica la modalità in cui i diversi dispositivi della rete vengono disposti e, in particolare, i collegamenti fisici e logici che li interconnettono. Nelle reti wireless esistono tre principali strutture, rappresentate in figura: reti a stella (star), reti mesh (o peer to peer) e reti ad albero (tree).  STELLA si individua un nodo centrale dotato di funzionalità di controllo. Viene definito coordinatore della rete o centro della rete a stella; tutti gli altri nodi fanno riferimento a questo nodo centrale. Ogni device vede solo il coordinatore e per dialogare con altri device deve passare attraverso di esso.  MESH anche in questo caso esiste un solo coordinatore, ma ogni dispositivo può comunicare con gli altri senza dover passare dal coordinatore: la rete assume una topologia magliata. Questo tipo di topologia è meno gerarchica e rigida e ben si adatta a situazioni auto configuranti o a reti Ad-Hoc. Questo tipo di rete permette anche la comunicazione multi-hop e fornisce una maggiore affidabilità della rete mediante percorsi multipli tra sorgente e destinazione (ridondanza).  TREE in questa topologia ad albero le foglie sono costituite da grappoli, ossia da sottoreti. Questa rete è un tipo particolare di rete P2P in cui alcuni dispositivi coordinano i singoli cluster, assumendo il compito di cluster-head(CLH). I dispositivi RFD possono essere considerati come nodi figli che si agganciano ai CLH. Questa topologia è molto dinamica e mediante opportuni algoritmi permette a dispositivi esterni di agganciarsi ad uno dei cluster. TOPOLOGIE DI RETE
  • 11. 11 II.IV Principali caratteristiche di una WSN  Tolleranza ai guasti: un nodo potrebbe esaurire la batteria, subire danni fisici oppure perdere il collegamento wireless con gli altri nodi e/o con il pc. Una simile situazione non deve però danneggiare il resto della rete ed un altro nodo dovrebbe sostituire, prendendone il posto, il nodo “perso”.  Scalabilità: una WSN può contenere fino a migliaia di nodi e la sua architettura deve essere in grado di supportarli tutti.  Programmabilità: i nodi devono essere in grado di poter modificare i propri compiti in qualunque momento, ovvero devono poter essere riprogrammabili.  Manutenibilità: le WSN e l'ambiente in cui sono installate sono in continuo mutamento per cui la rete deve comunque essere in grado di adattarsi monitorando il proprio stato di “salute” ed aggiornando i propri parametri: deve, in sintesi, essere in grado di gestirsi autonomamente. II.V Impiego delle Wireless Sensor Network Le reti di sensori possono essere utilizzate in svariati campi. Viene di seguito presentato un elenco dei settori dove vengono tipicamente impiegate le Wireless Sensor Network.  Monitoraggio ambientale: (Enviromental and habitat monitoring) In campo ambientale le applicazioni possono essere molteplici: è possibile monitorare movimenti di animali oppure studiare particolari habitat, come il mare, il terreno o l’aria impiegando, ad esempio, sistemi di monitoraggio di agenti inquinanti. Appartengono a questo settore anche lo studio di eventi naturali catastrofici quali incendi, tornado, terremoti ed eruzioni vulcaniche.  Monitoraggio di strutture: (Structural Health Monitoring) Le reti di sensori posizionate sulle strutture rilevano lo stato di salute di edifici, ponti, case sottoposte a sollecitazioni esterne; in alternativa, potrebbero essere utilizzate anche per misurare difetti strutturali di componenti.  Controllo del traffico veicolare: (Traffic control) Un sistema di sensori finalizzato al monitoraggio del traffico controlla il passaggio di automobili, analizzare la velocità ed l’intensità del traffico ed individuando eventuali blocchi o situazioni anomale.  Sorveglianza di edifici: (Infrastructure control) Questo tipo di reti può essere utilizzato come ausilio per la sorveglianza di centri commerciali o di luoghi a rischio, come stazioni ferroviarie o aereoporti.
  • 12. 12  Sorveglianza militare: (Militar control) Le reti di sensori sono state utilizzate in principio per questo scopo. Le loro applicazioni spaziando dal monitoraggio sullo stato o la posizione delle forze sul campo di battaglia alla sorveglianza di luoghi strategici. Possono inoltre essere dispiegate in luoghi ostili al fine di raccogliere informazioni sugli spostamenti del nemico.  Monitoraggio di apparecchiature industriali: (Industrial sensing) I sensori wireless possono essere applicati a macchinari industriali per analizzarne il comportamento dei componenti sottoposti a stress meccanico, migliorarne le performance o prevenire rotture e guasti.  Monitoraggio Agricolo: (Agriculture sensing) Nel settore agricolo le reti WSN vengono utilizzate per il monitoraggio di particolari situazioni ambientali; in particolar modo la cosiddetta “agricoltura di precisione” utilizza le reti di sensori per rilevare in tempo reale il livello di pesticidi nell’acqua o nei terreni agricoli.  Applicazioni Personali: (Personal sensoring) Nel settore della domotica le reti di sensori riescono a fornire servizi all’utente all’interno della propria abitazione, ad esempio informandolo tempestivamente di eventuali guasti. I sensori possono essere introdotti negli apparecchi elettrici e questi, interagendo tra loro e con una rete esterna o Internet stesso, permettono all’utente di comandare facilmente gli elettrodomestici a distanza.  Applicazioni Mediche: (Personal Health Care) Le reti wireless sono oggi impiegate anche per monitorare pazienti, eseguire valutazioni diagnostiche, amministrare farmaci in ospedale e monitorare a distanza dati fisiologici quali la frequenza cardiaca o la pressione sanguigna.
  • 13. 13 II.VI Aspetti generali di un sensor node I nodi sensori (sensor node o mote) sono, per definizione, piccoli apparecchi a bassa potenza, multifunzionali e capaci di comunicare tra loro; tali dispositivi sono formati da componenti in grado di rilevare grandezze fisiche (sensori di posizione, temperatura, umidità ecc.), di elaborare dati e trasmetterli. STRUTTURA DI UN SENSOR NODE Dal punto di vista dimensionale un nodo sensore può variare dalla grandezza di una scatola di scarpe fino a quella di un granello di polvere, benché dispositivi funzionanti di vere dimensioni microscopiche attendano ancora di essere creati. Oltre ad uno o più sensori, ogni nodo in una rete è in genere dotato di una radio ricetrasmittente o di altro dispositivo di comunicazione wireless, di un piccolo microcontrollore e di una fonte di energia, di solito una batteria, limitata e non rinnovabile. Una volta messo in opera, deve lavorare comunque in modo autonomo: per questo motivo tali dispositivi sono tenuti a mantenere costantemente i consumi molto bassi, così da avere un maggior ciclo di vita. II.VII Le generalità di un microcontrollore Il microcontrollore, cuore del nodo sensore, svolge specifici compiti, elabora i dati e controlla la funzionalità di altri componenti del nodo sensore stesso. I microcontrollori costituiscono indubbiamente la scelta migliore per un nodo sensore e, sovente, rappresentano l'opzione più opportuna e conveniente per i sistemi embedded grazie alla loro flessibilità di connessione ad altri dispositivi, alla loro facilità di programmazione nonché ai bassi consumi che presentano, i quali possono essere effettivamente ridotti dal momento in cui questi dispositivi possono lavorare in uno stato di sospensione, con solo una parte del controllore attiva. I microcontrollori, infine, sono in grado di gestire funzioni di comando sia analogiche sia digitali.
  • 14. 14 II.VIII I sensori Un sensore è comunemente definito come un particolare trasduttore che si trova in diretta interazione con il sistema misurato. I sensori, unitamente al microcontrollore, sono gli elementi fondamentali di un sensor node. II.IX Costi, consumi e mezzi di trasmissione di un SN I nodi sensore hanno un costo variabile, il quale può oscillare - secondo un'ampiezza di forbice ricompresa fra svariate centinaia di euro e pochi centesimi - a seconda delle dimensioni della rete e della sua relativa complessità. Ovviamente le dimensioni ed i costi sono direttamente correlabili e proporzionati all'utilizzo di specifiche risorse quali l'energia, la memoria e la velocità di calcolo e di banda. Tra i vari mezzi di trasmissione, nello specifico, si possono annoverare: i wireless a radiofrequenza, la comunicazione ottica e gli infrarossi. La comunicazione ottica richiede meno energia, ma, per converso, soffre di un'eccessiva sensibilità alle condizioni atmosferiche. La comunicazione ad infrarossi, dal suo canto, pur non avendo invero bisogno di antenne, è tuttavia limitata nella sua capacità di trasmissione. La maggior parte dei ricetrasmettitori, solitamente, opera in modalità standby in quanto presenta un consumo energetico pari quasi alla potenza consumata in modalità di ricezione. Pertanto, diventa opportuno, per non dire economicamente conveniente, spegnere del tutto il ricetrasmettitore piuttosto che lasciarlo in modalità standby allorché non funziona né da trasmittente né da ricevente. Va poi sottolineato che una quantità significativa di energia viene consumata quando si passa dalla modalità sleep alla modalità di trasmissione per inviare un pacchetto. Quando i sensori rilevano l'evento che si intende controllare (calore, pressione, suono, luce, campo magnetico-elettrico, vibrazione, ecc.), il fenomeno preso in considerazione deve essere segnalato ad una delle stazioni radio base, la quale può prendere i provvedimenti opportuni dettati dal caso (inviare, ad esempio, un messaggio su internet oppure ad un satellite). A seconda dell'applicazione e dell'obiettivo, si rende infine necessaria l'adozione di diverse strategie e di algoritmi di propagazione. III. Standard e protocolli di comunicazione Nell’ambito delle comunicazioni wireless e più precisamente nelle wireless a corto raggio è stato definito uno standard definito dall’IEEE chiamato 802.15.4. Questo standard è pensato per comunicazioni wireless di basso costo, bassa velocità e basso consumo energetico; è adatto a reti W-PAN a basso bit rate costituite da dispositivi alimentati tramite batterie che non possono essere sostituite frequentemente, come, ad esempio, i sensori. Le sue principali caratteristiche sono la capacità di coprire un raggio di azione di poche decine di metri offrendo fino ad un data-rate massimo di 250 Kbps. Offre una bassa potenza in trasmissione
  • 15. 15 implicando un basso consumo energetico permettendo quindi ai livelli superiori la presenza di livelli di rete che possono effettuare routing. Offre altresí la possibilità di poter utilizzare ACK e quindi di poter effettuare ritrasmissioni dei dati in caso di mancato ricevimento o di errore di trasmissione. III.I Standard IEEE 802.15.4 Lo standard 802.15.4 definisce il livello 1 (livello fisico) e il livello 2 (livello MAC). I dispositivi, dettate dalle specifiche IEEE 802.15.4, possono avere due diverse modalità: Reduced Function Device (RFD) e Full Function Device (FFD). FFD ha funzioni da coordinatore e può funzionare con qualsiasi tipologia di rete si fa carico delle connessioni con gli altri dispositivi. L’RFD è utilizzato unicamente nelle tipologie a stella, non può diventare coordinatore della rete e può colloquiare solamente con esso. La possibilità offerta dal protocollo ai dispositivi di poter creare un collegamento con altri dispositivi adiacenti dà la possibilità di poter costruire reti di grandi dimensione e molto complesse passando da strutture a stella a strutture formate da cluster di dispositivi. III.I.I Formazione di rete La formazione della rete è gestita dal livello rete dello stack ISO/OSI che non fa parte di questo standard, dato che il protocollo IEEE802.15.1 definisce solo gli ultimi due livelli dello stack; tuttavia è fornita una breve visione su come ogni tipologia d’architettura possa essere formata. III.I.II Formazione della rete a stella Al momento dell’attivazione i dispositivi FFD si pongono nella modalità di funzionamento come coordinatori, iniziando una scansione tra i canali in cerca di altri dispositivi, sia che quest’ultimi siano FFD che RFD; a questo punto ogni dispositivo FFD attivato potrebbe creare una propria rete e diventare il coordinatore PAN. Tutte le star networks lavorano indipendentemente da tutte le altre star presenti nell’area; in ultimo viene scelto il coordinatore PAN tra i dispositivi FFD, dando priorità ai dispositivi FFD che non siano coordinatori delle reti a stella. III.I.III Formazione della rete punto a punto Nella rete peer to peer ogni dispositivo è in grado di comunicare con qualsiasi altro dispositivo nel raggio d’azione. Un dispositivo potrà essere nominato come coordinatore PAN, per esempio, in virtù di essere stato il primo dispositivo a comunicare sul canale, oppure in base alle strutture di rete preimpostate nei dispositivi FFD, che potrebbero imporre restrizioni tipologiche sulla formazione della rete stessa.
  • 16. 16 III.I.IV Livello fisico I servizi, che il livello fisico offre, intervengono sull’accensione e sullo spegnimento del modulo radio, questa opzione permette al sistema un il risparmio d’energia, effettua, inoltre, la scelta del canale di comunicazione calcolando una stima sull’occupazione del canale ed analizza e calcola il rapporto segnale/rumore di un canale per scegliere il migliore diminuendo la probabilità di errori in trasmissione. Ovviamente modula e demodula i segnali in ricezione e in trasmissione. Il livello fisico opera nella banda ISM utilizzando tre possibili bande libere: BANDE DI FREQUENZA PER LE WSN  868-868.6 Mhz: banda utilizzata nella maggior parte dei paesi europei con un data-rate di 20kbps disponendo di un solo canale a disposizione;  902-928 Mhz : banda utilizzata nel continente oceanico e nel continente americano, offrendo un data-rate di 40Kbps e 10 canali disponibili;  2400-2483.5 : banda utilizzabile in quasi tutto il globo con un data-rate massimo di 250 Kbps e 16 canali a disposizione. La modulazione del segnale più diffusa è il DSSS utilizzando tecniche BPSK, O-QPSK, anche se recentemente sono state introdotte nuove modulazioni in aggiunta al DSSS come PSSS. Il datagramma a livello fisico, come mostrato figura, è formato da una serie di campi: all’inizio si trova il preambolo, formato da 32 bit, con finalità di sincronizzazione tra i nodi. Successivamente viene utilizzato un ottetto (11100101) prefissato che funge da indicatore di inizio pacchetto. Segue un campo physical header che indica la lunghezza del payload.
  • 17. 17 Il payload è chiamato Phisical Service Data Units (PSDU) che può avere una lunghezza massima di 127 bytes. III.I.V Livello MAC Il secondo livello (MAC) offre servizi quali la possibilità di creare una rete PAN, la trasmissione dei beacon e l’accesso al canale tramite il protocollo CSMA/CA. Questo livello supporta algoritmi di cifratura basata su AES-128 per la sicurezza dei dati, gestisce, inoltre, l’handshake, cioè gli Acknowledge per la ritrasmissione dei dati in caso di mancata o erronea ricezione. Calcola e verifica l’integrità della PDU. DATAGRAMMA A LIVELLO MAC Può supportare reti fino ad un massimo di 65536 nodi poiché utilizza un indirizzamento fino a 16 bit. Il livello MAC prevede una struttura chiamata superframe. Questa frame è costruita dal coordinatore della rete ed è contenuta tra due messaggi chiamati beacon. I beacon contengono informazioni che possono essere utilizzate per la sincronizzazione dei dispositivi, per l’identificazione della rete, per descrivere la struttura della superframe stessa e la periodicità di spedizione dei beacon. La superframe è divisa in 16 slot temporali di uguale grandezza, dove il beacon frame è trasmesso nel primo e nell’ultimo slot di ogni superframe. Si possono avere due tipi di superframe senza GTS (Guaranteed Time Slot) e con GTS. Quando viene inviata una superframe senza GTS, l’accesso al canale è regolarizzato dal protocollo CSMA/CA dove ogni dispositivo deve competere con gli altri per assicurarsi l’accesso ad uno slot. Questo periodo è chiamato CAP (Contention Access Period), visibile nella figura sottostante. SUPERFRAME SENZA GTS In altri tipi di applicazioni, invece, si necessita di costruire reti tali per cui garantire a tutti i nodi di poter trasmettere. E’ il caso di superframe con GTS, la quale dedica fino ad un massimo di sette slot temporali,
  • 18. 18 detti CFP (Contention-Free Period), a determinati nodi. In questo periodo possono comunicare solamente i nodi prestabiliti e l’accesso al canale non è più CSMA/CA. SUPERFRAME CON GTS. III.I.VI Modalità di trasferimento La trasmissione dei dati può avvenire in tre modi differenti a seconda di chi spedisce i dati. La prima modalità si riferisce al trasferimento dati dal nodo al coordinatore, la seconda da coordinatore a nodo, la terza tra due nodi. Le prime due modalità possono essere utilizzate in tipologia di reti a stella mentre per le reti mesh possono essere utilizzate tutte e tre le modalità. E’ possibile utilizzare due meccanismi differenti per la trasmissione dei dati: trasmissione senza l’utilizzo di beacon oppure trasmissioni basate sui beacon. Con una rete beacon-enabled, quando un nodo deve trasferire i dati ad un coordinatore, ascolta il beacon e si sincronizza alla superframe. Il nodo trasmette il relativo pacchetto al coordinatore il quale, opzionalmente, dopo aver ricevuto i dati, trasmette un pacchetto di conferma dell’avvenuta ricezione al dispositivo (ACK). Il colloquio tra i due terminali è visibile nella figura TRASMISSIONE NODO-COORDINATORE BEACON-ENABLED In una rete beacon-disable, quando un dispositivo desidera trasferire dei dati al coordinatore, trasmette semplicemente utilizzando il protocollo di accesso al canale CSMA/CA. Anche in questo caso il coordinatore dopo la ricezione dei dati trasmette un ACK opzionale.
  • 19. 19 La comunicazione diventa più articolata quando è il coordinatore che necessita di comunicare con un nodo. Se la rete è beacon-enabled, il coordinatore indica nel beacon la necessità di trasferire dati ad un dispositivo, il quale risponde attraverso una PDU chiamata MAC command. La MAC command ha il significato di conferma all’invio dei dati. Il coordinatore, dopo aver ricevuto la MAC command, spedisce in successione una PDU ACK di conferma e successivamente i dati. Il nodo a trasferimento completato invia un ACK. Nella rete beacon-disabled, nel trasferimento dati da coordinatore a nodo avviene allo stesso modo con la sola differenza che il coordinatore memorizza i dati finché non è il nodo stesso a stabilire la connessione. In questa modalità si ricorda che ogni accesso è fatto attraverso il CSMA/CA. TRASMISSIONE NODO-COORDINATORE BEACON-DISABLED. TRASMISSIONE COORDINATORE-NODO BEACON-ENABLED. TRASMISSIONE COORDINATORE-NODO BEACON-DISABLED.
  • 20. 20 III.I.VII Tipi di frame a livello MAC Le strutture dei frame sono state realizzate per minimizzare la complessità ed ottenere una sufficiente robustezza delle trasmissioni all’interno di canali rumorosi. Lo standard IEEE802.15.4 definisce quattro tipi di strutture di frame: - Il beacon frame: usato dal coordinatore della rete PAN per trasmettere i menzionati beacon - Il data frame: usato per tutti i trasferimento di dati - Acknowledgment frame: usato per dar conferma d’avvenuta ricezione di un pacchetto - MAC frame: utilizzato per portare istruzioni sulle particolari configurazioni del MAC dei dispositivi III.I.VII.I Beacon Frame I beacon frame sono generati dai livelli MAC e PHY del coordinatore della rete PAN e vengono spediti solo nel caso si sia in una rete beacon abilitata. In figura si possono notare i campi generati dal livello fisico, quali: preambolo, delimitatore del frame e lunghezza del frame stesso ed i campi generati dal livello MAC del coordinatore di rete. I campi del livello MAC sono di fondamentale importanza nelle reti beacon abilitate perché portano informazioni sui parametri della struttura del superframe, sui campi d’indirizzamento e sulle tempistiche dei beacon stessi. Il MAC Service Data Unit (MSDU) contiene le specifiche del superframe, attesa di specifiche d’indirizzo, lista d’indirizzi e i campi di messaggio utile ed è situato tra il MAC Header (MHR) e il MAC Footer (MFR). Il MHR contiene i campi di controllo del MAC stesso, tra cui il numero di sequenza del beacon (BSN) e i campi d’informazioni sull’indirizzamento, mentre l’MFR contiene i sedici bit della sequenza di check (frame check sequence FCS). Il MHR (MAC header) assieme al MSDU (MAC service data unit) e al MFR (MAC footer) compongono il MAC beacon frame (MPDU). FORMATO BEACON FRAME
  • 21. 21 L’MPDU viene passato al livello fisico attraverso il PHY Service Data Unit (PSDU), il quale viene anticipato dall’header di sincronizzazione (SHR), composto dalla sequenza di preambolo e dai delimitatori di inizio-fine struttura, quindi dall’intestazione del livello fisico (PHR), contenente la lunghezza del PSDU espressa in base otto. La sequenza di preambolo serve al ricevitore per potersi sincronizzare col trasmettitore prima che inizi la vera e propria trasmissione. L’insieme dei campi PSDU, PHR e SHR formano il pacchetto beacon visto al livello fisico (PPDU) prima di essere spedito all’interno del canale di comunicazione. III.I.VII.II Data Frame Il data frame è impiegato per la trasmissione di dati tra dispositivi dello stesso network e a differenza del beacon frame, può essere generato da ogni tipo di dispositivo, sia RFD che FFD. Il campo data viene passato al MAC dai livelli superiori e inserito nel MAC Service Data Unit (MSDU), situato tra il MHR e il MFR. Il MAC header (MHR) è composto a sua volta da altri tre campi: il campo di controllo del frame, il campo contenente il numero seriale del pacchetto e il campo contenente informazioni d’indirizzamento; mentre il MAC Footer (MFR) contiene i sedici bit della sequenza di chech (frame check sequence FCS). Il MAC header (MHR) assieme al MAC service data unit (MSDU) e al MAC footer (MFR) compongono il MAC data frame (MPDU), il quale viene passato al livello fisico attraverso il PHY Service Data Unit (PSDU). Il PSDU assieme al PHR, campo che contenente la lunghezza del frame e al SHR, contenente la sequenza di preambolo e i delimitatori della struttura, compongono il pacchetto dati visto al livello fisico (PPDU). FORMATO DATA FRAME. III.I.VII.III Acknowledgment Frame Il pacchetto di ACK è generato da tutti i dispositivi della rete ZigBee e contiene al suo interno informazioni riguardanti l’avvenuta ricezione di pacchetti. Il pacchetto di ACK generato dal livello MAC è composto da due blocchi, il MHR e il MFR. Il MAC header contiene informazioni sul controllo del frame e il numero seriale dell’ACK, mentre il MAC footer contiene i sedici bit della sequenza di chech (frame check sequence FCS). L’unione di tutti questi campi costituisce il MAC acknowledgment frame (MPDU), il quale viene passato al livello fisico attraverso il PHY Service Data Unit (PSDU).
  • 22. 22 FORMATO DELL'ACK FRAME Il PSDU assieme al PHR, campo che contenente la lunghezza del frame ed al SHR, contenente la sequenza di preambolo ed i delimitatori della struttura, compongono il pacchetto ack visto al livello fisico (PPDU). III.I.VII.IV MAC command frame In figura è mostrata la struttura del MAC command frame generata dal livello MAC del coordinatore. Il pacchetto MSDU è composto da due blocchi, il command type e il command payload; il primo contiene informazioni sulla tipologia del comando da eseguire, mentre il secondo contiene le specifiche da eseguire. Il blocco MAC service data unit (MSDU), assieme al MAC header (MHR) e al MAC footer (MFR) formano il MAC command frame (MPDU), il quale viene passato al livello fisico attraverso il PHY Service Data Unit (PSDU). Il PSDU assieme al PHR, campo che contenente la lunghezza del frame, e al SHR, contenente la sequenza di preambolo, compongono il pacchetto command visto al livello fisico (PPDU). FORMATO DELLA MAC COMMAND FRAME
  • 23. 23 III.II Protocolli di rete e applicativi Basandosi sui primi due livelli definiti dagli standard sono stati sviluppati diversi protocolli di livello tre (network) e di livello quattro (applicativi). In commercio sono proposte varie soluzioni costruite da diverse case produttrici e per questo progetto è stata utilizzata la tecnologia ZigBee. III.II.I ZigBee Basato sulle specifiche dello standard 802.15.4, la tecnologia ZigBee che implementa protocolli fino a livello applicativo. In figura viene proposto un parallelo con la classica architettura ISO/OSI. Viene definita a basso costo perché può essere utilizzata in svariate applicazioni e a basso consumo perché offre alte prestazioni sulla conservazione delle batterie. PROTOCOLLI IMPLEMENTATI NELLO ZIGBEE. III.II.I.I Livello di rete (NWK) In questo livello s’inserisce il protocollo ZigBee il quale, come già detto in precedenza,fornisce i servizi di rete e livello applicativo. Le funzioni ZigBee del livello di rete riguardano:  Esecuzione dei comandi MAC come livello superiore;  Individuazione delle figure di rete coordinatore, router ed end-device, ognuna con funzioni e compiti man mano decrescenti all’interno della rete;  Auto-formazione e gestione delle connessioni di rete;
  • 24. 24  Supporto dei pacchetti data e comando;  Possibilità d'implementazione di un “Trust Centre” che gestisca le mansioni di sicurezza dell’intera rete ZigBee;  Gestione delle chiavi network create con algoritmo di cifratura AES-128;  Assegnazione di indirizzi a 16 bit per l’utilizzo nelle politiche di routing;  Realizzazione dell’instradamento dei pacchetti attraverso due tecniche:  Tree Routing: i pacchetti destinati ad altri dispositivi nella rete vengono inviati al “padre” o al “figlio” secondo le associazioni effettuate con le primitive IEEE802.15.4  Table Routing: un ciclo di “discovery” consente di conoscere quali sensori sono stati raggiunti da un pacchetto inviato in broadcast. Le risposte dei singoli dispositivi (pesati a seconda della funzione prescelta) consentono di realizzare ad ogni hop la tabella di routing. Il protocollo prevede la formazione di tre differenti topologie di reti:  Star: un solo coordinatore e più end-device collegati al coordinatore  Tree: un coordinatore con router ed end-device, collegati fra loro a formare una struttura gerarchica ad albero, con coordinatore come radice, router come rami ed end-device come foglie  Mesh: coordinatore e router formano una struttura a maglia e garantiscono percorsi alternativi in caso rottura di un collegamento o caduta di un router, rendendo la struttura più robusta.
  • 25. 25 III.II.I.II Livello di Applicazione (APL) A livello applicativo ZigBee prevede l'identificazione di tre differenti strutture: Application Support Sub-layer (APS):  Fornisce l'interfaccia fra livello di rete e livello applicazione (APL)  Applica o rimuove il livello di sicurezza  Supporta i pacchetti data, comando e ACK Application Framework (AF):  Supporta i pacchetti di tipo KVP (Key Value Pair) e messaggio (MSG)  Contiene gli oggetti applicativi con end-point da 1 a 240 (quelli utente) ZigBee Device Objects (ZDO):  Si comporta come un’applicazione vera e propria, supportando funzioni classiche come il rilevamento di nuovi dispositivi e la gestione del nodo stesso  Possiede end-point 0  Gestisce in modo intelligente le primitive a livello network  Permette di effettuare discovery e binding  Fornisce un'interfaccia di servizi fra oggetti applicativi e APS  Inizializza APS, NWK e sicurezza ZigBee, a livello di sicurezza, fornisce anche per il livello applicativo chiavi di sicurezza basate sull'algoritmo di cifratura AES-128, realizzando una struttura verticale di controllo della sicurezza, tale da rendere la rete ZigBee difficilmente attaccabile. IV. Hardware e firmware IV.I Hardware Arduino è una piattaforma hardware open-source per il physical computing, sviluppata presso l’Interaction Design Institute (istituto con sede ad Ivrea). Una delle particolarità di questo hardware è il suo essere una piattaforma di tipo open source. Questa caratteristica offre infatti la possibilità di poter scaricare e consultare liberamente in rete, sia gli schemi elettronici riguardanti la parte hardware della scheda, con relativo elenco dei componenti che la costituiscono, sia le istruzioni per l’utilizzo della componente software affiancata al progetto. Questo permette quindi, non solo di poter apprendere informazioni utili su come sfruttarne al meglio le potenzialità, ma anche di potersi cimentare nel ricreare liberamente la piattaforma, o derivarne una versione modificata. Arduino può essere utilizzato per lo sviluppo di oggetti interattivi di tipo stand-alone, ovvero capaci di funzionare in maniera indipendente senza l’ausilio di altri oggetti o software, ma anche oggetti in grado di interagire , tramite collegamento, con software residenti su computer, quali Processing o Adobe Flash.
  • 26. 26 Il suo funzionamento si basa su un microcontrollore implementato su una semplice scheda di I/O, affiancato ad un ambiente di sviluppo integrato multipiattaforma (IDE) . Fino ad oggi ne sono state commercializzate dodici versioni e, per questo progetto, è stata utilizzata l’ultima versione messa in commercio, ovvero la scheda Arduino Uno. VISTA FRONTALE DELLA SCHEDA ARDUINO UNO VISTA DEL RETRO DELLA SCHEDA ARDUINO UNO Questo modello ha un micro-controllore a 8-bit AVR prodotto dalla Atmel (ATmega328), con l’aggiunta di componenti complementari che ne facilitino l’incorporazione in altri circuiti. La scheda in esame include anche un regolatore di tensione a 5-volt, una memoria Flash da 8KB, una SRAM (Static Random Access Memory) da 1KB, una EEPROM (Electrically Erasable Programmable Read-Only Memory) da 512 bytes e un oscillatore a cristallo a 16MHz. Il controller Arduino inoltre, è pre-programmato con un bootloader che semplifica il caricamento dei programmi sulla memoria flash incorporata nel chip.
  • 27. 27 Essendo un dispositivo elettronico ha bisogno di essere alimentato con energia elettrica che può essergli fornita in due modi differenti: attraverso l’utilizzo di un alimentatore esterno (o batteria), oppure mediante porta USB (presente sull’hardware). Il voltaggio raccomandato per l’alimentazione esterna della scheda è compreso in un range che va dai 7 ai 12 volt in quanto, con un voltaggio minore si potrebbe causare instabilità nel funzionamento dei pin, mentre un voltaggio minore potrebbe causare un sovraccarico di energia e di conseguenza danneggiare la stessa. Il collegamento USB , oltre a fornire alimentazione alla scheda, garantisce anche lo scambio di informazioni tra questa ed il computer . Per l’implementazione del comportamento interattivo, la scheda è fornita di funzionalità di Input/Output, grazie alle quali riceve i segnali raccolti da sensori esterni. A seconda di tali valori poi, il comportamento della scheda è gestito dal micro-controllore seguendo le istruzioni determinate dal programma in esecuzione in quel momento sulla scheda. L’interazione con l’ambiente esterno avviene attraverso l’utilizzo di attuatori pilotati dal programma per mezzo dei canali di output in dotazione. IV.I.I Convertitore A/D Un convertitore analogico/digitale è un dispositivo, solitamente integrato in un microcontrollore, il cui scopo è quello di acquisire segnali in forma analogica per poi convertirli in segnali di tipo digitale. Nel processo di conversione vi è la perdita di informazione, difetto ineliminabile del dispositivo, che è pari al valore del quanto. Preso ad esempio un ADC ad 8 bit, che accetta in ingresso un range di tensioni da 0 a 5V, i valori rappresentabili della tensione ricevuta sono esattamente 256. Questi differiscono tra loro di un quanto Q pari al rapporto 5volt/256 = 19,3 millivolt circa. Ciò significa che, una variazione della tensione in ingresso inferiore al quanto (o intervallo di quantizzazione) non verrebbe rilevato in uscita. Questo errore può essere attenuato solo aumentando il numero di bit che costituiscono l’ADC, ottenendo infatti un quanto più piccolo si rende il dispositivo più sensibile alle variazioni di tensione.
  • 28. 28 Un esempio pratico di utilizzo del convertitore A/D potrebbe essere la creazione di un programma il quale, tramite l’utilizzo di un pannello solare e un opportuno sensore di temperatura posizionato in una cisterna d’acqua, possa permettere il riscaldamento di questa non appena la temperatura scende al di sotto di una determinata soglia, mediante utilizzo di energia solare. Questa è solo una delle innumerevoli e possibili applicazioni di un microcontrollore, dispositivo dalle grandi potenzialità e capacità di interfacciarsi con oggetti di uso comune. IV.II Solar cell RU2420 SOLAR CELL Scheda riassuntiva delle specifiche:
  • 29. 29 IV.III Sensore di temperatura Generalmente con il termine sensore si definisce un dispositivo che trasforma una grandezza fisica che si vuole misurare (temperatura, distanza, luminosità) in un segnale di natura diversa, più facilmente misurabile. Un sensore di temperatura è un dispositivo in grado di rilevare la temperatura dell’ambiente che lo circonda fornendo in uscita una tensione proporzionale ad essa. Per questo progetto il dispositivo utilizzato è LM35, sensore di precisione la cui uscita in tensione è linearmente proporzionale alla temperatura misurata in gradi Celsius. Non richiede nessuna calibrazione esterna per fornire un’accuratezza di di grado rispetto alla temperatura di una stanza e di C sull’intera scala che va da -55 a +150°C. Può essere usato sia con singola alimentazione (per temperature positive) che con alimentazione duale (per temperature negative e positive). Le sue caratteristiche principali possono essere riassunte come di seguito: SENSORE DI TEMPERATURA LM35 IV.IV La comunicazione wireless Sulla scheda Arduino UNO utilizzata per il progetto è stata montata una shield apposita predisposta all'istallazione di un modulo Xbee ( prodotto dalla Maxstream ) il quale è una soluzione compatibile con lo standard ZigBee che soddisfa, come già detto, le necessità di una rete a basso costo ed a basso consumo, pensata soprattutto per l'utilizzo con sensori.
  • 30. 30 I moduli sono semplici da utilizzare, richiedono pochissima energia, sono di dimensioni sufficientemente ridotte e costituiscono, infine, una soluzione efficace ed al contempo affidabile per la trasmissione di dati critici. DIMENSIONI DI UN MODULO XBEE IV.V. Il firmware Relativamente alla trasmissione si è deciso di utilizzare il protocollo nodo-coordinatore beacon-enabled che necessita di uno 'stimolo' iniziale da parte del ricevente al fine di iniziare la comunicazione; inviato tale stimolo Arduino attraverso il suo modulo Xbee invia i dati richiesti; tale procedura si è effettuata tramite la libreria Serial di cui di seguito si citano i metodi utilizzati :  .begin()  .end()  .available()  .read()  .peek()
  • 31. 31  .flush()  .print()  .println()  .write() Il metodo Serial.begin(speed) utilizzato nella funzione di setup() accetta come parametro di ingresso un numero intero rappresentante il baude-rate ( 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, o 115200 ), che indica la frequenza dei dati scambiati; nel progetto in questione si è scelto di utilizzare il baude-rate di default 9600. Il metodo Serial.available() verifica, lato Arduino, che lo 'stimolo' di inizio comunicazione abbia riempito il buffer in ingresso; verificata la presenza di informazione nel buffer si provvede a raccogliere i dati dai sensori attraverso la funzione Serial.read() e spedirli al calcolatore tramite la funzione Serial.print(value) o Serial.println(value). Ogni volta che si invocano i metodi suddetti si deve chiamare le funzione Serial.flush() che provvede a 'pulire' il buffer. Infine la funzione Serial.write(value), fondamentalmente ha la stessa funzionalità di Serial.print(value), ma i dati vengono convertiti in stringhe binarie.
  • 32. 32 V. Conclusioni All'inizio di questo lavoro l'obiettivo che ci si era prefissato di raggiungere era quello di progettare e realizzare un nodo sensore wireless cardine di una WSN, gestendone l'acquisizione dei dati ed implementando il protocollo di comunicazione wireless tra i dispositivi di trasmissione e ricezione. L'acquisizione dati è stata fatta da una solar-cell prelevandone la tensione e da un sensore di temperatura, mentre l'invio e la ricezione degli stessi è stata effettuata sfruttando le potenzialità dei moduli Xbee di cui si è necessitato gestirne la comunicazione via etere. Dopo un attenta definizione nel contesto di lavoro e delle specifiche tecniche del progetto si è passati all'identificazioni dei componenti elettronici principali che sarebbero stati utili al raggiungimento dello scopo. Si è riuscito quindi ad implementare un firmware rispettante le specifiche, robusto e riadattabile per gran parte delle possibili applicazioni inerenti il progetto.
  • 33. 33 Bibliografia Datasheet Arduino UNO; Datasheet Atmel ATmega328; Datasheet LM35; Datasheet RU2420; Datasheet Xbee (Maxstream); IEEE Standards Association 802.15.4; RFC ZigBee Protocol.