giovedì 15 novembre 2007

Navigatore satellitare su Linux con il programma GPSDrive



Oggi voglio parlarvi di come si può fare in modo che il nostro computer notebook possa divenire un navigatore satellitare senza spendere un EURO! :D

Innanzitutto vediamo i requisiti che servono:

1° computer con installato Linux (io ho usato la mia fidatissima Debian ma anche su Ubuntu funziona! )
2° Periferica Bluetooth integrata o esterna
3° Antenna GPS Bluetooth (ormai si trovano dappertutto a cifre ragionevoli)
4° Connessione a internet almeno durante l'installazione cosi da poter configurare tutto e scaricare le vostre mappe)
5° ...un pizzico di pazienza :)

iniziamo subito...
prima di tutto installiamo i pacchetti necessari per far funzionare la periferica bluetooth,quindi da terminale:

apt-get install bluez-pin (*Ubuntisti non scordatevi il sudo davanti al comando :) )
apt-get install bluez-utils (*idem come sopra!)

adesso bisogna riavviare il servizio bluetooth con il comando:

/etc/init.d/bluetooth restart (Ubuntisti.....ricordatevi...bhe lo sapete :P )

Ora accendete il GPS Bluetooth e bisogna verificare quale sia il suo mac address,quindi si usa da terminale il comando:

hcitool scan

...il risultato sarà simile a questo output:
jas@Debby:~#hcitool scan
Scanning …
00:16:CF:DC:B9:81 landsraad-0
00:15:4B:51:13:C5 GPS-HAM4

quindi il mac address del mio GPS è 00:15:4B:51:13:C5
bisogna verificare su quale canale stà lavorando,quindi sempre da terminale:

sdptool browse 00:15:4B:51:13:C

e l'output sarà circa cosi:

Browsing 00:15:4B:51:13:C …
Service Name: SPP
Service RecHandle: 0×90001
Service Class ID List:
“Serial Port” (0×1101)
Protocol Descriptor List:
“L2CAP” (0×0100)
“RFCOMM” (0×0003)
Channel: 3
Language Base Attr List:
code_ISO639: 0×623b
encoding: 0×6a
base_offset: 0×100

...abbiamo avuto il risultato sperato,il GPS lavora sul canale 3 e quindi dobbiamo creare,o modificate se esiste, il file /etc/bluetooth/rfcomm.conf, inserendo le informazioni che abbiamo ricavato (mac address e canale),quindi editatelo o createlo con il vostro editor preferito.Dovrebbe essere circa cosi:

#
# RFCOMM configuration file.
#

rfcomm4 {
bind yes;
device 00:15:4B:51:13:C;
channel 3;
comment “Serial Port”;
}

salvate il file ovviamente! :)

Adesso collegate il vostro PC al GPS BT creando sempre da terminale,una porta seriale chiamata /dev/rfcomm4 in questo modo:

rfcomm 4 connect

Se tutto e’ andato bene otterremo questo risultato dopo aver dato il seguente comando:

jas@Debby:~#rfcomm connect 4
Connected /dev/rfcomm4 to 00:15:4B:51:13:C on channel 3
Press CTRL-C for hangup

Perfetto! adesso il nostro pc è collegato all'antenna GPS ma per rilevare posizione ecc servono ancor qualche pacchetto...installiamoli...

..da terminale:

apt-get install gpsd gpsdrive

ora bisogna far si che il demone gpsd si colleghi alla porta del nostro bluetooth,quindi diamo il comando:

gpsd /dev/rfcomm4

..benissimo...tutto ok! :)

Adesso lanciate il programma gpsdrive e godetevi il vostro navigatore satellitare sul vostro pc :)
Vi posto una foto per farvi capire com'è:

Non è proprio il massimo però lo stò provando e devo dire che funziona egregiamente :)

Commenti ben accetti naturalmente!

7 commenti:

alexlee ha detto...

articolo molto interessante questa sera lo testero' sul mio linux mepis 7 e ti faro sapere, comunque bell'articolo...

jason ha detto...

ciao alexlee..
grazie per il complimento! :)

Alessandro ha detto...

Mi aggiungo (sono un pò un newby ....)
SUSE 10.3 Intel(R) Pentium(R) 4 CPU 3.00GHz
Alessandro@SUSEcasa:~> hcitool scan
Scanning ...
00:08:1B:8C:A9:61 BT GPS
e poi
Alessandro@SUSEcasa:~> sdptool browse 00:08:1B:8C:A9:61
Browsing 00:08:1B:8C:A9:61 ...

e si ferma li ???
Come devo continuare

Grzie

Alessandro ha detto...

Mi aggiungo (sono un pò un newby ....)
SUSE 10.3 Intel(R) Pentium(R) 4 CPU 3.00GHz
Alessandro@SUSEcasa:~> hcitool scan
Scanning ...
00:08:1B:8C:A9:61 BT GPS
e poi
Alessandro@SUSEcasa:~> sdptool browse 00:08:1B:8C:A9:61
Browsing 00:08:1B:8C:A9:61 ...

e si ferma li ???
Come devo continuare

Grzie

jason ha detto...

ciao alessandro
per quanto riguarda il tuo problema...
...sinceramente non ho idee a riguardo..cioe il comando:

sdptool browse 00:15:4B:51:13:C

...deve mandare un output simile a questo:

Browsing 00:15:4B:51:13:C …
Service Name: SPP
Service RecHandle: 0×90001
Service Class ID List:
“Serial Port” (0×1101)
Protocol Descriptor List:
“L2CAP” (0×0100)
“RFCOMM” (0×0003)
Channel: 3
Language Base Attr List:
code_ISO639: 0×623b
encoding: 0×6a
base_offset: 0×100

se non da risultato quel comando posso pensare solo che ci sia qualcosa che blocca la scansione oppure che ci sia qualche problema con il bluetooth.
controlla meglio che tutto sia apposto poi riprova.
saluti e auguri

Anonimo ha detto...

ciao.
voelvo sapere se questo sistema, funziona come i classici navigatori che si comprano ovunque.
voglio dire, ha le voci che ti indicano la strada? gli aggiornamenti sono in tempo reale, indicandoti visivamente quando devi svoltare? ricalcola anche il percorso?

o è una semplice mappa che indica la strada piu breve, per andare da A a B senza interazione in tempo reale?

jason ha detto...

ciao,
questo sistema è si come un navigatore che si comprano ovunque ma ovviamente si puo configurare come meglio si vuole.
Sinceramente non ho controllato se fa tutto ma proprio tutto come un normale navigatore satellitare.
saluti

Come vedere Tv su Android :)

Salve a tutti, oggi voglio parlarvi di come si può vedere la tv in qualsiasi posto siate usando il servizio IPTV. Intanto vediamo di ca...