ZigBee Localizer: un sistema di localizzazione per reti ZigBee
Progetto realizzato in collaborazione con l'istituto di ricerca
Istituto Superiore Mario Boella
Sistema sviluppato da Alberto Realis-Luc
come tesi per la laurea specialistica in Ingegneria Informatica al
Politecnico di Torino.
Sommario
La realizzazione di un sistema di localizzazione per reti di sensori ZigBee basato sul solo indice di RSSI
permette di avere vantaggi in termini di costo dei dispositivi in quanto non è richiesto alcun hardware
aggiuntivo per stimare la posizione dei nodi. L'indice RSSI è una stima della potenza ricevuta, ed è
disponibile su ogni dispositivo ZigBee. Nel sistema vi sono tre tipi di dispositivi ZigBee: i nodi di riferimento,
i nodi mobili ed il gateway.
I nodi di riferimento sono installati in posizioni note e si occupano di coprire l'intera area da monitorare,
mentre i nodi mobili sono applicati ai beni da localizzare e sono liberi di muoversi, eseguono periodicamente
misure di RSSI rispetto ai nodi di riferimento che vengono usate dal sistema per stimare la loro posizione.
Il gateway si occupa di collegare un computer, tramite porta seriale, alla rete ZigBee. Su tale computer, il
sistema prevede l'esecuzione di un servizio in grado di raccogliere ed interpretare tutte le informazioni ricevute
dalla rete di sensori. Si è implementato nel servizio un'algoritmo di localizzazione che partendo dal
calcolo di multilaterazione prova a migliorare le posizioni stimate dei nodi mobili facendo uso del metodo delle
osservazioni indirette. Inoltre, il servizio mantiene aggiornato un database con tutte le informazioni dei nodi ed
espone un'interfaccia utente tramite web-application, con cui l'utente può visualizzare le posizioni
dei nodi, configurarli e gestire l'intero sistema. L'area monitorata dal sistema deve essere suddivisa in vari
ambienti che possono essere ambienti aperti esterni oppure ambienti interni come le stanze di un edificio. Il
sistema realizzato è in grado di localizzare un nodo mobile all'interno di un'edificio indicando la stanza
in cui si trova, se si è installato almeno un nodo di riferimento in ogni stanza. Per ambienti più
vasti od esterni il sistema è in grado di stimare le coordinate su due dimensioni, se si sono installati
almeno tre nodi di riferimento che permettano di coprire interamente tale ambiente.
Il sistema ha quindi tutta una serie di vantaggi dovuta al fatto di utilizzare la sola interfaccia di rete ZigBee
nella normale modalità per trasmettere dati: non è richiesto hardware aggiuntivo, non è
necessario appoggiarsi al sistema GPS, il sistema può monitorare un'area composta sia da ambienti interni
che esterni allo stesso tempo e si hanno anche vantaggi in termini di basso consumo di energia e di basso costo
che sono caratteristiche proprie dei dispositivi ZigBee. La limitazione principale di questo sistema è la
bassa precisione nella localizzazione per coordinate, ciò è dovuto al fatto che l'indice RSSI non
dipende soltanto dalla distanza a cui si trova il
trasmettitore ma risente fortemente anche delle riflessioni e dei disturbi presenti in ogni ambiente. Si può
comunque affermare che il sistema è in grado di localizzare, con ragionevole approssimazione, oggetti di
dimensioni comparabili con l'errore medio rilevato pari a 2-3 m, come ad esempio delle auto in un parcheggio.
Documentazione
Da qui è possibile scaricare la vesione completa in pdf della tesi, ed altro materiale inerente a questo progetto.
Download software realizzato
- Web application LocationService.zip
Repository Git
Il respository Git dei sorgenti di questo progetto è disponibile su GitHub. Per scaricare i sorgenti dell'intero progetto (web application e firmware) basta fare un clone dal repository con il seguente comando:
-
git clone https://github.com/alus-it/ZigBeeLocalizer.git
Download sorgenti
Se non si dispone di Git da qui è possibile scaricare i sorgenti come file ZIP.
- Web application: LocationService-src.zip (progetto per Eclipse)
- Firmware: LocationAppZStack143-src.zip (progetto per IAR Systems)