Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

LabVIEW in Domotica: gestione di una rete di sensori zigbee

  Print

Figura 1 - Nodo di rete WSN

Author(s):
M. Corrà - TRETEC

Industry:
Research

Products:
LabVIEW, Modbus Library for LabVIEW

The Challenge:
Realizzare un applicativo software per la gestione e la configurazione di una rete sperimentale di sensori wireless, la visualizzazione dei dati acquisiti ed il loro salvataggio. Rendere l’applicazione aperta a future estensioni.

The Solution:
Utilizzare le potenzialità di programmazione avanzata in NI LabVIEW per la comunicazione via protocolli standard, la visualizzazione grafica, la gestione dati/file e di array/cluster complessi al fine di realizzare una interfaccia utente semplice, intuitiva ed efficace.

"Per la gestione di file, di array/cluster di dati complessi e per la visualizzazione di grafici, si è fatto largo uso della programmazione ad eventi in LabVIEW."

Breve riassunto
L’applicazione Domotic WSN permette la gestione e la configurazione di una rete di sensori wireless (Wireless Sensor Network) in standard MAC 802.15.4 ZigBee compatibile. La comunicazione tra PC e master di rete avviene mediante protocollo standard MODBUS, mentre l’acquisizione, l’elaborazione ed la visualizzazione grafica delle informazioni raccolte dalla rete distribuita avviene sfruttando le potenzialità della programmazione avanzata in LabVIEW.

Articolo
L’applicazione Domotic WSN, sviluppata da Tretec S.r.l. (http://www.3tec.it) per conto del Dipartimento di Informatica e Telecomunicazioni dell’Università degli Studi di Trento (http://www.dit.unitn.it), permette la gestione e la configurazione di una rete di sensori wireless (Wireless Sensor Network) nonchè l’acquisizione, l’elaborazione ed il salvataggio delle misure effettuate.

La rete wireless è composta da una serie di nodi prototipo (figura 1) realizzati da Optoelettronica Italia S.r.l. (http://www.optoi.com) e si basa su di una comunicazione radio in standard MAC 802.15.4 ZigBee compatibile. La struttura fisica prevede l’impiego di un nodo configurato come master (coordinator di rete o FFD, Full Function Device) ed una serie di nodi configurati come slave (end device o RFD, Reduced Function Device). Il sistema domotico è configurato come un sistema distribuito di acquisizione dati su protocollo wireless.
Ogni nodo slave è attualmente dotato di sensori ambientali per il monitoraggio di temperatura, umidità e illuminazione. La struttura hardware modulare dei nodi consentirà la futura integrazione di altre tipologie di sensori.

La comunicazione tra master e software avviene via connessione USB ed una porta seriale virtuale attraverso il protocollo Modbus, implementato grazie all’utilizzo delle funzioni contenute nella libreria Modbus Library for LabVIEW, scaricabile gratuitamente dalla Developer Zone del sito della National Instruments.
Il master si occupa di tenere traccia dei nodi collegati alla rete (figura 2) e di archiviare i dati ricevuti, mentre l’applicazione sviluppata con LabVIEW può interrogare il master inviando richieste per conoscere la topologia della rete oppure per la richiesta dei dati memorizzati e comunicati dai nodi slave.
Le principali modalità operative dell’applicazione sono:
 config: configurazione della rete
 run: acquisizione, visualizzazione e salvataggio misure distribuite.

In modalità configurazione è possibile:
 verificare il corretto collegamento del master al PC;
 ricavare informazioni relative al numero dei nodi che appartengono alla rete ed al tipo di misure che essi possono effettuare;
 aggiungere o eliminare manualmente uno o più nodi;
 impostare i parametri relativi ad ognuno dei nodi (descrizione, valori di soglia, misura principale);
 scegliere il percorso del file e la modalità in cui i dati verranno archiviati (log unico oppure log per singolo nodo);
 caricare file di dati salvati in precedenza e visualizzazione dei relativi grafici;
 selezionare la planimetria da utilizzare per il sinottico;
 posizionare i nodi, trascinandoli con il mouse, all’interno del sinottico collocandoli nella loro corretta posizione spaziale.

In modalità run è possibile:
 l’acquisizione dei dati: l’applicazione invia al master, ad intervalli regolari di tempo definiti dall’utente, una richiesta MODBUS di ricezione dati; il master risponde inviando le misure ricevute dai nodi durante l’intervallo di tempo.
 la visualizzazione tabulare dei dati di ciascun nodo e salvataggio su file. Ad ognuno dei nodi appartenenti alla rete è associato un cluster attraverso il quale vengono mostrati il numero identificativo, il valore, la data e l’ora dell’ultima misura effettuata, ed un indicatore luminoso che si accende nel caso in cui la misura superi i valori di soglia impostati.
 l’aggiornamento di un sinottico grafico (figura 3). I nodi vengono rappresentati graficamente all’interno di un sinottico. Cliccando con il mouse sul sinottico stesso, può essere messo in evidenza e visualizzato in una finestra esterna all’applicazione (con un fattore di zoom impostabile dall’utente).
La visualizzazione grafica dei dati di nodo (grandezze di ogni singolo nodo) o in forma aggregata (di tutti i nodi); posizionando il puntatore del mouse su uno qualsiasi dei nodi viene visualizzato il grafico, secondo le impostazioni selezionate tramite il tab delle opzioni grafiche. Queste ultime consentono di scegliere se mostrare in tempo reale sul grafico una o tutte le grandezze relative ad un singolo nodo oppure a tutti i nodi che appartengono alla rete.
 accedere allo storico delle grandezze acquisite dai nodi consentendo all’utente un’analisi approfondita dei dati.

L’applicazione è stata interamente realizzata utilizzando LabVIEW in ambiente Windows XP.
Per lo sviluppo, oltre ai tradizionali strumenti messi a disposizione da LabVIEW per la gestione di file, di array/cluster di dati complessi e per la visualizzazione di grafici, si è fatto largo uso della programmazione ad eventi in LabVIEW. Attraverso la Event Structure è stato possibile, infatti, risolvere in maniera efficace le problematiche relative all’utilizzo del mouse come strumento per la gestione dello spostamento degli oggetti sullo schermo consentendo la realizzazione di un’interfaccia utente semplice ed intuitiva.

La struttura modulare con cui il software è stato realizzato permette di poter approntare modifiche piuttosto velocemente rendendo il codice aperto alla possibilità di prossimi sviluppi futuri.

Browse All Case Studies »

  Print