Home   Montaña   Fotos   Linux   Estu   De todo un poco Google logo

GPS

He adquirido un GPS Magellan eXplorist 500 LE. ¿Haré algo útil con él en mi Debian?

Conectarlo

El aparatito en cuestión dispone de conexión USB. Esto es lo que ocurre cuando lo conecto en modo transferencia de archivos:

Nov 14 10:43:39 ordesa kernel: usb 2-1: new full speed USB device using uhci_hcd and address 3
Nov 14 10:43:42 ordesa kernel: usb 2-1: configuration #1 chosen from 1 choice
Nov 14 10:43:42 ordesa kernel: scsi3 : SCSI emulation for USB Mass Storage devices
Nov 14 10:43:47 ordesa kernel:   Vendor: Magellan  Model: eXplorist VER 5   Rev: 1.01
Nov 14 10:43:47 ordesa kernel:   Type:   Direct-Access                      ANSI SCSI revision: 02
Nov 14 10:43:47 ordesa kernel: SCSI device sda: 32704 512-byte hdwr sectors (17 MB)
Nov 14 10:43:48 ordesa kernel: sda: Write Protect is off
Nov 14 10:43:48 ordesa kernel: SCSI device sda: 32704 512-byte hdwr sectors (17 MB)
Nov 14 10:43:48 ordesa kernel: sda: Write Protect is off
Nov 14 10:43:48 ordesa kernel:  sda: sda1
Nov 14 10:43:48 ordesa kernel:  sda: p1 exceeds device capacity
Nov 14 10:43:48 ordesa kernel: sd 3:0:0:0: Attached scsi removable disk sda
Nov 14 10:43:48 ordesa kernel: attempt to access beyond end of device
Nov 14 10:43:48 ordesa kernel: sda: rw=0, want=32745, limit=32704
Nov 14 10:43:48 ordesa kernel: attempt to access beyond end of device
Nov 14 10:43:48 ordesa kernel: sda: rw=0, want=32745, limit=32704
Nov 14 10:43:48 ordesa kernel: attempt to access beyond end of device
...

La salida de lsusb:

lsusb
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 003: ID 0b20:0420 TransDimension, Inc.
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000

Además, GNOME monta una unidad SCSI con este contenido:

ls -l /media/MAP\ DATA/
total 656
drwx------ 2 luis luis  16384 2005-07-20 10:00 Background Maps
-rwx------ 1 luis luis 557056 2007-03-30 10:01 CRITMEM.MEM
drwx------ 2 luis luis  16384 2005-07-20 10:00 Detail Maps
drwx------ 2 luis luis  16384 2005-07-20 10:00 Geocaches
drwx------ 2 luis luis  16384 2005-07-20 10:00 My POIs
drwx------ 2 luis luis  16384 2005-07-20 10:00 Routes
drwx------ 2 luis luis  16384 2005-07-20 10:00 Track Logs
drwx------ 2 luis luis  16384 2005-07-20 10:00 USBTRANS

Algo es algo, para empezar. A ver si se puede hacer algo más. Se supone que en el directorio Track Logs se almacenan los tracks. No hay nada. Voy al GPS y grabo el track activo. A ver ahora...

$ ls -l /media/MAP\ DATA/Track\ Logs/
total 16
-rwx------ 1 luis luis 2641 2007-11-14 09:54 PRUEBA.log

Bien, me lo copio. Tendré que tener en cuenta que, durante la "ruta" he encendido y apagado el cacharro varias veces. Supongo que esto hará que salgan cosas raras.

GPSBabel

Lo primero será instalar este utilísimo programa. Debian lo tiene en su repositorio, así que:

# apt-get install gpsbabel

Google Earth

Nada mejor para ver si funciona. Voy a convertir el track con gpsbabel el formato de Google Earth:

$ gpsbabel -i magellanx -f prueba.log -o kml -F prueba.kml

Abro el fichero con Google Earth y... ¡premio! El track se visualiza perfectamente y en su sitio (salvo por la misteriosa línea que se dispara hacia el NE atravesando todo lo que encuentra a su paso).

Track de prueba

Un perfil de ruta guarripéich

Esto es una prueba absurda, porque aún no sé cómo se guardan los puntos en el track. Pero voy a probar a convertir el track a un gráfico con la altitud; asignaré a cada punto un índice secuencial arbitrario (eje X) y la altitud (o lo que parece la altitud :-) al eje Y:

# awk -F, '/PMGNTRK/ { s+=1;print s" "$6}' prueba.log > prueba.dat

Ahora preparo un escriptito para gnuplot: prueba.p

# GNUplot script
set title "Prueba"
set xlabel "Unidades (?)"
set ylabel "Altitud (m)"
set terminal png size 500, 300
set output "perfil0.png"
set style fill pattern 2
set grid
unset key
plot "prueba.dat" using 1:2 with lines

Y lo ejecuto, con este resultado:

# gnuplot prueba.p

Prueba perfil

Bueno, no está mal, aunque parece que he cogido el ascensor entre los puntos 20 y 25... xD