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.