venerdì 8 aprile 2011

GPS su Ubuntu

Dopo diversi tentativi e altrettanti manuali sono riuscito a collegare il mio GPS …..... bluetooth!!!

Testato su Ubuntu Karmik Koala e Lucid con antenna gps-bluetooth LIFE 63.GPSBT6 mod. GPS GBT-708 e antenna bluetooth SITECOM CN-523

Per prima cosa installiamo gpsd e xgps (i vari driver per il bluetooth io li ho trovati già installati) digitando:

------------------------------------------------------
folletto@pingu:~$ sudo apt-get install gpsd, xgps
------------------------------------------------------

a questo punto facciamo uno scan dei dispositivi bluetooth con:

---------------------------------
folletto@pingu:~$ hcitool scan
---------------------------------

che ci restituirà:

Scanning ...
00:0A:3A:24:B0:07 BT_GPS


Prendiamo il MAC ADRESS della nostra antenna gps (in questo caso 00:0A:3A:24:B0:07) e digitiamo il seguente comando:

---------------------------------------------------------------
folletto@pingu:~$ sudo sdptool browse 00:0A:3A:24:B0:07
--------------------------------------------------------------

Browsing 00:0A:3A:24:B0:07 ...


a questo punto il comando dovrebbe restituire varie caratteristiche del dispositivo tra cui il canale dove è collegato, ma a me non ha funzionato e cercando su internet ho trovato che alcuni, non avendo risposta digitano:

---------------------------------------------------------------
folletto@pingu:~$ sudo sdptool records 00:0A:3A:24:B0:07
---------------------------------------------------------------

Service Name: SPP
Service RecHandle: 0x10000
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100

Lo lasciamo lavorare e ci restituisce le righe qui sopra. Come potete vedere sotto a “RFCOMM” (0x0003) appare Channel: 1, finalmente conosciamo il canale della nostra antenna e possiamo procedere con le ultime impostazioni!!!

Per prima cosa andiamo ad editare come segue il file
------------------------------------------------------------
folletto@pingu:~$ sudo gedit /etc/bluetooth/rfcomm.conf aggiungendo le righe dalla 19 in poi. (Il numero di righa potrebbe essere diverso da pc a pc)
------------------------------------------------------------

    #

  1. # RFCOMM configuration file.

  2. #



  3. #rfcomm0 {

  4. # # Automatically bind the device at startup

  5. # bind no;

  6. #

  7. # # Bluetooth address of the device

  8. # device 11:22:33:44:55:66;

  9. #

  10. # # RFCOMM channel for the connection

  11. # channel 1;

  12. #

  13. # # Description of the connection

  14. # comment "Example Bluetooth device";

  15. #}

  16. rfcomm4 {

  17. bind yes;

  18. device 00:0A:3A:24:B0:07;

  19. channel 1;

  20. comment "GPS";

  21. }

Le righe con # non vengono prese in considerazione dal programma.
Salviamo il file e andiamo a modificare anche /etc/default/gpsd digitando:

--------------------------------------------------
folletto@pingu:~$ sudo dpkg-reconfigure gpsd
--------------------------------------------------

Qua sotto vedete il file come si deve presentare alla fine delle nostre impostazioni. Per verificare il file sarà sufficente digitare:

----------------------------------------------
folletto@pingu:~$ more /etc/default/gpsd
---------------------------------------------
# Default settings for gpsd.

# Please do not edit this file directly - use `dpkg-reconfigure gpsd' to

# change the options.

START_DAEMON="true"

DAEMON_OPTS="-b"

DEVICES="/dev/rfcomm4"

USBAUTO="false"


Io ho messo -b come opzione, questa potrebbe anche non essere necessaria...
A questo punto colleghiamo il dispisitivo con gpsd digitando:

-----------------------------------------------
folletto@pingu:~$ sudo gpsd /dev/rfcomm4
----------------------------------------------

Se da errore lanciamo il comando:

-----------------------------------------------------------------------
folletto@pingu:~$ sudo rfcomm bind rfcomm4 00:0A:3A:24:B0:07 1 e di seguito
-----------------------------------------------------------------------
-----------------------------
folletto@pingu:~$ rfcomm che dovrebbe restituire:
-----------------------------
rfcomm4: 00:0A:3A:24:B0:07 channel 1 clean


A questo punto riavviamo.
Dopo il riavvio aprire un terminale e digitare:

--------------------------------------------
folletto@pingu:~$ sudo rfcomm release 4 (io lo faccio due volte)
--------------------------------------------

poi:

---------------------------------------------
folletto@pingu:~$ sudo rfcomm connect 4
---------------------------------------------

Se ci restituisce questo vuol dire che siamo connessi alla nostra antenna gps:

Connected /dev/rfcomm4 to 00:0A:3A:24:B0:07 on channel 1
Press CTRL-C for hangup

Ora avviamo un altro terminale sul quale andiamo a digitare:

-------------------------
folletto@pingu:~$ xgps
-------------------------

A questo punto se xgps non restituisce nessun output lo chiudiamo, andiamo sul primo terminale e digitiamo CTRL-C per disconnettere il dispositivo e digitiamo nuovamente:

--------------------------------------------
folletto@pingu:~$ sudo rfcomm release 4 (io lo faccio due volte)
--------------------------------------------
--------------------------------------------
folletto@pingu:~$ sudo rfcomm connect 4
--------------------------------------------

ora dovremmo essere collegati al GPS, avviamo nuovamente da un nuovo terminale xgps che a questo punto dovrebbe funzionare mostrandoci i satelliti che agganciamo...

Ora possiamo installare tangoGPS o Navit (il primo lo trovate tra i repo di ubuntu, mentre il secondo sul suo sito).

Alla prox per una mini guida su tangoGPS e Navit!!!

Nessun commento: