http://www.acmesystems.it http://www.acmesystems.it
FOX - GPS RS232
Ultimo aggiornamento: 04/04/2005 14.07

Ricezione di una "sentence" in formato Standard NMEA 0183 da un ricevitore GPS Sapphire RGM-2000 RS232, e parsing utilizzando una scheda FOX prodotta da ACME SYSTEMS.
In questo esempio vedremo come ricevere una "sentence" in formato Standard NMEA 0183 utilizzando una scheda FOX e un ricevitore GPS Sapphire RGM-2000 RS232, per poi effettuare il parsing della frase.

In particolare vedremo come interpretare la frase tipo $GPRMC ( Recommended Minimum specific GPS/TRANSIT data ).

Fox e GPS

L'NMEA 0183 ( National Marine Electronics Association ) è uno standard di interfacciamento tra apparecchiature digitali.

Lo standard è formato da frasi ( sentences ) costituite da una serie di caratteri ASCII separati.

Le frasi sono costituite da una sequenza di caratteri ASCII, e costituiti da un prefisso, una serie di campi ed un checksum finale.
L'inizio della frase è delimitato da un carattere "$", la fine da una sequenza CR LF ed i singoli campi sono separati da virgole.

Esempio:

$GPRMC,204621.54,A,4430.6671,N,00956.9484,E,0.65,34.35,160702,,*17

Una frase NMEA può contenere fino a 82 caratteri compresi "$" e CR LF.
Se i dati per un campo non sono disponibili, il campo viene omesso, ma le virgole che lo delimiterebbero sono comunque aggiunte, senza spazi tra di loro.

I formati dei campi:

hhmmss.ss Ore, minuti, secondi e centesimi di secondo (es: 132957.94 = 13:29:57.94)
ddmmyy Campo data giorno, mese, anno (es: 151005 = 15 ottobre 2005)
A Campo numerico di lunghezza fissa di un carattere
A-A Campo alfanumerico di lunghezza variabile
llll.ll Campo latitudine (es: 4531.47 = 45°31.47')
yyyyy.yy Campo longitudine (es: 00917.21 = 009°17.21')
x Campo numerico con n cifre intere
x.x Campo numerico con n cifre intere e n cifre decimali (es: 123.45)
n Campo numerico, singola cifra
nn Campo numerico, due cifre
nnnn Campo numerico, quattro cifre

La frase viene terminata da una sequenza CR LF.

Campo Formato Esempio Descrizione
1 hhmmss.ss 125642.57 Ora UTC-GPS
2 A A=Active, Attivo; V=Void, Nullo Stato
3 llll.ll 4512.72 Latitudine della posizione attuale (numero variabile di decimali)
4 A N Emisfero della posizione attuale: N=Nord; S=Sud
5 yyyyy.yy 00934.88 Longitudine della posizione attuale (numero variabile di decimali)
6 A E Verso della posizione attuale: E=Est; W=Ovest
7 x.x 023.45 Velocità al suolo, in nodi
8 x.x 358.20 Track Made Good - Direzione di movimento, in gradi reali
9 ddmmyy 291105 Data
10 x.x 1.2 Data
11 A E Verso della variazione / declinazione magnetica
12 A D Tipo di rilevazione: A=Autonomous, D=Differential, E=Estimated, N=Non valid data


Per maggiori informazioni sullo standard NMEA 0183, clicca qui.


Download FOX_GPS.zip ( sorgenti + binario )


Utilizzo del programma:
  1. Compilare il sorgente con il comando:

       make

    Per fare questo è necessario installare l'Ambiente di sviluppo (SDK) Open Source per sistemi Linux (continua...)

  2. Trasferire l'eseguibile nel FOX. Continua...

  3. Eseguirlo con il comando:

       ./gps /dev/ttyS2 ( ricevitore GPS collegato alla seriale 2 )

       oppure:
       ./gps /dev/ttyS3 ( ricevitore GPS collegato alla seriale 3 )

       oppure
       ./gps /dev/ttyUSB0 ( ricevitore GPS collegato alla seriale USB 0 usando un convertitore USB/Seriale )


Ingrandisci



Per maggiori informazioni