Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

Rilevamento dati meteo

informatica










INDICE

1: Obbiettivo.

2: Descrizione del progetto.

3: Descrizione del sistema.

3.1: Descrizione dei componenti usati.



4: Descrizione realizzazione del progetto.

4.1: Descrizione realizzazione del ricevitore (principale).

4.2: Descrizione realizzazione del trasmettitore.

5: Descrizione hardware usato.

5.1: La comunicazione seriale.

5.2: Descrizione UART.

5.3: Descrizione interfaccia RS232.

5.4: Cavo seriale.

6: Manuale utente.

6.1: Requisiti di sistema.

6.2: Installazione del software.

6.3: Descrizione utilizzo.

6.4: Risoluzione dei problemi.

7: Conclusioni.

8: Bibliografia.



1-OBBIETTIVO

Si vuole progettare un sistema di rilevamento dati meteo utilizzando due Personal Computer collegati tramite un cavo seriale.

I due PC saranno rispettivamente un trasmettitore dati che s 616c24g imulerà le sonde ed un ricevitore che elaborerà i dati

ricevuti inserendoli in un DataBase e fornendo all'utente dei risultati grafici e statistici dei valori ricevuti.


2-DESCRIZIONE DEL PROGETTO

Il sistema permette l'acquisizione, l'elaborazione e la visualizzazione dei dati metereologici riguardanti temperatura, umidità, pressione e velocità del vento.

I dati verranno acquisiti tramite un collegamento seriale con un altro PC, verranno poi inseriti in un DataBase e successivamente elaborati da un software.

Questo software provvederà alla visualizzazione tabellare e grafica dei dati inseriti nel DataBase permettendo all'utente di analizzare l'attuale situazione metereologica.


3-DESCRIZIONE DEL SISTEMA

Il sistema può essere suddiviso in quattro parti principali:

Il trasmettitore dati;

Il canale trasmissivo;

Il software per l'acquisizione dalla porta seriale;

Il ricevitore e tutte le sue applicazioni;



Il trasmettitore, tramite alcune funzioni, genera i dati riguardanti la temperatura, l'umidità, la pressione e

la velocità del vento e li codifica. Successivamente i dati vengono passati al componente RS232 il quale li invia, attraverso un cavo seriale, all'altro PC.

I dati vengono infine ricevuti dal programma principale che li decodifica e li inserisce in un DataBase

insieme alla data e all'ora dell'acquisizione.


3.1-DESCRIZIONE DEI COMPONENTI USATI

Il programma principale e il trasmettitore sono stati programmati usando il linguaggio visuale di programmazione Borland Delphi3.

Per poter realizzare questi programmi ci siamo avvalsi dei componenti software messi a disposizione dalla Borland ad eccezzione del componente per la gestione della trasmissione seriale e di alcuni componenti aggiuntivi recuperati su Internet.



4-DESCRIZIONE REALIZZAZIONE DEL PROGETTO

Per la creazione ed il collaudo del progetto sono state impiegate circa 15 ore.

La fase di progettazione è durata circa 4 ore durante le quali abbiamo pensato a come realizzare il programma e a quali componenti usare , formulando tutte le ipotesi necessarie ad un corretto funzionamento di questo progetto.

Successivamente siamo passati direttamente alla creazione del programma principale e del trasmettitore utilizzando il Borland Delphi3.


4.1-DESCRIZIONE REALIZZAZIONE DEL RICEVITORE (PRINCIPALE)

La form principale è composta nella parte alta da un menù e da una ToolBar contenente i pulsanti di accesso alle principali funzioni del programma. Nel mezzo è presente una griglia di tipo DBgrid, usata per contenere i dati in arrivo. La DBgrid è collegata ad un DataSource che è collegato a sua volta con un componente Table di tipo Ttable. Questa tabella tramite la proprietà DataBaseName è collegata alla tabella su disco di nome Dati.db creata utilizzando il DataBase Desktop.

La tabella su disco ha la seguente struttura:


La chiave primaria "indice" è costituita da un'autoincrementante in modo che ogni singolo record (o tupla) goda della proprietà di univocità , gli altri campi (eccetto data e ora creati sul ricevitore) rappresentano i dati che saranno acquisiti dalla seriale.


Il programma effettua 5 funzioni principali:

Acquisizione simulata tramite seriale;

Elaborazione grafica dei dati;

Elaborazione con SQL;

Impostazione timer acquisizione;

Cancellazione tabella;



Acquisizione tramite seriale

Apre una form per la ricezione dei dati dalla seriale e tramite la funzione del componente RS232 chiamata CommPortDriverReceiverData e i suoi parametri DataPtr (puntatore a stringa) e DataSize (lunghezza della stringa) riceve la stringa trasmessa dal trasmettitore.

Poi ,usando un'altra funzione di elaborazione stringhe, decodifica la stringa ricevuta in modo da ricavarne i dati da inserire nel database.

N.B: Per il metodo di codifica/decodifica dei dati si rimanda alla descrizione del trasmettitore.


Elaborazione grafica dei dati

Apre la form dei grafici relativi ai dati ricevuti.

Utilizzando il componente DBChart è stato possibile collegare due campi della tabella con il componente stesso in modo da ottenere un grafico in funzione del tempo per ciascun campo ricevuto.

ESEMPIO : Temperatura sulle ordinate e Ora sulle ascisse.

La form è organizzata utilizzando il componente PageControl il quale permette di suddividere la stessa in più pagine selezionabili con il mouse. Esiste una pagina per ogni grafico ed una con tutti e quattro i grafici insieme.


Elaborazione con SQL

Esegue la form relativa all'elaborazione dei dati nel database mediante l'SQL (Structured Query Language). Per poter usare l'SQL su una tabella è stato necessario utilizzare al posto del componente di tipo TTable un componente di tipo TQuery, analogo al primo ma con la possibilità di ricevere comandi SQL. In questo caso, usando istruzioni del tipo " SELECT * FROM DATI " o " SELECT AVG(temperatura) FROM DATI, è stato possibile selezionare o calcolare particolari tipi di dati direttamente sulla Query , visualizzandone il risultato.

Nel nostro caso abbiamo scelto di poter visualizzare le massime in ordine decrescente, le minime in ordine crescente, le medie per ciascun campo della tabella (esclusi naturalmente l'indice, la data e l'ora) e la possibilità di effettuare la ricerca di un particolare valore di un dato per ogni campo.

IMMAGINE FINESTRA SQL






Impostazione timer acquisizione

Esegue la form relativa all'impostazione del timer per l'acquisizione.

Per poterla realizzare è stato utilizzato un componente aggiuntivo presente nella raccolta "DTOOLS" trovata su internet. Questo componente è composto da una rotellina che regola il valore del timer.

E' inoltre possibile inserire il valore da moltiplicare a quello selezionato dalla rotellina in un apposito spazio (una "edit").

IMMAGINE FINESTRA IMPOSTAZIONE TIMER


Cancellazione tabella

Elimina l'intero contenuto della tabella su disco utilizzando la procedura EmptyTable della

classe Ttable. Prima di procedere all'eliminazione dei dati chiede una conferma mostrando una

MessageDialog.



L'intero programma è stato realizzato in modo da permettere un perfetto utilizzo degli strumenti messi a disposizione.


La form principale, attraverso la barra degli strumenti, permette di accedere facilmente a tutte le principali funzioni del programma. I dati sono contenuti all'interno di una griglia ben visibile in modo da fornire all'utente un'immediato riscontro del numero delle acquisizioni effettuate ed è inoltre presente, in basso a destra sulla barra di stato, un orologio digitale.


La form della ricezione, al contrario della principale, è molto semplice e ,se non si considera il tasto per l'uscita ESC, non comprende alcun comando utilizzabile dall'utente.

L'animazione di ricerca, l'immagine del meteo e le "etichette" contenenti i dati ricevuti la rendono graficamente adatta all'attesa della ricezione.


La form dei grafici, grazie alla suddivisione in "pagine", permette di poter visualizzare nel medesimo spazio tutti i grafici dei dati con le relative legende.


La form dell'elaborazione SQL su database è abbastanza complessa e, grazie alla presenza di un'altra griglia per i dati ed un menù , assomiglia graficamente alla form principale.

La presenza dei pulsanti per la selezione del campo da ricercare combinata con la scelta dell'operazione da effettuare tramite il menù, permettono all'utente di utilizzare in modo intuitivo anche queste "complicate" elaborazioni su DataBase.


La form del settaggio del timer dell'acquisizione, nonostante le sue ridotte dimensioni, è una form particolarmente importante poichè permette di settare l'intervallo di tempo tra ogni acquisizione. Utilizzando la rotellina e il moltiplicatore è possibile selezionare un qualsiasi intervallo di tempo.


4.2-DESCRIZIONE REALIZZAZIONE DEL TRASMETTITORE

La form principale del programma trasmettitore è in se molto semplice ed è composta da un' immagine, un'animazione di ricerca e soprattutto quattro label (etichette) contenenti i dati creati e inviati con le relative unità di misura.

I dati vengono creati all'interno del programma usando delle funzioni di RANDOM numerico e successivamente codificati in stringa (il componente RS232 può inviare solo stringhe di caratteri) usando il seguente schema:

I dati di temperatura, umidità, pressione e vento vengono creati ed inseriti in quattro variabili di tipo integer.

I dati vengono convertiti in stringhe usando la funzione "inttostr" ed inseriti in altre quattro stringhe.

Le stringhe vengono concatenate fra di loro aggiungendo all'inizio di ogni singolo dato un carattere di riconoscimento:

ES: Temperatura=20 Umidità=10 Pressione=112 Vento=10

stringa= " T20U10P112V10 "


La stringa risultante viene successivamente trasmessa sulla seriale e ricevuta dal programma principale che ,tramite un procedimento di decodifica, estrae i dati dalla stringa ricevuta e li inserisce sulla tabella.

Questa procedura di estrazione dati è molto semplice e si basa su un procedimento di elaborazione stringhe in cui un indice va a cercare il carattere corrispondente ad un tipo di dato e converte i caratteri successivi a questo (i dati veri e propri) in "integer" finchè non trova un' altro carattere di controllo.

Tutto il processo si ripete ogni secondo, mentre la ricezione viene effettuata in un intervallo di tempo settato dall'utente nel ricevitore.


5-DESCRIZIONE HARDWARE USATO


5.1-LA COMUNICAZIONE SERIALE

La via più semplice per il trasferimento di dati tra un PC ed un altro computer o dispositivo è quella di usare l'interfaccia di comunicazione seriale standard RS232 controllata da un mP denominato UART.

Per fare un trasferimento di dati c'è bisogno inoltre di un protocollo, quello più usato è il protocollo seriale asincrono. La sua caratteristica è quella di lasciare la linea ad uno stato logico alto (1) quando non ci sono dati da trasferire, mentre quando si devono mandare informazioni viene messo un bit di start che abbassa il valore logico (0); ciò significa che la trasmissione sta avendo inizio.

Subito dopo il bit di start seguono gli 8 bit che compongono l'informazione; alla fine del dato si può mettere opzionalmente un bit di parità che serve per il controllo della corettezza dell'informazione trasferita; quindi segue il bit di stop che pone la linea a valore logico alto, cioè determina la fine del trasferimento.

Questo protocollo si dice asincrono proprio perchè non ci sono sincronizzazioni fra i PC, ma si usano i due bit di start e stop per segnalare l'inizio e la fine della trasmissione, mentre un protocollo seriale sincrono prevede sempre la presenza di dati nella line senza avere i bit di inizio e fine per ogni dato ,cioè la sincronizzazione fra i PC viene fatta solo all'inizio di tutta la trasmissione e non per ogni singolo bit.

La velocità di trasferimento di dati si misura in baud, cioè il numero di eventi trasmessi al secondo; se per esempio si ad ogni evento corrisponde un bit (come di norma), con una trasmissione a 1200 baud si trasferiscono 1200/8=150 caratteri al secondo.


5.2-DESCRIZIONE UART

Sembrerebbe abbastanza complesso scrivere un programma per trasmettere e ricevere dati nell'ambito delle comunicazioni seriali asincrone. Fortunatamente un mP dedicato chiamato Universal Asynchronous Reciver-Transmitter, viene usato per realizzare la maggior parte della conversione del protocollo seriale.

L'UART usato nel PC è l'elemento di comunicazione asincrona con sigla 8250.

Prima che l'UART possa essere usato, bisogna comunicargli il baud rate utilizzato ,il numero di bit di dati e il tipo di parità. Ora la trasmissione può essere effettuata.

L' Uart viene usato anche come controllore per il Modem, il quale viene collegato ad una porta seriale.

I segnali usati dal mP 8250 per controllare ed efettuare una trasmissione sono i seguenti:

DTR : Il computer è acceso e pronto.

DSR : Il modem è pronto.

RTS : Richiesta di trasmissione da parte del computer per il modem.

CTS : Conferma del modem per ricevere i dati dal computer.

DCD : Conferma di avvenuta conessione tra i due modem.

RI : Segnala una telefonata in arrivo.


5.3- DESCRIZIONE INTERFACCIA RS232

L'adattatore di comunicazione per PC IBM fornisce un'nterfaccia standard RS232 per il mondo esterno.

L'interfaccia RS232 converte i segnali elettrici dell'UART ai livelli di tensione che sono presenti poi sul conettore fisico.

Per creare una conessione fra due PC bisogna usare dei collegamenti come mostrato in figura:



5.4-CAVO SERIALE

Il cavo seriale viene utilizzato per collegare due PC attraverso l'interfaccia seriale RS232.

I conettori possono essere di due tipologie, una con conettore da 25 pin, l'altra con uno da 9 pin.

Il cavo più usato è sicuramente quello con conettore maschio da 25 pin, il quale si collega alla COM2 del PC, perchè solitamente nella COM1 del computer ci si collega il mouse, il quale possiede un conettore da 9 pin.

La seguente figura mostra la posizione dei pin nel conettore:




6-MANUALE UTENTE


6.1-REQUISITI DI SISTEMA

E' necessario, per poter sfruttare il software acquistato, avere due PC con sistema operativo di tipo Windows '95 , '98 o NT con almeno 8Mb di ram (meglio se 16) ed almeno 5 Mb di spazio libero su disco.

I Personal Computer devono avere la porta seriale COM2 libera per poter collegare il cavo relativo al trasferimento dei dati fra i due sistemi.


6.2-INSTALLAZIONE DEL SOFTWARE

Inserire il disco con etichetta "RICEVITORE" nel drive apposito del PC 1.

Premere AVVIO nella barra di stato di Windows, scegliere l'opzione ESEGUI e digitare: "A:SETUP", quindi premere OK e seguire le istruzioni fornite per proseguire nella

installazione.

Inserire il disco con etichetta "TRASMETTITORE" nel drive apposito del PC 2.

Premere AVVIO nella barra di stato di Windows, scegliere l'opzione ESEGUI e digitare: "A:SETUP", quindi premere OK e seguire le istruzioni fornite per proseguire nella installazione.

Collegare alla porta seriale COM2 (25 pin) di entrambi i PC il cavo fornito con il programma.

N.B: Se la porta è occupata procurarsi una riduzione per il collegamento con la porta seriale COM1 (9 pin).

E' ora possibile mandare in esecuzione il programma.


6.3-DESCRIZIONE UTILIZZO


Programma principale

Il programma si presenta con un'interfaccia grafica molto semplice ed allo stesso tempo completa ed efficente che permette l'utilizzo del software anche ad utenti non esperti.

La finestra principale abilita l'accesso alle varie funzioni del programma scegliendole dal menù o dai pulsanti presenti nella barra delle applicazioni.

La tabella presente nella finestra principale mostra,se presenti, i dati ricevuti dal trasmettitore che simula delle sonde metereologiche.





Il menù si suddivide in quattro grandi blocchi :

1- File : Da questo menù è possibile cancellare l'intera tabella (naturalmente tramite una finestra di conferma) e uscire dal programma.

Tasti ad accesso rapido:

Elimina tabella = Ctrl + Canc

Esci = Alt + X


2- Acquisizione : Da questo menù è possibile effettuare l'aquisizione dei dati attraverso un collegamento seriale con un PC trasmettitore che simula delle sonde metereologiche e che invia i relativi dati al PC ricevitore.

E' inoltre possibile settare il timer per l'acquisizione dei dati (settare cioè l'intervallo tra un'acquisizione e l'altra) azionando la manopola che appare a sinistra. Quando si seleziona questa funzione, si va a variare il tempo tra un'aquisizione e l'altra.

La manopola ha un range di 60 secondi, ma è possibile aumentare il valore dell'intervallo inserendo in un apposito spazio il valore che si vuole moltiplicare a quello selezionato con la manopola.


Tasti ad accesso rapido:

Reale con sonde = Ctrl + R

Impostazione timer = Ctrl + I


3- Analisi dati : Da questo menù è possibile consultare la tabella dando dei vincoli restrittivi in modo da analizzare i valori in ordine crescente o decrescente per ogni tipo di dato ( Temperatura, Umidità, Pressione, Velocità vento) così da riconoscerne il valore massimo ed il minimo. E' inoltre possibile far calcolare al computer la media dei valori o ricercare un particolare valore.

Un'altra possibilità è quella di poter analizzare l'andamento degli eventi metereologici grazie a dei grafici mostranti i dati della tabella in un modo più comprensibile ed immediato.

Tasti ad accesso rapido:

Analisi in SQL = F2

Analisi grafica = F3



4- Informazioni : Da quest'ultimo menù è possibile consultare delle informazioni relative ai programmatori

e alla versione dell'intero sistema.

Tasti ad accesso rapido:

About = F1


Trasmettitore

L'interfaccia del trasmettitore è altrettanto semplice da utilizzare, infatti appena avviato il

programma non è necessario effettuare alcuna operazione.

Il trasmettitore continuerà a trasmettere dati ad ogni secondo fino alla sua chiusura.

IMMAGINE TRASMETTITORE




6.4-RISOLUZIONE DEI PROBLEMI


Il sistema non permette l'installazione del software:

SOLUZIONE: Assicurarsi di avere i diritti necessari per lavorare nel sistema.


Il software non funziona al momento dell'esecuzione:

SOLUZIONE: Assicurarsi di aver installato bene il software come scritto nel manuale.


La memoria non è sufficiente:

SOLUZIONE: Aumentare il valore della memoria virtuale.


Non arrivano dati dal PC trasmettitore  

SOLUZIONE: Assicurarsi che il cavo seriale sia ben collegato.



7-CONCLUSIONI

Dopo attente analisi e diversi test la versione finale di questo progetto si è dimostrata completamente funzionante.

Durante lo sviluppo del software abbiamo riscontrato diversi problemi nella gestione del trasferimento dei dati dovuti alla scarsa documentazione del componente di controllo della porta seriale.

Dopo diversi tentativi siamo finalmente riusciti ad ottenere una acqisizione corretta dei dati.

Altri problemi minori sono stati dati dalla gestione delle interrogazioni sul database risultate particolarmente complicate e articolate a causa della mancanza di alcuni esempi di riferimento.

A parte questi inconvenienti lo sviluppo restante del progetto è stato abbastanza semplice e scorrevole.

Uno sviluppo futuro potrebbe essere quello di collegare al posto del trasmettitore, le sonde vere e proprie con i relativi circuiti usando un convertitore Analogico/Digitale per l'interfacciamento con il Personal Computer.


8-BIBLIOGRAFIA

Per la realizzazione di alcune funzioni di questo programma abbiamo utilizzato il seguente materiale:

Nuovo corso di informatica (Callegarin).

Sito internet Delphi Super Page (DSP)

IBM PC programmazione del microprocessore 8088 (Willen Krantz).




Privacy




Articolo informazione


Hits: 1905
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024