| Una stazione Meteo con controllo remoto | Data di pubblicazione: 29-05-2006 | Articolo | | Versione Italiana | (No English Version) Parole chiave: - Monitoraggio Ambientale - Networking - Video - |
In questo articolo presentiamo una stazione di rilevamento meteorologico via Web, realizzata con una scheda SX15-Evo e due sensori ambientali: il sensore termoigrometrico SH75 ed il sensore di pressione atmosferica CSDX0811BARO. Oltre al controllo via WEB il firmware gestisce anche un display LCD locale, per la visualizzazione delle informazioni. L'esempio è corredato dal firmware sorgente, per poter personalizzare ed estendere le funzionalità dell'apparato.
Introduzione
Sapere che tempo fa prima sulla nostra casa al mare? Controllare se la temperatura ci consente di togliere il maglioncino dalla valigia prima di partire per il week-end? Nulla di più semplice: basta collegarsi al nostro MeteoGate ed avremo in diretta la situazione dei tre parametri fondamentali per la previsione del tempo: temperatura, umidità e pressione atmosferica. E non solo! Il nostro firmware ci consentirà anche di visualizzare le tendenze di questi 3 parametri e di effettuare una previsione (molto rozza, ma pur sempre una previsione) dell'evoluzione meteorologica.

Il pannello accessibile via Web
Il nostro Meteo Gate consente infatti, come si vede dall'immagine qui sopra, di riportare in forma grafica i dati correnti misurati dai nostri sensori e di accederli da qualsiasi connessione internet. Con poche modifiche sarà possibile integrare anche altre interessantissime funzionalità quali la comunicazione via SMS o GPRS dei dati meteorologici oppure la visualizzazione delle immagini della nostra postazione meteo in diretta, tramite la CAM-VGA ed il firmware descritto nell'esempio Aggiungiamo la vista ai nostri progetti!.
Il firmware consente anche il controllo di un display LCD con interfaccia SXLCD (SXLCD: pilotare un display LCD utilizzando una linea seriale) per la visualizzazione locale dei dati ricavati dai sensori, delle tendenze e della nostra previsione.
Descrizione hardware

Il sistema completo
L'hardware che compone la nostra stazione meteo è basato sulla scheda SX15-Evo (SX15-Evo - Ancora più potente e versatile!) su cui vengono ospitati il sensore termoigrometrico SH75 (Sensori di umidità e temperatura monolitici con uscita digitale) ed il sensore barometrico CSDX0811BARO (Sensore di pressione con interfaccia digitale I2C bus). Il collegamento dei due sensori è semplicissimo grazie alle schede di interfaccia SX.BARO (SX.BARO, adattatore per montare il sensore CSDX0811BARO sulle schede SX18 e SX15-Evo) ed al cavo dotato di connettore RJ45 direttamente innestabile sul retro della scheda SX15-Evo.
Completa la dotazione hardware il display LCD con l'interfaccia seriale SXLCD (SXLCD: pilotare un display LCD utilizzando una linea seriale) per avere la possibilità di controllare in locale l'andamento dei nostri parametri meteorologici.

La sonda termoigrometrica
|

Il sensore barometrico
|

Il display LCD per la visualizzazione locale
|
Descrizione del firmware
Il firmware è strutturato in maniera molto semplice. Nel nostro main troviamo 4 sezioni ben distinte che si occupano rispettivamente di far lampeggiare i led, di gestire il rinfresco del display LCD, di leggere i dati dai sensori e di gestire le transazioni HTTP.
I dati vengono acquisiti ad intervalli regolari dai sensori e vengono memorizzati in una struttura capace di contenere 6 misurazioni (il numero è stabilito nel define BUFFER_SIZE). In questo modo vengono ricavati (in maniera molto basilare) gli andamenti delle tre grandezze fisiche.
In base a tali andamenti viene poi effettuata la previsione a breve termine che viene memorizzata in un'altra variabile (ForecastMsg).
Periodicamente viene anche richiamata la funzione VideoRefresh che rinfresca la schermata del display LCD con i valori correnti, i valori di tendenza e la previsione meteo. Il controllo del display LCD è veramente molto semplice, grazie alla scheda SXLCD che si occupa di tutti gli aspetti di comunicazione con la periferica: a noi non serve altro che inviare le stringhe da scrivere nella posizione in cui le desideriamo.
L'ultima sezione importante del firmware da analizzare è la funzione CGI GetStatus, su cui si basa la comunicazione dei parametri letti verso la rete Ethernet.
Questa funzione è responsabile dell'aggiornamento del pannello Flash che viene visualizzato dal MeteoGate: infatti il codice Flash richiama periodicamente il nostro CGI per ottenere i dati aggiornati. Tali dati vengono scambiati utilizzando il formato standard GET delle chiamate HTTP (var1=valore1&var2=valore2&...), il che ci consente di poter ricavare i dati anche da una nostra appplicazione proprietaria scritta in un qualsiasi linguaggio di programmazione ad esempio per poter integrare i dati meteo nel nostro sito web o per interfacciarci ad un database che conservi lo storico delle nostre letture..
Nel firmware non è presente la possibilità di configurare i parametri di rete, che vanno pertanto inseriti direttamente nel codice sorgente. Troviamo i define per l'Indirizzo IP, la Netmask ed il Gateway nelle prime righe del nostro sorgente, in tre linee define:
#define MY_IP_ADDRESS "192.168.0.101"
#define MY_NETMASK "255.255.0.0"
#define MY_GATEWAY "192.168.0.1"
Sarà quindi sufficiente cambiare questi 3 valori per adattarli alla nostra rete e ricompilare il firmware stesso.
Estensioni possibili del firmware
Il firmware si presta ad una notevole serie di estensioni. In particolare, mantenendo lo stesso hardware, è possibile perfezionare in maniera significativa l'attendibilità della previsione effettuata mantenendo in memoria un numero superiore di letture e calcolando gli andamenti utilizzando una media mobile.
La media mobile infatti prevede il calcolo della media aritmetica su N campioni di lettura, dove N è l'ampiezza della finestra di media mobile stessa. In questo modo la previsione risulta molto meno sensibile alle variazioni repentine e consente una affidabilità maggiore, mentre con il nostro semplicissimo metodo non abbiamo una reale valutazione delle tendenze.
Un'altra aggiunta molto interessante è quella accennata all'inizio di questo articolo, che prevede l'aggiunta della CAM-VGA100 JPEG al sistema, in modo da poter riportare sul pannello Flash di stato anche in tempo reale l'immagine del luogo in cui è posizionata la stazione.
Una terza aggiunta può essere quella di prevedere un modem GSM/GPRS (sulla SX15-Evo può essere montato il Telit GM862 - (Modem GSM/GPRS quad band Telit GM862 completo di piastrino S1)) per la trasmissione in remoto di SMS con lo stato meteorologico attuale o per la comunicazione delle condizioni meteo ad un server via GPRS.
Download
Segnala questo articolo:
Parole chiave: - Monitoraggio Ambientale - Networking - Video -
|