Interpretiamo i dati del ricevitore NAVigation Satellite Timing And Ranging Global Positioning System Più comunemente noto come GPS (Sistema di Posizionamento Globale) È un sistema di posizionamento su base satellitare Reparto Spaziale : 24 satelliti, orbitanti attorno alla terra a 20.000 km di quota Reparto di Controllo : 5 stazioni di controllo a terra (Hawaii, Colorado Springs, Ascencion, Diego Garcia, Kwajalein) Reparto di Utilizzo : ricevitori (antenne) Il GPS si basa sulla misura del tempo di percorrenza del segnale trasmesso tra l’antenna del satellite e quella del ricevitore Antenna GPS Bluetooth Computer con interfaccia Bluetooth (Bluetooth con emulazione porta COM) Un’applicazione da noi scritta in VB (Visual Basic) 2008 in grado di leggere i dati dalla COM Bluetooth. Il GPS invia dei dati codificati in standard NMEA 0183 (più conosciuto come NMEA) NMEA : National Marine Electronics Association Il GPS, che invia mediante Bluetooth i dati codificati, è detto talker Il dispositivo che riceve i dati è detto listener I dati inviati sono definiti sentences La struttura di un dato è la seguente: $Prefisso,Dato1,Dato2,…,DatoN*Checksum La frase inizia sempre col simbolo ‘$’ e ha una lunghezza massima di 80 caratteri Prefisso : specifica il tipo di talker (GP=GPS) e il tipo di frase (GGA, GSA, …) Checksum : usato per verificare l’integrità dei dati con l’algoritmo XOR 8 bit Esempio: $GPGGA,123519,4807.038,N,01131.000,E,1,08 ,0.9,545.4,M,46.9,M,,*47 Da questi dati possiamo ricavare l’ora ora, ora la latitudine, latitudine la longitudine, longitudine la qualità qualità del FIX (definisce se valido o invalido), il numero di satelliti tracciati, HDOP (“Horizontal Dilution of tracciati l’HDOP Position”, un indice riguardante la precisione della posizione), l’altezza altezza (ricavabile solo durante un 3D FIX) Esempio: $GPGSA,A,3,04,05,,09,12,,,24,,,,,2.5,1.3,2.1* 39 Da questi dati possiamo ricavare il tipo di FIX (2D/3D), il PRN (codice identificativo) dei satelliti usati per il FIX, il PDOP (“dilution of precision”), l’HDOP HDOP (“Horizontal dilution of precision”), il VDOP (“Vertical dilution of precision”) Esempio: $GPGSV,2,1,08,01,40,083,46,02,17,308,41,1 2,07,344,39,14,22,228,45*75 Da questi dati possiamo ricavare il numero di satelliti in vista, vista i PRN dei satellite con relativi Azimuth ed Elevation (espressi in gradi) e i livelli di segnale Esempio: $GPRMC,123519,A,4807.038,N,01131.000,E ,022.4,084.4,230394,003.1,W*6A Da questi dati possiamo ricavare l’ora ora, ora lo stato del ricevitore, ricevitore la latitudine, latitudine la longitudine, longitudine la velocità angolo rispetto al Nord e la velocità (in nodi), l’angolo data Il Checksum è molto utile per poter verificare l’integrit integrità integrità dei dati ricevuti Utilizzo dell’algoritmo XOR 8 bit (exclusive OR 8 bit), ottenendo due caratteri alfanumerici Utilizzo: il PC calcola il Checksum della frase compresa tra ‘$’ e ‘*’ per poi confrontarlo con quello inviato dal dispositivo GPS