Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

63
Facoltà di Ingegneria Corso di Laurea in Ingegneria delle Telecomunicazioni Argomento: Sviluppo di un sistema per il tracciamento di un veicolo mediante GPS. Relatore: Laureando: Prof. Franceso De Natale Gianpaolo Marin Tutor: Ing. Gabrio Girardi Anno Accademico 2005-2006.

Transcript of Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Page 1: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Facoltà di Ingegneria

Corso di Laurea in Ingegneria delle Telecomunicazioni

Argomento:

Sviluppo di un sistema per il tracciamento di un

veicolo mediante GPS.

Relatore: Laureando:

Prof. Franceso De Natale Gianpaolo Marin

Tutor:

Ing. Gabrio Girardi

Anno Accademico 2005-2006.

Page 2: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 1 di 62

INDICEINDICEINDICEINDICE::::

1) INTRODUZIONE………………………………………………… …….3

1.1) Presentazione Graphitech e stage…………………………………………………4

2) SCOPO DEL PROGETTO……………………………………………..5

3) STRUMENTI UTILIZZATI………………………………………… …8

4) STATO DELL’ARTE…………………………………………………..11

4.1) GPS……………………………………………………………………………….11

4.1.1) Struttura del Sistema………………………………………………………..11

4.1.1.1) Segmento Spaziale…………………………………………………….12

4.1.1.2) Segmento di Controllo………………………………………………...13

4.1.1.3) Segmento di Utenza…………………………………………………...14

4.1.2) Determinazione della Posizione……………………………………………14

4.1.3) Errori del Sistema…………………………………………………………..17

4.1.4) Protocollo NMEA 0183…………………………………………………….19

4.1.4.1) Struttura delle frasi NMEA……………………………………………19

4.1.4.2) Prefissi………………………………………………………………...20

4.1.4.3) Formati dei Campi…………………………………………………….20

4.1.4.4) Checksum……………………………………………………………..22

Page 3: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 2 di 62

4.1.4.5) Le frasi NMEA in dettaglio…………………………………………...23

4.2) File XML………………………………………………………………………...27

5) APPLICAZIONE…………………………………………………………..30

5.1) WalkingPDA…………………………………………………………………………30

5.1.1) Interfaccia Grafica………………………………………………………………30

5.1.2) Algoritmo………………………………………………………………………..34

5.2) GTServer……………………………………………………………………………...38

5.2.1) Interfaccia Grafica………………………………………………………………38

5.3) GTServerSocket………………………………………………………………………42

5.4) FormFilter…………………………………………………………………………….46

5.4.1) Interfaccia Grafica………………………………………………………………46

5.4.2) Algoritmo………………………………………………………………………..51

6) CAMPI d’IMPIEGO………………………………………………………53

6.1) Localizzazione di oggetti all’interno della mappa 3D……………………………….53

6.2) Raccolta dei dati territoriali………………………………………………………….54

6.3) Turismo………………………………………………………………………………54

6.4) Altri impieghi………………………………………………………………………...56

7) CONCLUSIONI……………………………………………………………57

8) FOTO GALLERY…………………………………………………………59

9) BIBLIOGRAFIA…………………………………………………………...62

Page 4: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 3 di 62

1 1 1 1 INTRODUZIINTRODUZIINTRODUZIINTRODUZIONEONEONEONE

Il corso di studi che ho intrapreso, Ingegneria delle Telecomunicazioni, prevede lo

svolgimento di uno stage della durata di tre mesi. Dopo aver parlato con il mio tutor

universitario Dr. Ing. Francesco De Natale, ho deciso di cimentarmi in uno stage esterno

avendo così l’opportunità di poter incrementare le mie competenze grazie all’esperienza fatta

nel mondo del lavoro.

L’azienda che mi ha ospitato è la GraphiTech, Center for Advanced Computer Graphics

Technologies, situata a Villazzano. Essa è nata grazie alla collaborazione tra la Fondazione

INI-GraphicsNet (situata in Germania), l'Istituto Trentino di Cultura (ITC) e l'Università

degli Studi di Trento.

Il presente lavoro di tesi ha come scopo principale la memorizzazione e trasmissione di

coordinate geografiche (ricevute tramite dispositivo GPS Bluetooth), la creazione di un

motore di ricerca per la visualizzazione degli hotspot su WorldWind e la possibilità di un

completo scambio d’informazioni tra un’unità Pocket PC e un qualsiasi computer su cui è

installato WorldWind con gli add-on necessari.

In particolare, per la memorizzazione e la trasmissione di coordinate geografiche si è

sviluppato un programma in Visual Basic per palmare. Tale programma collegato ad un

dispositivo GPS Bluetooth permette di leggere i dati ricevuti tramite porta seriale, scartare

quelli errati e salvare le coordinate (latitudine, longitudine, altitudine, data, luogo) in un file di

testo. Mentre avviene l’acquisizione, con la selezione di un apposito flag, è possibile inviare

tramite connessione wireless o USB questi dati ad un server, il quale funge da bridge fra il

palmare e l’applicazione WorldWind. Una volta che i punti sono arrivati a WorldWind è

possibile visualizzare sul mondo virtuale la posizione acquisita; si può ottenere anche il

Page 5: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 4 di 62

tracciamento di un intero percorso in real time tramite una ripetizione automatica del processo

per un singolo punto.

Per quanto riguarda il motore di ricerca, è stata implementata un’interfaccia grafica in C# per

permettere di eseguire una ricerca all’interno di un file di testo, di tipo XML (nel quale sono

memorizzate le coordinate geografiche, le icone associate e una breve descrizione), tramite la

digitazione di parole chiave. Non appena la ricerca ha avuto termine sono visualizzati su

WorldWind solamente gli hotspot risultanti.

1.1 Presentazione1.1 Presentazione1.1 Presentazione1.1 Presentazione Graphitech Graphitech Graphitech Graphitech e sta e sta e sta e stagegegege

GraphiTech è una fondazione no-profit orientata all’innovazione con attività di sviluppo e di

ricerca nella vasta area dell’advanced computer graphics e della realtà virtuale. Lo scopo di

tale azienda è aumentare la competitività delle

industrie del Trentino con lo sviluppo e

l'applicazione dell’advanced computer graphics.

Attraverso un trasferimento di conoscenze fra il

settore di ricerca e l'industria, la Fondazione

contribuisce con la promozione di ricerca sulla

computer graphics, l'elaborazione

dell'informazione e la comunicazione visiva,

comprese la realtà virtuale e l'ingegneria virtuale.

I settori di ricerca di quest’azienda sono molteplici, ma si possono schematizzare in diversi

campi tra i quali:

� Interactive Graphics System.

� Digital Technologies for Media and Streaming.

� Digital Media Content Engineering.

� Augmented Reality.

� Collaborative Architectural Design.

� Mixed Reality and Networked Audio – visual applications.

� Technologies for the confidentiality of visual information.

Figura 1.1: logo Graphitech.

Page 6: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 5 di 62

� New Generation Internet for visual communication.

Lo sviluppo continuo di tecnologie informatiche ed elettroniche permettono oggi, ad un

numero sempre più elevato di persone, di utilizzare sistemi basati su realtà virtuale più

complessi.

L’utilizzo di tali ambienti spazia dai più articolati software di simulazione scientifica ai

comuni videogiochi. Quest’ultima area, grazie ad un’enorme diffusione e un conseguente

abbattimento dei costi, ha permesso di sviluppare sistemi per la simulazione di ambienti

virtuali con scenari di ampi spazi aperti. Oggi questi sistemi permettono la visualizzazione

d’informazioni territoriali finora accessibili solo in maniera cartacea e con uno spreco di

risorse elevato. Attualmente, grazie all’integrazione di dati GIS con informazioni collegate a

luoghi o elementi posizionati sul territorio, è possibile costruire un sistema in grado di legare

tali dati alla corrispettiva area geografica.

Un settore che ha tratto molto beneficio dallo sviluppo di queste tecnologie è il settore

turistico, che utilizza questi software per farsi pubblicità e valorizzare luoghi naturali poco

conosciuti.

Page 7: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 6 di 62

2 2 2 2 SCOPO DEL PROGETTOSCOPO DEL PROGETTOSCOPO DEL PROGETTOSCOPO DEL PROGETTO

Lo stage si è incentrato sullo sviluppo di uno strumento d’informazione turistica per la

visualizzazione 3D dell’Altopiano di Pine e della Val di Cembra. Il progetto ha portato alla

realizzazione di un sistema per la visualizzazione 3D in tempo reale basato sulla piattaforma

WorldWind , un pacchetto software Open Source sviluppato dalla NASA.

In particolare il progetto ha portato alla realizzazione di un “add-on” dell’applicazione

scaricabile via web, in grado di accedere in streaming, tramite un server remoto, alle ortofoto

ad alta risoluzione dell’area del trentino, con diversi livelli di dettaglio possibili in funzione

della distanza dell’osservatore dal terreno.

Figura 2.2: Esempio di ortofoto ad alta risoluzione, visuale Piazza Duomo.

Page 8: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 7 di 62

Tali informazioni, ordinate in layer, permettono di visualizzare sul terreno in 3D degli hotspot,

ciascuno corrispondente ad un punto georeferenziato e contenente informazioni aggiuntive sul

punto di interesse. Al passaggio del cursore sull’hotspot sono visualizzate, in overlay

sull’ambiente 3D, maggiori informazioni sul dato punto. Qualora l’utente desideri entrare in

possesso di ulteriori informazioni sul hotspot in questione (quali descrizione dettagliata,

immagini ed altri dati multimediali) basta un click del mouse sull’icona visualizzata. Il

sistema provvederà automaticamente ad attivare il browser di navigazione e caricare la pagina

web corrispondente al punto.

Il “ volo virtuale sul territorio trentino”, questo il nome del progetto, sintetizza in modo

adeguato lo spirito di quello che è un eccezionale e maturo sposalizio di idee e progetti, atti a

favorire lo sviluppo territoriale.

Figura 2.3: Visuale 3D di una valle del trentino.

Page 9: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 8 di 62

3 3 3 3 STRUMENTI UTILIZZATISTRUMENTI UTILIZZATISTRUMENTI UTILIZZATISTRUMENTI UTILIZZATI

L’applicazione software è stata sviluppata utilizzando i seguenti strumenti o ambienti di

sviluppo:

� WorldWind : è un software open source sviluppato dalla NASA, costituito da un

mappamondo virtuale utilizzato in ambiente Microsoft Windows. Essendo open

source, l’utente può personalizzare a proprio piacimento il software, sia creando

degli add-on in maniera autonoma (sono programmi scritti in C#, VB o J#) oppure

sfruttando quelli già esistenti che più gli interessano, scaricabili gratuitamente dal

sito ufficiale di WorldWind (www.worldwindcentral.com/wiki/Main_Page).

L’utente interagisce con il

pianeta ruotandolo e

zoomando dentro e fuori.

La visualizzazione delle

immagini avviene attraverso

l’overlay di diverse immagini

e a seconda della distanza dal

terreno, ci si avvale di

immagini satellitari o di

immagini ad alta definizione

acquisite attraverso voli aerei.

Figura 3.4: Schermata principale di WorldWind.

Page 10: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 9 di 62

La scelta di tale piattaforma, se paragonata ad altre applicazioni analoghe quali

Google Earth, fornisce l’enorme vantaggio di potere gestire data base in maniera

autonoma. In effetti, il maggiore problema nell’utilizzo di Google Earth è

costituito dal fatto che i dati non possono essere ospitati su un proprio server, bensì

essi sono gestiti da Google che provvede (ad intervalli di alcune settimane)

all’aggiornamento del database, perdendone di fatto sia il controllo che la

proprietà e dunque senza garanzia alcuna che tali informazioni siano accessibili a

titolo gratuito nel futuro. Pertanto la scelta di WorldWind, che peraltro rappresenta

il maggiore concorrente di Google, permette sia l’utilizzo di una piattaforma

standard in tutto il mondo e dunque di larga diffusione, sia soprattutto di gestire

autonomamente i dati tramite la configurazione di server realizzati “ad hoc” e di

cui il fornitore di servizi ha il totale controllo in termini di accesso e

aggiornamento dei dati.

� Microsoft Visual Studio 2005: è un sistema di sviluppo integrato sviluppato da

Microsoft. È inoltre un ambiente di lavoro di tipo IDE RAD (Rapid Application

Development) atto ad aumentare la produttività aiutando il programmatore, ad

esempio attraverso l’uso di IntelliSense (è una forma di Autocomplite e

documentazione per variabili, funzioni, metodi) e un designer visuale delle forms.

Visual Studio supporta diversi tipi di linguaggi di programmazione tra cui C#,

C++, Visual Basic, .Net e J#.

� GPS: Holux GPSSlim236 Wireless Bluetooth è uno strumento con

elevateprestazioni caratterizzato da:

1) Doppia funzione Bluetooth e GPS-mouse (sono

dei sensori di posizione a tutti gli effetti ma senza

alcun display. Essi si collegano ad una qualsiasi

apparecchiatura in grado di decodificare il

protocollo NMEA-0813).

2) Completamente compatibile con il protocollo

Bluetooth SPP (Serial PortProfile). Figura 3.5: GPS utilizzato.

Page 11: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 10 di 62

3) Usa il chipset della SiRF Star III, con frequenza pari a 1575.42 MHz.

4) 20 canali di ricezione GPS per permettere acquisizioni veloci.

5) High speed signal acquisition using 200000 time/frequency search channels.

6) Supporta il protocollo NMEA-0813 v2.2 ( Baund Rate 38400 bps, Data bit

8, No bit di Parità, Stop bit 1) o codice SiRF binario.

7) Bluetooth frequency da 2400 a 2480 GHz.

8) Bluetooth Input Sensitivity -80 dBm.

9) Output Level 4 dBm.

� Pocket PC: modello Dell Axim X30 624MHz Pocket PC.

Figura 3.6: Palmare utilizzato.

Page 12: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 11 di 62

4 4 4 4 STATO DELL’ARTESTATO DELL’ARTESTATO DELL’ARTESTATO DELL’ARTE

4.1 4.1 4.1 4.1 GPSGPSGPSGPS

Questo sistema, la cui denominazione completa è NAVSTAR GPS, abbreviazione di

“Navigation Satellite Timing And Ranging Global Positioning System” (sistema di

posizionamento globale mediante misure di tempo e distanza rispetto a satelliti per

navigazione), è stato realizzato a partire dal 1973 a cura dello U.S. Department of Defence.

Il sistema, concepito per un posizionamento ad alte prestazioni per scopi militari, in

particolare per la missilistica, è impiegabile anche per usi civili, tra i quali la navigazione.

Il posizionamento che si ottiene con il GPS è tridimensionale, quindi contemporaneamente

planimetrico e altimetrico.

4.1.14.1.14.1.14.1.1 Strutture del sistemaStrutture del sistemaStrutture del sistemaStrutture del sistema

Il sistema si suddivide in tre segmenti principali. Di seguito si riportano le nozioni base per

ciascuno di essi.

Page 13: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 12 di 62

4.1.14.1.14.1.14.1.1.1.1.1.1 Segmento spazialeSegmento spazialeSegmento spazialeSegmento spaziale

Il sistema GPS si basa su una costellazione di 24 satelliti (18 operativi e 6 di riserva). La

costellazione è stata progettata in modo da renderne visibili contemporaneamente da 4 a 12

satelliti, da ogni punto della superficie

terrestre.

I satelliti sono disposti su sei orbite circolari

inclinate di 55° rispetto all’equatore e con una

differenza di 60° in longitudine tra i nodi

ascendenti. Su ogni orbita sono disposti

quattro satelliti, di cui tre operativi e uno di

riserva. I satelliti orbitano ad un’altezza

operativa di 20183 Km da terra, anche se la

distanza effettiva varia da 18000 a 22000 Km,

e il loro periodo di rotazione è di 12 ore

sideree, più precisamente 11h58m02s).

I satelliti sono equipaggiati con due pannelli

solari che, con una superficie di 7-8 m2 ciascuno, forniscono la fonte di alimentazione

primaria del sistema di bordo (710-1100 W); quando i satelliti si trovano nella zona d’ombra

della Terra l’energia viene invece fornita da una serie di batterie (NiCd o NiH2).

Figura 4.8: Esempio di satellite GPS di quarta generazione.

Figura 4.7: Costellazione dei satelliti GPS.

Page 14: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 13 di 62

Ogni satellite è fornito della seguente strumentazione:

� Quattro orologi atomici di estrema precisione (due al rubidio e due cesio).

� Un computer di controllo.

� Un sistema di trasmissione radio ad onde ultracorte.

� Un sistema di controllo di assetto.

Note storiche:

� Il primo satellite fu lanciato nel 1978.

� La costellazione attuale, composta da 24 satelliti, fu terminata nel 1994.

� Passano circa 10 anni per la costruzione di un satellite.

� Ogni satellite pesa mediamente 1000 Kg ed è alto 5-6 m.

� La potenza di trasmissione è inferiore ai 50 W.

4.1.1.24.1.1.24.1.1.24.1.1.2 Segmento diSegmento diSegmento diSegmento di controllo controllo controllo controllo

Il sistema di controllo a terra è

costituito da una stazione

principale, nota come GPS

Master Control Station (MCS),

da cinque di stazioni di

monitoraggio Monitor Stations

(MS) e da tre antenne terrestri

Ground Antennas (GA).

Figura 4.9: Disposizione delle stazioni di controllo.

Page 15: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 14 di 62

La stazione principale si trova nella Base Area Schriever (Colorado Spring, USA) e il suo

compito primario consiste nel monitorare e gestire le funzionalità dell’intera costellazione di

satelliti. Le stazioni di monitoraggio sono dislocate nell’Oceano Pacifico (più esattamente

nelle Isole Hawaii e nelle Isole Kwajalein), nell’Oceano Indiano (nell’Isola Diego Garcia) e

nell’Oceano Atlantico (nell’Isola di Ascensione), più una nell’MCS stesso. Il loro compito

principale è quello di seguire tutti i satelliti e di comunicare periodicamente la loro posizione

alla stazione principale. Nella normale routine, l’MCS utilizza le antenne a terra (collocate

presso le stazioni di Kwajalein, Diego Garcia e Ascension) per inviare ai satelliti periodici

aggiornamenti del clock di sistema e della loro posizione; qualora però l’MCS riscontrasse

discrepanze tra le posizioni previste e quelle reali, sempre tramite le antenne a terra,

invierebbe immediatamente segnali di correzione ai satelliti ‘fuori’ posizione. Le stazioni

devono controllare anche lo stato di salute dei satelliti, per decidere un’eventuale sostituzione.

4.1.4.1.4.1.4.1.1.1.1.1.3 3 3 3 Segmento di utenzaSegmento di utenzaSegmento di utenzaSegmento di utenza

Il segmento Utenza è costituito dalla innumerevole massa di ricevitori GPS esistenti oggi

sulla terra, siano essi collocati in un veicolo militare, in un’auto, in un telefonino o nel collare

di un animale selvatico. Sebbene ci siano innumerevoli applicazioni pratiche per l’utilizzo del

GPS, la maggior parte dei casi ricade in quattro categorie ben specifiche: navigazione,

sorveglianza, mappatura e temporizzazione.

4.4.4.4.1.1.1.1.2 2 2 2 Determinazione della posizioneDeterminazione della posizioneDeterminazione della posizioneDeterminazione della posizione

I ricevitori terrestri, mediante un proprio orologio interno, misurano la differenza fra l’istante

di ricezione e quello di trasmissione del segnale; moltiplicando tale differenza per la velocità

di propagazione delle onde elettromagnetiche si ottiene la distanza fra il satellite ed il

ricevitore.

Esistono due tipi di misure GPS, le misure di pseudorange e le misure di fase. Le prime

sono usate soprattutto nella navigazione, mentre le seconde in tutte le applicazioni in cui è

Page 16: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 15 di 62

richiesta una maggiore accuratezza, come ad esempio per scopi topografici o per il controllo

delle deformazioni terrestri.

La determinazione della posizione richiede la risoluzione di un sistema non lineare di 4

equazioni indipendenti in 4 incognite. Tali incognite sono:

� Latitudine.

� Longitudine.

� Altitudine.

� Tempo.

Occorre quindi disporre di 4 segnali, trasmessi da altrettanti satelliti. Conoscendo l’istante di

partenza e di arrivo del segnale, possiamo calcolare la distanza ricevitore-satellite, assegnando

al segnale la velocità della luce (300000 Km/s).

La misura della distanza è affetta da diversi errori, dovuti agli effetti atmosferici sulla velocità

di propagazione del segnale, alle imprecisioni dei segnali di clock dei satelliti e ad altri effetti

secondari. Per tale ragione, la distanza misurata è chiamata, nel gergo GPS, pseudodistanza o

pseudorange.

Tale pseudodistanza sarà il raggio di una sfera immaginaria con centro il satellite stesso. Ogni

punto della superficie della sfera è una delle possibili posizioni occupate.

Supponendo che inizialmente, il ricevitore

acquisisca il segnale di un solo satellite e che

determini la sua distanza; non avendo altri

riferimenti, si potrà solo affermare che il

ricevitore si trova sulla superficie di un’ipotetica

sfera centrata sul satellite in questione e con

raggio uguale alla distanza misurata. Utilizzando

un po’ di formule geometriche si scopre che la

maggior parte della superficie di quest’ipotetica

sfera verrebbe a cadere fuori dalla Terra, ma la

parte incidente sul nostro pianeta sarebbe in ogni

caso troppo grande per poter stabilire con

certezza la localizzazione del ricevitore.

Figura 4.10: Un solo satellite in vista.

Page 17: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 16 di 62

Se consideriamo due satelliti distinti, quindi due

sfere non concentriche, la posizione si troverà

sulla circonferenza del cerchio che individua il

piano d’intersezione delle due sfere

perpendicolare alla retta congiungente i due

satelliti.

Se, infine, consideriamo tre diversi satelliti

avremo tre diverse sfere. Queste sfere avranno in

comune due punti nello spazio tridimensionale,

ma dei due punti uno è in genere manifestamente

errato e può essere facilmente scartato.

Tre segnali sono quindi necessari per

determinare in modo univoco un punto, mentre

il quarto segnale serve al ricevitore perché esso

non dispone di un orologio atomico

sincronizzato con quello che si trova sui satelliti.

Figura 4.11: Due satelliti in vista.

Figura 4.12: Tre satelliti in vista.

Figura 4.13: Quattro satelliti in vista.

Page 18: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 17 di 62

4.4.4.4.1.1.1.1.3 3 3 3 Errori del sistemaErrori del sistemaErrori del sistemaErrori del sistema

Il sistema GPS è un sistema affetto da molti tipi di errori, i quali influenzano notevolmente la

distanza misurata; alcuni di questi errori possono essere ridotti di ampiezza grazie a calcoli

matematici sperimentali, mentre la maggior parte non può essere corretta.

Gli errori si possono dividere nelle seguenti categorie:

� Errori dovuti all’hardware presente nel ricevitore e nel satellite (rumore di tipo

elettronico): causato dalla differenza di allineamento tra il codice generato dal

ricevitore con quello proveniente dal satellite. Questo errore grazie alla tecnologia

utilizzata nei sensori di ultima generazione è molto piccolo, inferiore al metro.

� Selective Availability e l’AntiSpoofing: introdotti dal dipartimento della difesa

degli USA, a bordo dei satelliti per creare artificialmente una degradazione della

precisione (la massima precisione è garantita, soltanto, agli utenti autorizzati) e per

proteggere gli utilizzatori militari dal pericolo di essere ingannati da false

trasmissioni con segnali simili a quelli del GPS.

� Variazioni nel clock degli orologi atomici: un disallineamento di soli 3ns

comporta un errore di 1m sul calcolo della distanza.

� Errori nelle effemeridi fornite dai satelliti: le effemeridi sono tabelle che

contengono dati precisi riguardo alla posizione, in un determinato intervallo

temporale, di corpi celesti naturali o artificiali. Un piccolo errore sulla posizione

del satellite causa un calcolo sbagliato della coordinata.

� Errori dovuti al sistema di controllo nell’aggiustamento degli orologi satellitari e

nel calcolo delle orbite dei satelliti.

� Effetti atmosferici: il segnale trasmesso dal satellite subisce rallentamenti e

deviazioni quando esso attraversa la ionosfera e la troposfera.

Page 19: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 18 di 62

� Macchie solari: l’attività elettromagnetica del sole può generare interferenze sulla

trasmissione del segnale.

� Errori dovuti al “multipath ”: riguardano fenomeni di riflessione del segnale

giunto al ricevitore. Questi sono provocati dalla presenza di superfici riflettenti in

prossimità del ricevitore. La traiettoria del segnale osservato subisce riflessioni

multiple e quindi il tragitto percorso non coincide con quello geometrico fra

satellite e ricevitore. Ciò causa una sovrastima della distanza che si riflette in un

errore nella stima della posizione.

Figura 4.14: Esempio di macchie solari.

Figura 4.16: primo esempio di multipath. Figura 4.15: secondo esempio di multipath.

Page 20: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 19 di 62

La somma degli errori forniti da queste non idealità del sistema porta un errore che può

arrivare anche a 20m.

4.4.4.4.1.1.1.1.4 4 4 4 PrPrPrProtocollo otocollo otocollo otocollo NMEA 0183NMEA 0183NMEA 0183NMEA 0183

Il GPS comunica attraverso uno speciale formato, standardizzato dalla National Marine

Electronics Association (NMEA), di tipo seriale basato sulla trasmissione di una ben precisa

famiglia di messaggi in formato testo. In effetti, la connessione bluetooth tra GPS e

dispositivo è gestita a tutti gli effetti come una connessione di formato RS232, a 4800bps,

quindi i messaggi viaggiano attraverso la connessione COM virtuale. Le origini di questo

sistema sono prevalentemente nautiche; oggi invece è impiegato nella maggior parte dei

dispositivi GPS commerciali.

Per quanto riguarda l’interfaccia COM RS232, per essere completamente compatibile con il

sensore GPS, deve essere impostata con le seguenti caratteristiche (standard):

� Indirizzo COM viruale connesso al sensore.

� Baud rate di 4800bps.

� 8 bit di dati.

� Nessun bit di parità.

� 1 bit di stop.

4444.1.1.1.1.4.1.4.1.4.1.4.1 Struttura delle frasi Struttura delle frasi Struttura delle frasi Struttura delle frasi NMEANMEANMEANMEA

Le frasi del protocollo NMEA sono composte da una sequenza di caratteri ASCII.

L’inizio della stringa è delimitato dal carattere “$” seguito da un prefisso indentificatore; da

una serie di campi separati da una virgola ed un checksum finale.

Page 21: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 20 di 62

Esempio 1:

$PREFISSO, campo, campo, …, campo, *checksumCRLF

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.

4.14.14.14.1....4.4.4.4.2 2 2 2 PrefissiPrefissiPrefissiPrefissi

I dispositivi collegabili tra loro, con sistema NMEA, ricadono in diverse categorie:

� Autopiloti.

� Dispositivi di comunicazione (radio e anche GPS).

� Sensori di direzione (bussole e giroscopi).

� Dispositivi LORAN.

� Sensori di velocità ed una categoria per altri trasduttori.

Tutte le sentenze NMEA, come detto, iniziano con un prefisso costituito dal carattere "$",

seguito da due caratteri che identificano l'entità che le genera, talker.

Nell'ambito del GPS, le frasi iniziano con "$GP", dove "GP" denota che essa è stata generata

da un dispositivo GPS. I successivi tre caratteri del prefisso della frase indicano il tipo di

frase.

Esempio 2:

una frase che inizia con $GPGLL è inviato da un dispositivo di tipo GPS (GP) ed è del

tipo Geographic position, Longitude and Latitude (GLL).

Page 22: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 21 di 62

4.1.4.1.4.1.4.1.4.3 4.3 4.3 4.3 Formati dei campiFormati dei campiFormati dei campiFormati dei campi

La frase, dopo il prefisso, continua con una serie di campi, separati da virgole, che

contengono le informazioni vere e proprie. Si noti che tra le varie versioni (e spesso tra

diverse implementazioni e costruttori) le lunghezze dei campi possono variare o non essere

presenti. Chi scrive un software di decodifica considera i campi di lunghezza variabile e si

basa sulle virgole. Inoltre, alcune implementazioni includono gli zeri davanti ai numeri, altri

no, e il numero di cifre decimali varia tra diverse implementazioni.

Ecco i formati dei dati usati dalle frasi NMEA GPS:

� 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.

Nota:

� Riferimenti a gradi si intendono sessagesimali.

� Riferimenti a UTC si intendono relativi all'ora universale, praticamente GMT,

detto anche ora Zulu.

Page 23: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 22 di 62

In effetti ci sono piccoli scostamenti (costanti e accuratamente monitorati) tra l'ora "interna"

del sistema GPS e l'ora GMT, normalmente usata per gli orologi, attualmente intorno ai 13

secondi.

4.4.4.4.1.1.1.1.4.4 4.4 4.4 4.4 ChecksumChecksumChecksumChecksum

Al termine di ciascuna frase NMEA è posto, dopo un asterisco, un checksum per poter

individuare eventuali errori sulla linea di trasmissione tra emettitore e ascoltatore (talker e

listener). Con le attuali tecnologie, una trasmissione a 4800 bps su una interfaccia RS232 è, a

dir poco, affidabile, ma qualora la trasmissione avvenisse mediante un sistema più complesso

(infrarosso, Bluetooth) o una catena più lunga (come nel campo della localizzazione veicolare,

magari su GSM/GPRS o ponti radio) il checksum può essere utile per assicurare l'integrità

della trasmissione.

Il checksum è uno XOR a 8-bit (senza i bit di start o stop) di tutti i caratteri della frase NMEA,

compresi i delimitatori ",", tra i delimitatori "$" e "*" esclusi. Il valore esadecimale dei 4 bit

più "alti" e "bassi" del risultato sono convertiti in due caratteri ASCII (0-9, A-F). Il carattere

trasmesso per primo è quello più significativo.

Questo checksum è eseguito di default dal ricevitore GPS.

Page 24: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 23 di 62

4.4.4.4.1.1.1.1.4.5 4.5 4.5 4.5 Le frasiLe frasiLe frasiLe frasi NMEA NMEA NMEA NMEA in dettaglioin dettaglioin dettaglioin dettaglio

Lo standard NMEA prevede una gran quantità di sentenze e, di seguito, sono riportate quelle

che trovano un’applicazione pratica nei ricevitori GPS.

Figura 4.17: tutte le frasi che compongono lo standard NMEA

Le frasi seguite con un apice (^) sono spiegate più in dettaglio qui di seguito.

Page 25: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 24 di 62

� GPGGA – Global Position System Fix

Comprende i dati concernenti la localizzazione 3D del dispositivo e il tempo

relativo al GPS.

� GPGLL – Geographic Position Latitude/Longitude

Contiene solamente i dati posizionali.

� GPRMC – Recommended Minimum GPS Data

È una delle frasi più complete, comprende i dati essenziali riguardanti data/ora,

posizione, velocità e qualità della rilevazione.

Page 26: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 25 di 62

� GPGSA – GPS DOP and Satellites Active

Comprende i dati sulla qualità del fix e l'indicazione dei satelliti ricevuti (o di cui i

vari canali stanno tentando la ricezione).

Esistono significative differenze di implementazione nell'ordine e organizzazione

dei campi indicanti i satelliti attivi. Taluni ricevitori li raggruppano all'inizio della

sequenza (lasciando campi vuoti alla fine), alcuni li ordinano per numero (Garmin),

altri li lasciano in ordine sparso con campi vuoti intermedi (Evermore).

� GPVTG – Vector Track and Ground Speed

Contiene informazioni sulla direzione e sulla velocità a terra del GPS.

Page 27: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 26 di 62

� GPGSV – GPS Satellites in View

Contiene i dati relativi ai satelliti che il ricevitore, in base ai propri dati delle

effemeridi e eventualmente alla maschera di elevazione, ritiene di poter

ricevere. Per ciascun satellite sono indicati identificatore, azimuth, elevazione, e

livello di segnale ricevuto. La frase completa si struttura in un gruppo di più frasi

di tipo GSV per poter contenere tutti i campi necessari. Un ricevitore a 12 canali

potrà indicare un massimo di 12 satelliti suddivisi su tre frasi.

� GPRMB – Recommended Minimum Navigation Data

Frase dedicata alla navigazione tra waypoints (hotspot).

Page 28: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 27 di 62

4.2 4.2 4.2 4.2 FFFFileileileile XML XML XML XML

Il linguaggio XML (eXtensible Markup Language) è stato introdotto per colmare la mancanza

di uno standard che consenta ricerche intelligenti, scambio di dati, presentazioni adattabili e

personalizzazioni. Lo standard XML è un formato testuale, simile per molti aspetti al

linguaggio HTML, ideato specificamente per memorizzare e trasmettere dati.

Internet non si può limitare a fornire l’accesso ad informazioni e fissare standard di

visualizzazione, ma deve fissare uno standard per la comprensione delle informazioni,

cosicché i programmi software siano in grado di eseguire meglio le ricerche, di visualizzare e

di manipolare informazioni nascoste in file di testo. L’XML si descrive da solo, il che

significa che comprende sia la struttura che la semantica dei dati contenuti nel file.

Il linguaggio XML fornisce una rappresentazione strutturale (struttura ad albero) dei dati

che può essere ampiamente e facilmente implementata. Lo standard XML è costituito da un

sottoinsieme di SGML ottimizzati per l'invio nel Web. Definito dal consorzio W3C (World

Wide Web Consortium), il linguaggio XML assicura che i dati strutturati siano uniformi e

indipendenti dalle applicazioni o dai produttori.

L’inizio di un file XML è costituito da una tag iniziale (<title>), una tag finale (</title>) e da

informazioni, comprese tra le due tag. Diversamente dal linguaggio HTML, lo standard XML

consente di includere un numero illimitato di tag, ciascuna indicante non l'aspetto, ma il

significato di un elemento testuale. È compito dell'autore del documento stabilire il tipo di

dati da utilizzare e i nomi delle tag che meglio si adattano.

Il linguaggio XML consente di utilizzare fogli di stile quali XSL (eXtensible Style Language),

CSS (Cascading Style Sheets) e altre applicazioni per la visualizzazione ed elaborazione dei

dati. Questo procedimento permette al linguaggio XML di poter tenere separati i dati dalle

altre applicazioni di rappresentazione, permettendo così una perfetta integrazione dei dati

provenienti anche da più fonti.

Per rendere un documento XML più completo solitamente si allega ad esso un file DTD

(Document Type Definition), che definisce le regole utilizzate, quali ad esempio l‘indicazione

degli elementi presenti e la relazione strutturale esistente tra essi.

Anche se il linguaggio XML è totalmente personalizzabile esistono comunque delle regoli di

sintassi.

Page 29: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 28 di 62

Le più importanti sono:

� Tutti i file XML devono iniziare con la dichiarazione standard che specifica la

versione XML e il set di caratteri utilizzati nel documento.

Esempio 3: <?xml version=”1.0” encoding=”iso-8859-1”?>.

� Tutti i documenti XML devono avere un elemento principale (root).

� Tutti gli elementi XML devono avere un tag di chiusura.

� I tag sono case sensitive.

� Tutti gli elementi XML devono essere nidificati correttamente.

� Gli attributi devono essere inclusi nel tag di apertura e devono essere scritti tra

doppie virgolette.

I principali vantaggi dell’XML sono visibili in alcune applicazioni:

� Nelle applicazioni che manipolano una grossa quantità di dati, poiché resta in ogni

modo flessibile ed estensibile.

� Nelle applicazioni in cui esiste un rischio di ridondanza dei contenuti.

� Qualora sia necessario uno scambio di una mole di dati elevata su piattaforme

diverse.

� Nelle applicazioni in cui le informazioni siano facilmente disponibili per una

grande quantità di client.

Naturalmente l’XML presenta anche dei limiti, questo non deve preoccupare poiché è un

linguaggio in continua evoluzione.

I principali svantaggi sono:

� Mancano trigger e indici per ricerche veloci.

� Non è possibile la Multi-utenza.

� Le funzioni di archiviazione non sono efficienti.

� Non esistono controlli sull’integrità dei dati.

� Non è implementato un controllo sulla sicurezza delle transizioni.

� Non sono supportate interrogazioni tra più documenti.

Page 30: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 29 di 62

� È un linguaggio prolisso perché richiede una coppia di tag per ciascun elemento.

A causa di queste lacune la ricerca nei file XML risulta lenta, ma serve comunque precisare

che questo standard non è un linguaggio ideato per database.

Page 31: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 30 di 62

5 5 5 5 APPLICAZIONEAPPLICAZIONEAPPLICAZIONEAPPLICAZIONE

L’applicazione sviluppata è suddivisa in quattro parti:

� WalkingPDA : applicazione per PDA che permette la gestione di coordinate GPS.

� GTServer: applicazione per un server dell’azienda che reindirizza i dati.

� GTServerSocket: add-on per WorldWind che permette la ricezione e la gestione

delle coordinate GPS.

� FormFilter : add-on per WorldWind che permette la ricerca di hotspot in trentino.

Queste applicazioni sono illustrate nei paragrafi seguenti.

5.1 5.1 5.1 5.1 WWWWalkingalkingalkingalkingPDAPDAPDAPDA

5.1.1 5.1.1 5.1.1 5.1.1 Interfaccia graficaInterfaccia graficaInterfaccia graficaInterfaccia grafica

Quest’applicazione è stata sviluppata per un dispositivo PocketPC, nel caso analizzato un Dell

Axim X30.

All’avvio l’interfaccia si presenta nella scheda (o tab) “impostazioni” come mostrato in

Figura 5.18. L’utente deve scegliere la porta seriale COM alla quale l’interfaccia GPS si

collega virtualmente.

Page 32: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 31 di 62

Come già detto, il collegamento Bluetooth tra GPS e

dispositivo è gestito come una normale connessione

seriale, che utilizza il protocollo RS232. Di default è

selezionata la porta COM7.

Una volta connesso il dispositivo GPS al palmare, è

possibile procedere con le successive operazioni.

Nella seconda scheda “connessione” è possibile stabilire

l’apertura di una connessione wifi con un server sempre

in ascolto.

Per eseguire la connessione basta inserire l’indirizzo IP

e la porta riferiti al server. La comunicazione è gestita

come una semplice conversazione client-socket. Questo

tipo di connessione è utilizzato normalmente per un solo

scambio o un numero limitato di dati trasmessi in modo

sequenziale. Una volta chiusa la connessione per poter

effettuarne una nuova è necessario riavviare

l’applicazione.

Premendo il pulsante “Connetti” si inoltra al server un

messaggio con la richiesta di connessione, così

composto:

“Host;Indirizzo IP;Nome Utente;Nome applicazione;”

Figura 5.18: Finestra delle impostazioni.

Figura 5.19: Finestra di connessione.

Page 33: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 32 di 62

Il nome dell’applicazione è “GPSTracker”.

Il server, una volta ricevuta la richiesta, risponde con “1” se la ricezione è avvenuta con

successo, con “0” altrimenti.

Il client, per poter inviare un nuovo messaggio deve sempre aspettare la risposta del server e,

se questa non arriva dopo un certo tempo (timeout), è segnalato l’errore ed è necessario

rinviare il messaggio, se questo non basta è necessario ristabilire la connessione.

Il pulsante “Disconnetti” permette di eliminare la connessione esistente tra client e server. Il

messaggio inviato, questa volta, è così composto:

“Quit;Indirizzo IP; ”

Selezionando la terza scheda “punti d’interesse” si entra nel cuore del programma.

Per prima cosa bisogna creare un nuovo file di testo o

caricarne uno preesistente. Una volta effettuata

quest’operazione è possibile iniziare ad acquisire le

coordinate geografiche.

Al di sotto del pulsante “acquisisci” vi è un menù a

tendina contenente i punti di interesse standard. Qualora

l’utente voglia inserire un nuovo hotspot basta digitarlo

nella casella di testo sottostante e cliccare “aggiungi”.

Nel caso non avvenga la selezione del punto, il campo

associato nella stringa dato risulterebbe vuoto.

Una volta associato un eventuale target alla coordinata

geografica, è possibile acquisire il punto attraverso la

pressione del tasto “acquisisci”. L’operazione richiede

qualche secondo.

I dati acquisiti possono essere gestiti in due maniere

differenti:

� Semplicemente memorizzati in un file di testo per un utilizzo futuro.

� Memorizzati in un file di testo ed inviati, con connessione wireless, ad un server

per poter sfruttare la funzione di tracking.

Figura 5.20: Finestra di acquisizione.

Page 34: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 33 di 62

La scelta di una di queste due modalità avviene tramite la selezione/deselezione del flag

“ Invia dati a WW”.

Il messaggio inviato al server è composto dalla seguente stringa:

“point;Latidutine;Longitudine;Altitudine;Descrizione ;end point;”

Una volta terminata l’acquisizione di un punto, esso è aggiunto nella tabella posta in mezzo

alla schermata, ed è possibile effettuare una nuova operazione con le stesse modalità.

Nella quarta ed ultima scheda “percorso” è possibile attivare la modalità di memorizzazione

delle coordinate in modalità sequenziale. I punti sono acquisiti in maniera automatica e

continua con l’utente in movimento. Se l’utente rimane

fermo in una posizione le coordinate vengono scartate.

Anche in questa modalità, come prima cosa, è

necessario creare un nuovo file di testo tramite

l’inserimento del nome nella casella di testo e la

pressione del tasto “ok”.

Come nella modalità “punti d’interesse”, le coordinate

scritte su file possono essere inviate ad un server

connesso sia in tempo reale durante l’acquisizione dei

punti, sia una volta che il percorso è concluso ed il file

di testo salvato e chiuso tramite il pulsante “Invia”.

L’invio dei dati in real time è selezionabile attraverso la

selezione/deselezione del flag “Invia dati a WW”.

L’avvio dell’acquisizione avviene mediante il tasto

“acquisisci”, mentre l’arresto dell’acquisizione con la

pressione del tasto “stop/salva”.

Il messaggio inviato al server questa volta è strutturato:

“ track;Latitudine;Longitudine;Altitudine;end tack; ”

per ogni punto del percorso inviato.

Figura 5.21: Finestra di acquisizione.

Page 35: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 34 di 62

5.1.2 5.1.2 5.1.2 5.1.2 AAAAlgoritmolgoritmolgoritmolgoritmo

Acquisizione della coordinataAcquisizione della coordinataAcquisizione della coordinataAcquisizione della coordinata

Per l’acquisizione di un singolo punto è stato deciso di compiere la media su una serie di

coordinate lette dal dispositivo. Sfruttando la classe “Timer ”, che permette di generare un

evento ad intervalli costanti definiti dall’utente, è stato fissato il numero di letture di dati dal

dispositivo GPS. Ogni sei ripetizioni dell’evento di lettura è calcolata la media dei valori letti

ed è scritto sul file di testo il valore risultante.

Una volta letti, i dati sono memorizzati in una variabile stringa e spezzati in parole più piccole

in base ai diversi campi.

In base alla lettura del primo campo, quello che ci fornisce l’informazione del tipo di dato

memorizzato nella stringa NMEA, la stringa è inoltrata alla procedura adeguata. Dopo aver

individuato il tipo di dato, è effettuato un controllo sulla correttezza del dato letto. Questo

controllo permette di scartare quelle frasi che, a causa del rumore, sono fuse assieme, quelle

troppo corte e quelle con i campi utili vuoti o contenenti valori non consentiti. Dei dati che

passano questo checksum vengono analizzati i campi descriventi latitudine, longitudine,

emisfero, altitudine, data che sono poi memorizzati e sommati ai precedenti.

Eseguite le sei routine, il timer è spento e comincia la fase di elaborazione dei dati per la

memorizzazione nel file di testo. Per prima cosa è calcolata la media dei valori dei dati

acquisiti. Questi dati per essere compatibili con la piattaforma di WorldWind devono essere

convertiti con la seguente formula:

Coordinata = Gradi + (Decimi MOD 1000000) equazione 5.1

600000

Si ha un utilizzo diverso anche per quanto riguarda gli emisferi. Gli emisferi Nord “N” ed Est

“E” sono sostituiti con un segno positivo, implicito, nel valore della coordinata; mentre per

quanto riguarda gli emisferi Sud “S” ed Ovest “W” sono sostituiti con un segno meno.

Page 36: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 35 di 62

Esempio 4:

Le coordinate lette dal GPS in località Villazzano Salita dei Molini n°2 (sede

Graphitech) risultano essere 4602.8721 N, 01108.7668 E. Eseguendo la conversione

sopra riportata si ottiene:

Nuova latitudine = 46 + (46028721 MOD 1000000) = 46,047868334°

600000

Nuova longitudine = 11 + (11087668 MOD 1000000) = 11,146113334°

600000

Dall’acquisizione di punti strategici dei quali si conosceva perfettamente la coordinata, è stato

possibile notare la presenza di un errore sistematico che è stato corretto con l’aggiunta di un

delta costante sia sulla latitudine sia sulla longitudine.

Effettuata la conversione, la coordinata è pronta per essere scritta sul file di testo o per essere

inviata al server cui si è connessi.

Al termine della fase di memorizzazione o di invio si ritorna allo stato iniziale per poter

permettere una nuova memorizzazione.

Figura 5.22: Schema generale di funzionamento dell'applicazione.

Page 37: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 36 di 62

Purtroppo alcune coordinate sbagliate superano la fase di controllo, ed è possibile che i dati

contenuti in queste stringhe siano completamente errati, e che si memorizzino coordinate

appartenenti ad altri paralleli o meridiani. Non è possibile eliminare questi dati in tempo reale,

ma solamente in una seconda fase grazie al buon senso dell’utente.

La modalità “percorso” è strutturata alla stesso modo, presenta solo una procedura in più che

permette di stabilire se l’utente è in movimento o è fermo nello stesso posto. Questa

procedura compie una semplice differenza tra il valore corrente e quello precedente. Se questa

differenza supera una determinata soglia il valore corrente è tenuto in considerazione e

subisce le operazioni sopra descritte, altrimenti è eliminato. Questa scrematura di punti fa sì

che non si formino nuvole di punti concentrate in uno spazio limitato.

Page 38: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 37 di 62

Diagramma 5.1: Diagramma di flusso delle fasi di acquisizione di un singolo punto d’interesse.

si

Inizio

Porta seriale è aperta?

Leggo le coordinate

Coordinata utilizzabile

Coordinata corretta

Somma

Apertura porta

no

si

si

no

no

Ripetere per 6 volte

Scrivi coordinata

Invio dati a WW

no Condizioni di partenza

si

Invio dati con Wifi

Page 39: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 38 di 62

Diagramma 5.2: Diagramma di flusso della fase di acquisizione di un percorso.

si

no

Somma

Ripetere per 6 volte

Porta seriale è aperta?

Leggo le coordinate

Coordinata utilizzabile

Coordinata corretta

Apertura porta

no

si

L’utente è in movimento

Scrivi coordinata

Invio dati a WW

no Ripristino

si

Invio dati con Wifi

si

Inizio

Page 40: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 39 di 62

5.2 5.2 5.2 5.2 GTServerGTServerGTServerGTServer

5.2.1 5.2.1 5.2.1 5.2.1 IIIInterfaccia graficanterfaccia graficanterfaccia graficanterfaccia grafica

Il server all’avvio dell’applicazione si trova in modalità di non ascolto. Se arrivano richieste

di connessione mentre il server è disattivato saranno rifiutate.

Per avviare l’applicazione basta

eseguire un click sul pulsante

“Avvia server”. Il server passa così

dalla modalità non in linea alla

modalità “Listening”. In questa

modalità, il server aspetta richieste

di connessione sulla porta in ascolto,

nel caso in Figura 5.23 la 5001.

All’arrivo di una richiesta l’utente è identificato dal suo indirizzo IP ed è inserito nella lista

degli utenti connessi. È possibile

una connessione simultanea di più

utenti come mostrato in Figura 5.24.

Ogni nuova connessione o

disconnessone di un utente è inoltre

registrata in un file di testo

aggiornato ad ogni evento.

Figura 5.23: Finistra di avvio di GTServer.

Figura 5.24: Server avviato con visualizzazione degli utenti connessi.

Page 41: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 40 di 62

Periodicamente viene anche creato un file di backup, nel quale sono aggiunti tutti gli utenti

che effettuano la loro prima connessione, questo per evitare ripetizioni inutili.

La visualizzazione degli utenti connessi avviene sfruttando un timer, che esegue un refresh

della finestra ogni 5 secondi. Qualora si voglia avere un refresh immediato della finestra,

basta premere il pulsante “Carica user”.

Quando un utente, effettuata la connessione, inizia ad inviare dati al server (ad esempio punti

di interesse o tracciati) strutturati come esposto nel capitolo applicazione WalkingPDA, il

server crea una nuova connessione verso un altro computer. Se su questo computer è attivo

WorldWind, ed è installato il plugin necessario per la ricezione dei dati dal server, si potranno

visualizzare, in tempo reale, le coordinate inviate dal dispositivo PDA.

Quando un client invia una richiesta di disconnessione il server chiude la connessione

esistente e cancella dalla lista l’utente.

Di seguito è riportato lo schema di funzionamento generale dell’algoritmo sviluppato per la

gestione dei pacchetti in arrivo al server.

Come si può notare dallo schema, il server, una volta effettuata la connessione con il

dispositivo richiedente, si comporta come un bridge, cioè reindirizza tutti i dati ricevuti ad un

nuovo client connesso.

Figura 5.25: Fase di disconnessione di un utente.

Page 42: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 41 di 62

Diagramma 5.3: Schema di funzionamento dell’algoritmo GTServer.

Reindirizza il dato ricevuto

È un percorso

si

Fino a end track

Esegue connessione Crea nuova

connessione

Esegue disconnessione

Disconnetti Track Connetti Point

Connessione attiva

no

Inizia

Not Listening

Listening

Avvia server

no

si

si

no

Page 43: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 42 di 62

5.3 5.3 5.3 5.3 GTServerGTServerGTServerGTServerSSSSocketocketocketocket

Questo add-on sviluppato per WorldWind permette di ricevere le coordinate inviate dal

server connesso.

Per avviare questo plugin basta selezionare dal menu a tendina “Plug-ins” e cliccare sulla

voce “(GT) Avvia Server Socket”. WorldWind passerà così in modalità ascolto e aspetterà di

ricevere dei dati.

Figura 5.26: Attivazione del add-on GTServerSocket.

Figura 5.27: GTServerSocket attivo e pronto a ricevere dati.

Per interrompere la ricezione di dati basta premere, sempre dal menu a tendina “Plug-ins”, la

voce “(GT) Interrompi server Socket”. Così facendo la connessione con il server sarà

immediatamente chiusa.

Figura 5.28: Procedura chiudere la connessione.

Page 44: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 43 di 62

Facendo interagire le tre applicazioni, WalkingPDA GTServer e GTServerSocket, come

mostrato in Figura 5.29 riusciamo ad ottenere un sistema per il tracking di oggetti o persone.

La localizzazione di questi oggetti sulla mappa ad alta risoluzione avviene mediante la

visualizzazione di un’icona, nel mio caso un auto sportiva, che si sposta seguendo le

coordinate inviate dal palmare al server e reindirizzate, dallo stesso, ad un computer connesso.

Qui di seguito è riportata una sequenza d’immagini che mostra il risultato dell’applicazione.

Figura 5.29: Schema di principio dell'iterazione tra le tre diverse applicazioni.

Page 45: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 44 di 62

Sequenza 5.1: Immagini descriventi la funzione di tracking, zona di Mezzocorona.

Page 46: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 45 di 62

È possibile visualizzare l’immagine anche cambiando inclinazione della telecamera il risultato

che si ottiene è il seguente.

Sequenza 5.2: Immagini descriventi la funzionalità di tracking con altra visuale, zona di Mezzocorona.

Un problema riscontrato nella creazione di questo plugin è che per visualizzare l’icona in

movimento sull’immagine dello schermo è necessario effettuare, per ogni spostamento

dell’icona, un refresh dell’intera immagine. Questo comporta una visualizzazione non fluida

dell’immagine sullo schermo.

Page 47: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 46 di 62

5.4 5.4 5.4 5.4 FFFFormFilterormFilterormFilterormFilterRRRR

5.4.1 5.4.1 5.4.1 5.4.1 Interfaccia graficaInterfaccia graficaInterfaccia graficaInterfaccia grafica

Questo add-on sviluppato per WorldWind permette di compiere una ricerca all’interno di file

XML. Esso è stato studiato e sviluppato in special modo per compiere ricerche all’interno di

quei documenti contenenti strutture interessanti il settore turistico. Esse vanno da paesaggi

naturali come laghi, fiumi, sentieri a strutture ricettive come ristoranti, alberghi, pizzerie.

Per avviare FormFilter è necessario selezionare dal menu “Plug-ins” la voce “Filtro ” come

mostrato in Figura 5.30.

Una volta cliccato sulla voce “Fitro” appare, sovrapposta alla finestra normale di WorldWind,

la form del filtro. All’avvio l’applicazione si presenta come segue.

Figura 5.31: Interfaccia di avvio dell'add-on FormFilter.

Figura 5.30: Come avviare l'applicazione FormFilter.

Page 48: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 47 di 62

Per prima cosa è necessario selezionare, dal menu a tendina, il file XML nel quale effettuare

la ricerca. Il file XML su cui fare riferimento per una ricerca in ambito turistico è

“Baselga_redirect.xml”.

Nella finestra centrale della form sono riportati tutti layer pilotabili attraverso WorldWind, in

nero quelli attivi e in blu quelli non attivi. Gli asterischi inseriti prima del nome del layer

danno l’idea della struttura gerarchica di questi.

I layer contengono tutti quei dati che permettono di costruire il mappamondo virtuale così

com’è visualizzato. Ad esempio, accendendo o spegnendo il layer “Trentino-Urbanistica” si

procede alla visualizzazione o meno delle foto ad alta risoluzione che ricoprono il trentino. Il

layer che contiene le informazioni turistiche, invece, si chiama “Trentino”, esso è composto

da vari sotto menu di cui il più usato è “punti d’interesse”.

È possibile procedere manualmente all’accensione o spegnimento dei vari layer grazie ai

pulsanti “accendi/spegni singolo”, che agisce solo sul singolo layer, e “accendi/spegni tutto”,

che invece agisce su tutti i sotto-layer facenti parte della voce selezionata.

Per compiere la ricerca, basta scrivere nella casella di testo la parola chiave voluta e premere

il pulsante “filtra ”.

Nell’esempio sottostante si utilizza la parola chiave “ristorante”.

Quando appare questa schermata è ancora possibile eliminare quelle voci incluse nei risultati,

ma non rilevanti. Quest’operazione è possibile grazie alla selezione della riga desiderata e la

pressione del tasto “seleziona/deselezione”. La “X”, che identifica selezione e visualizzata

nella seconda colonna, si trasforma in un “-“ di non selezione.

Figura 5.32: Esempio di ricerca.

Page 49: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 48 di 62

Possiamo vedere di seguito un esempio.

Una volta effettuata quest’ulteriore scrematura dei risultati, sempre se necessaria, premendo il

pulsante “visualizza” è possibile visualizzare su WorldWind i risultati di tale ricerca.

Premendo tale pulsante la form del filtro è automaticamente nascosta.

Figura 5.33: Ulteriore selezione dei dati da parte dell'utente.

Figura 5.34: Visualizzazione dei risultati sulla mappa.

Page 50: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 49 di 62

Riducendo la ricerca ad un solo ristorante è possibile una visualizzazione più dettagliata come

mostrato nelle figure seguenti.

Sequenza 5.3: Visualizzazione più dettagliata di un solo hotspot.

Page 51: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 50 di 62

Nelle figure seguenti è mostrato un altro esempio di ricerca utilizzando come parola chiave

“sentiero”.

Sequenza 5.4: Un secondo esempio di ricerca.

Per far riapparire di nuovo la form del filtro, è necessario selezionare nuovamente, dal menu a

tendina “Plug-ins”, la voce “Filtro ”. Una volta comparsa è possibile eseguire una ricerca più

selettiva sui risultati già ottenuti, oppure eliminare la ricerca fatta premendo il tasto “elimina

filtro ”, riportando così i layer alla situazione iniziale per poter fare una nuova ricerca.

Page 52: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 51 di 62

5.4.2 AAAAlgoritmolgoritmolgoritmolgoritmo

Questa è stata la parte più difficile dello stage, perché si trattava di lavorare su un progetto già

avviato, sviluppato da persone diverse ma seguendo, in ogni modo, una struttura prefissata. Si

trattava allora, come prima cosa, di scoprire se quella data routine era già stata utilizzata per

un altro scopo. In caso affermativo capirne il funzionamento e, in seguito, come poterla

adattare al mio scopo; in caso contrario, invece, si procedeva all’implementazione di una

nuova struttura.

La parte interessante di quest’applicazione, non è tanto la ricerca della parola chiave

all’interno del file XML selezionato, perché questa è eseguita come una semplice lettura di un

file di testo, ma bensì la procedura che permette la lettura o l’accensione/spegnimento dei vari

layer.

I layer e tutti i vari sotto layer sono gestiti da una classe chiamata “RenderableObjectList”.

Questa classe contiene tutti i metodi, eventi e attributi necessari alla caratterizzazione della

struttura generale dei layer.

Per poter leggere i vari rami che compongono questa struttura ad albero, è necessario

compiere ricorsivamente la lettura di ogni ramo fino a che non si è arrivati alle foglie.

Quest’operazione va ripetuta a sua volta per ogni ramo della struttura.

Page 53: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 52 di 62

Diagramma 5.4: Schema di principio della lettura dei layer di WorldWind.

Inizio

Creazione oggetto RenderableObjectList

Lettura layer

Imposta layer come root

Loop fintanto che ci sono layer

Ci sono sotto layer

Page 54: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 53 di 62

6 6 6 6 CAMPI D’IMPIEGOCAMPI D’IMPIEGOCAMPI D’IMPIEGOCAMPI D’IMPIEGO

L’applicazione sviluppata sulla base del progetto della NASA WorldWind, trova spazio in

svariati campi applicativi. Il settore in cui questo progetto esprime al meglio le sue

potenzialità è il settore turistico.

Di seguito sono descritti alcuni possibili campi applicativi.

6.1 6.1 6.1 6.1 Localizzazione di oggetti all’interno della mappa 3DLocalizzazione di oggetti all’interno della mappa 3DLocalizzazione di oggetti all’interno della mappa 3DLocalizzazione di oggetti all’interno della mappa 3D

Sfruttando le funzionalità GIS dell’applicazione è possibile creare un sistema di tracking

volto alla localizzazione di oggetti, persone o autoveicoli. I soggetti localizzati devono essere

in possesso di un dispositivo GPS connesso ad un palmare avente il software sviluppato in

questa tesi. Questa funzionalità risulta particolarmente interessante in quanto, gli oggetti sono

inseriti direttamente nell’ambiente tridimensionale, fornendo all’utente informazioni sulla

posizione e sul tragitto fino ad ora percorso.

Questo sistema permette ad esempio di compiere delle gite in montagna più sicure, in quanto

dal campo base un addetto alla sicurezza può seguire gli spostamenti degli escursionisti. Così

facendo in caso di anomalie, quali errato percorso, pericolo o malessere, si può intervenire

rapidamente, avvisando gli escursionisti del problema o chiamando il pronto intervento. Il

servizio di pronto intervento non sarà quindi costretto a perdere del tempo in ricerche perché

il luogo d’intervento è perfettamente conosciuto.

Page 55: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 54 di 62

6.2 6.2 6.2 6.2 Raccolta dei dati territorialiRaccolta dei dati territorialiRaccolta dei dati territorialiRaccolta dei dati territoriali

Attraverso l’utilizzazione del sistema di raccolta dati GPS è possibile aggiungere nuovi punti

d’interesse o nuovi percorsi al sistema di raccolta dati utilizzato. Questi dati possono essere

istantaneamente georeferenziati e trasmessi ad un elaboratore con lo scopo di visualizzare in

real time le informazioni sulla piattaforma desiderata, in questo caso WorldWind.

6.3 6.3 6.3 6.3 TTTTurismourismourismourismo

L’utente interagendo con WorldWind può pianificare, comodamente da casa propria, luoghi e

percorsi da visitare. L’utente è facilitato nella scelta dei luoghi da visitare anche attraverso

un’ampia gamma di percorsi prestabiliti.

Come accennato in precedenza, l’applicazione dà la possibilità all’utente di:

� Selezionare e visitare scenari all’interno della scena 3D.

� Effettuare una ricerca tra i vari punti d’interesse, mantenendo così solamente le

informazioni desiderate.

� Interrogare monumenti, edifici o luoghi naturale di particolare interesse per

ottenere maggiori informazioni.

� Definire itinerari e percorsi.

� Ottenere informazioni riguardanti punti di ristoro.

Page 56: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 55 di 62

Figura 6.35: Visualizzazione degli hot-spot già presenti nella prima versione del plug-in.

In un secondo momento o in tempo reale, tramite interazione tra software GPS e WorldWind,

l’utente può eseguire il tracking sulla mappa virtuale del percorso effettuato.

Figura 6.35: Possibilità di inserire o visualizzare sentieri sulla mappa.

Page 57: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 56 di 62

6.4 6.4 6.4 6.4 AAAAltri impieghiltri impieghiltri impieghiltri impieghi

Ulteriori campi applicativi ove l’applicazione può essere utilizzata sono:

� Monitoraggio e gestione del traffico stradale:

utilizzando dei campioni di automobili, dotati di sensore GPS, è possibile

rappresentare i dati rilevati utilizzando l’ambiente tridimensionale fornito da

WorldWind. Si può visualizzare così sulla mappa l’intensità del traffico e prendere

così delle decisioni riguardo al piano regolatore.

� Antifurto satellitare:

apportando opportune modifiche, si potrebbe sfruttare la funzione di tracking

come antifurto satellitare per automezzi.

Page 58: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 57 di 62

7 7 7 7 CONCLUSIONICONCLUSIONICONCLUSIONICONCLUSIONI

Il tirocinio svolto mi ha permesso di acquisire nuove competenze sia dal punto di vista

formativo che relazionale e di mettere in pratica aspetti fino ad ora analizzati a lezione solo

dal punto di vista teorico. Mi ha dato inoltre l'opportunità di incrementare le mie competenze

nell'ambito del mondo informatico e della programmazione tramite l’utilizzo del software

Microsoft Visual Studio 2005.

La mia formazione universitaria è stata sufficiente per capire i temi e le singole attività che

ogni giorno dovevo svolgere e comunque eventuali mie mancanze sono subito state colmate

grazie alla disponibilità dei vari colleghi competenti e ai documenti letti. Ogni attività è stata

sviluppata con logica e organizzata razionalmente, la ricerca di documentazione permetteva di

evitare perdite di tempo successive.

Nella realizzazione di questo progetto sono state affrontate diverse problematiche, le più

significative sono:

� Estrazione delle informazioni inviate da un ricevitore per GPS nello standard

NMEA 0183.

� Checksum sulle coordinate lette.

� Lavorare su una piattaforma, World Wind, già avviata e costituita da strutture

preesistenti.

La prima difficoltà è stata risolta grazie all’ausilio di una porta COM virtuale alla quale il

dispositivo GPS si collegava tramite Bluetooth; grazie a ciò i dati sono letti come da porta

seriale.

Page 59: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 58 di 62

Il terzo punto è stato superato grazie alla costanza nello studio del codice sorgente di

WorldWind a grazie ai consigli del mio tutor aziendale.

La seconda problematica non è stata risolta del tutto. Questo punto dovrà sicuramente essere

migliorato in un futuro per poter rendere quest’applicazione più robusta agli errori. Il

problema riscontrato riguarda alcune coordinate ricevute che apparentemente sono corrette,

mentre appartengono ad un altro meridiano o parallelo.

I risultati ottenuti nel complesso, comunque, soddisfano pienamente le specifiche di progetto.

I limiti di quest’applicazione riguardano solamente i dati GPS e la trasmissione delle

coordinate tramite Wifi, standard con problemi di affidabilità ben noti.

In questo progetto di tesi è presentata la base per lo sviluppo di un pacchetto applicativo con

l'obiettivo principale d'organizzare i dati complessi in modo da essere d’aiuto all’uomo come

sistema di supporto alle decisioni.

Al termine di questi tre mesi posso dire di essere pienamente soddisfatto della scelta fatta di

svolgere il mio stage in un’azienda. Gli obbiettivi sono stati maggiori delle mie aspettative e

consiglio a tutti gli studenti che dopo la laurea intendono entrare nel mondo lavorativo di

svolgere il proprio tirocinio in un'azienda, così d'aver modo di acquisire conoscenze e

competenze utili per il futuro.

Page 60: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 59 di 62

8888 FOTO GALLERY FOTO GALLERY FOTO GALLERY FOTO GALLERY

Di seguito è presentata una sequenza d’immagini visibili con l’utilizzo di WorldWind e

relativo add-on “Trentino” che permette la visualizzazione delle foto ad alta risoluzione.

Figura 8.36: Schermata iniziale di WorldWind.

Page 61: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 60 di 62

Figura 8.37: Zoomando sulla mappa si procede alla visualizzazione della sola Europa.

Figura 8.38: Visualizzazione dell'Italia con un diverso punto di vista.

Page 62: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 61 di 62

Figura 8.39: Immagine ad alta definizione raffigurante Villazzano. In special modo la sede di Graphitech.

Figura 8.40: Foto ad alta risoluzione di Trento centro raffigurante il mio appartamento.

Page 63: Sviluppo di un Sistema per tracciamento di un Veicolo mediante GPS

Gianpaolo Marin matricola 108817 Pagina 62 di 62

9999 BIBLIOGRAFIA BIBLIOGRAFIA BIBLIOGRAFIA BIBLIOGRAFIA

� Jean-Marie Zogg “GPS Basic Introduction to the system Application overview”.

� Materiale fornito dalla Graphitech.

� http://www.brains-N-brawn.com/noSink e link relativi.

� Google Earth http://earth.google.com per l’interfaccia dell’add-on.

� NASA World Wind http://learnarc.nasa.gov/worldwind.

� World Wind http://worldwindcentral.com/wiki/Main_Page.

� NMEA http://www.nmea.org.

� NMEA sentence information http://home.mira.net/~gnb/gps/nmea.html.

� NMEA information http://www.gpsinformation.org/dale/nmea.html.

� NMEA 0183 http://www.nmea.org/pub/0183/.

� Per esempi di codice http://www.codeproject.com/.

� In generale http://wikipedia.org.

� Manuale GPS Holux.

� Informazioni e costrutti C++ http://www.cplusplus.com.

� Per interfaccia grafica WolkingPDA http://www.maps-gps-info.com/fgpfw.html.

� GPS http://www.ilmondodelletelecomunicazioni.it.

� GPS http://www.colorado.edu/geograhy/gcraft/notes/gpg/gps_f.html.

� GPS http://www.garmin.com/aboutGPS/.

� XML file http://www.latoserver.it/XML/in10punti/.

� XML ricerca http://www.dotnethell.it/articles/RicercaXML.aspx.

� XML http://www.fabsoft.it/default.aspx?item=xml.