\documentclass[a4paper,12pt,twoside]{article} \usepackage[left=2cm,right=2cm,top=2.5cm]{geometry}%bottom=1.7cm %\usepackage[utf8]{inputenc} \setlength{\parindent}{0pt} \usepackage[T1]{fontenc} %\usepackage[latin1]{inputenc} % codifica windows \usepackage[utf8]{inputenc} % codifica linux %\usepackage{textcomp} %\usepackage[applemac]{inputenc} %\usepackage[italian]{babel} \usepackage[dvips]{graphicx} \usepackage{float} \usepackage{epsf} \usepackage{epsfig} \usepackage{verbatim} \usepackage{amssymb} \usepackage{amsmath} \usepackage{amsbsy} \usepackage{fancyhdr} \pagestyle{fancy} \usepackage{hyperref} \usepackage[final]{listings} \usepackage[dvips]{graphicx} \usepackage[usenames,dvipsnames]{xcolor} %\usepackage[numbered,framed]{pcks/mcode} \hypersetup{colorlinks,% citecolor=blue,% filecolor=black,% linkcolor=black,% urlcolor=blue,% pdftex} \numberwithin{equation}{section} \numberwithin{figure}{section} \renewcommand{\sectionmark}[1]{\markright{\thesection.\ #1}} \fancyhf{} \fancyhead[LE,RO]{\thepage} \fancyhead[LO,RE]{\scshape\rightmark} \renewcommand{\headrulewidth}{0.4pt} \renewcommand{\footrulewidth}{0pt} %\oddsidemargin = 1.3 cm %\evensidemargin = 0.5 cm \title{Parte relativa ai Tmote} \author{Riccardo} \date{14/02/2010} \begin{document} \section{Raccolta dati} \include{Dati} \subsection{Impostazione} Per eseguire le campagne di racca \subsection{I dispositivi utilizzati} Per eseguire le misurazioni delle grandezze di interesse sono stati utilizzati i dispositivi equipaggiati \textit{MoteIV Tmote Sky} con sensori per il rilevamento di temperatura, umidità e luminosità. Sebbene questi sensori siano predisposti per una comunicazione dei dati mediante rete wireless si è scelto di effettuare l'acquisizione off-line sfruttando la memoria flash (1024 Kb, sufficiente per tutto il tempo di raccolta) in cui immagazzinare i dati raccolti più delle informazioni aggiuntive che sono stati letti alla fine mediante usb. La scelta di utilizzare questa modalità di lettura è dipesa principalmente dall'esigenza di un attento utilizzo del consumo energetico, infatti sebbene questi dispositivi siano progettati per garantire un basso consumo ed abbiano un processore in grado di funzionare con tensioni che arrivano fino a 1.9 V i componenti nececessari all'esperimento (i sensori e la memoria flash) necessitano di una tensione costante di circa 3 V fornita da due batterie di tipo AA alcaline. Se la tensione in ingresso diminuisce eccessivamente posso accadere dei malfunzionamenti al convertitore ADC con una perdita di bit significativi (da 14 bit a 12 bit upper) e alla memoria flash che per una scrittura sicura richiede una almeno 2.6 V. Si fa notare che la scelta di una alimentazione mediante porta usb per questa esperienza non è possibile poichè in questo caso l'alimentazione a 5 V provoca un surriscaldamento del processore posto in prossimità del sensore di temperatura, sfalsando così la misura di temperatura. In questo modo si è riusciti ad avere una alimentazione corretta durante tutta la raccolta dei dati, in Figura ??? è riportato l'andamento della tensione di ogni dispositivo.\\ Viene riportata qui di seguito una breve descrizione dei sensori utilizzati dai \textit{Tmote}: \begin{enumerate} \item \textit{Umidità e temperatura}: Il sensore di temperatura e umidità utilizzato sul mote è il sensore Sensiron SHT11. Esso consta di un sensore di temperatura il cui principio di funzionamento si basa sulla dipendenza dalla temperatura della banda di non conduzione di un semiconduttore ed ha range di funzionamento: -40/+123.8 C. La sua risoluzione è a 14 bit (può essere ridotta a 12 bit per applicazioni che richiedono velocità elevate o un utilizzo con potenza in ingresso molto bassa). La calibrazione è gestita internamente in base a delle tabelle, la formula di conversione dalla parola a 14 bit $T_{raw}$ presente nella memoria flash a gradi centigradi è \begin{equation} T = b_1+b_2T_{raw}-b_3(T_{raw}-b_4)^2 \quad [C] \end{equation} con costanti $b_1=-39.6$, $b_2=0.01$, $b_3=-2 \cdot 10^{-8}$ e $b_4=7000$ \\ Il sensore per rilevare l'umidità è basato sulla variazione di capacità di un polimero in funzione dell'umidità presente nell'ambiente circostante e ha range di funzionamento 0/100 \% RH. La misura viene registrata in una parola a 12 bit $H_{raw}$ che può scendere ad 8 bit se necessario. La formula per la conversione è: \begin{equation} RH_{true} = (T-25)(c_1+c_2H_{raw})+c_3+c_4H_{raw}+c_5H_{raw}^2 [\%] \label{rh_true} \end{equation} con constanti $c_1=0.01$, $c_2=8\cdot 10^{-6}$, $c_3=-4$,$c_4=0.0405$ e $c_5=-2.8\cdot 10^{-6}$. Per maggiori informazioni si rimanda al datasheet ???. \item \textit{Luminosità} I sensori presenti nel mote per misurare la quantità di luce sono due fotodiodi prodotti dalla Hamamatsu. In particolare è presente il modello S1087 sensibile alla sola luce visibile (320 - 730nm) e il modello S1087-01 che rivela anche lo spettro infrarosso (320 - 1100nm). Le misure sono memorizzate in parole da 16 bit unsigned e la conversione in lux é data da: \begin{equation} AR = 625AR_{raw} \quad [lux] \label{ar} \end{equation} con $AR_{raw}$ il valore in bit fornito dal sensore S1087. Analogamente a partire dal dato in bit $TR_{raw}$ del sensore S1087-01 si implementa \begin{equation} TR = 76.9TR_{raw} \quad{[lux]}\,. \label{tr} \end{equation} Per la fase di identificazione la misura che viene utilizzata è quella fornita dal secondo sensore, ovvero quella comprensiva della radiazione visibile e dell'infrarosso poichè entrambe influiscono sul comportamento dinamico dell'edificio. \item \textit{Memoria flash} Il mote è equipaggiato con una unità di memoria flash esterna di tipo seriale di capienza 1024kb. Essendo tuttavia configurata in lettura e scrittura solo nei primi quindici settori lo spazio effettivamente disponibile è di 983040 byte. La struttura dati presente consta di 6 campi da 16 bit ciascuno, il che significa una capacità totale di 81920 campioni. Questo valore è in realtà ridotto a 65535 campioni poichè parte dello spazio è utilizzato per controllare se dei dati non vengono scritti in memoria (di fatto l'ultimo dei sei campi è occupato da un numero che aumenta di un passo ad ogni istante di campionamento). Contando che il tempo di campionamento adatto per le dinamiche termiche di un edificio è dell'ordine dei 5-10 minuti si capisce che la memoria disponibile nel mote è più che sufficiente per lo svolgimento dell'esperienza. \item \textit{Codice utilizzato} Si fornisce qui di seguito una breve descrizione del codice che viene utilizzato per la gestione dei mote.\\ Il firmware caricato su ogni mote divide la sessione di aquisizione in tre fasi. La prima parte è dedicata al setup che viene effettuato comunicando con il mote tramite usb e pc. In questa fase vengono gestite le operazioni principali di lettura della memoria flash e di cancellazione della stessa. La seconda fase è dedicata alla sincronizzazione e il passaggio avviene allo scadere di un timer opportunamente impostato. In questa fase le comunicazioni usb sono interrotte e gli unici eventi che il mote è può rilevare sono ricezione del pacchetto radio di sincronizzazione o la pressione del tasto user (che causa la partenza di un nuovo timer e l'invio di un nuovo pacchetto di sincronizzazione). Con la terza fase si inizia l'acquisizione vera e propria dei dati. Il modulo radio viene disattivato ed un timer posto uguale al tempo di campionamento comanda la lettura dei dati rilevati dai sensori e la scrittura su flash. Il principio di funzionamento è riportato in Figura \ref{strutturaStati}.\\ L'interfaccia con il PC è sviluppata in Java su piattaforma Linux ed utilizza le librerie di comunicazione seriale e le classi per la gestione dei pacchetti fornite con TinyOS 2.x. La lettura del mote fornisce in outuput un file di testo contenente i valori registati dai sensori che vengono convertiti in unità ingegneristiche da uno script in Matlab secondo (\ref{rh_true})-(\ref{tr}). La programmazione dei mote è avvenuta eseguendo lo script $EggMote.h$ in cui si precedentemente impostato il tempo di campionamento. \begin{figure}[H] \begin{center} \includegraphics[width=15cm]{pp.eps} \caption{Struttura degli stati e delle funzionalità del mote} \label{strutturaStati} \end{center} \end{figure} \end{enumerate} \end{document}