19 marzo, 2024

Tenía en una estantería un dispositivo bluetooth GPS, de la marca Holux, concretamente el GPSlim 236, que había comprado unos años atrás para hacer funcionar un Qtek 9090 como navegador GPS.

     Este nuevo proyecto, no está orientado a un sistema autónomo de navegación, pero añadiendo una pantalla táctil y algunos cables para la alimentación de los dispositivos, sería realmente fácil hacerlo.

     Por el momento, nos vamos a centrar en la instalación y configuración del módulo, comprobar que funciona y extrae datos, y luego pondremos un software sobre LXDE para el posicionamiento y navegación.

     Vamos a comenzar por Debian Wheezy, que funciona sin ningún tipo de problemas, ya que las pruebas que he realizado con Debian Jessie, (por el momento), no funciona por algunos bugs en el paquete bluez.

     Empezaremos asumiendo que tu Debian Wheezy está actualizada, si no es el caso, como siempre:

# sudo apt-get update
# sudo apt-get upgrade

 Vamos a insertar nuestro dongle bluetooth a ver si lo reconoce y realizamos un :

#dmesg
[ 400.583279] usb 1-1.4: new full-speed USB device number 4 using dwc_otg
[ 400.683859] usb 1-1.4: device descriptor read/all, error -32
[ 400.763281] usb 1-1.4: new full-speed USB device number 5 using dwc_otg
[ 400.867905] usb 1-1.4: New USB device found, idVendor=0a12, idProduct=0001
[ 400.867933] usb 1-1.4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 400.942989] Bluetooth: Core ver 2.20
[ 400.943108] NET: Registered protocol family 31
[ 400.943119] Bluetooth: HCI device and connection manager initialized
[ 400.943144] Bluetooth: HCI socket layer initialized
[ 400.943166] Bluetooth: L2CAP socket layer initialized
[ 400.943304] Bluetooth: SCO socket layer initialized
[ 400.954548] usbcore: registered new interface driver btusb

 En principio parece correcto. Vamos a instalar las utilidades para bluetooth y clientes gps:

# sudo apt-get -y install bluez gpsd gpsd-clients python-gps

Después de instalar los paquetes, parece que es buena idea rebotar la Raspi:

# sudo reboot

Ahora vamos a averiguar la mac de nuestro módulo Holux GPSlim236:

#hcitool scan
Scanning ...
00:0B:0D:xx:xx:5A HOLUX GPSlim236

Una vez hallada, vamos a conectarlo:

# sudo rfcomm connect 0 00:0B:0D:xx:xx:5A &
[1] 1257
pi@raspberrypi ~ $ Connected /dev/rfcomm0 to 00:0B:0D:xx:xx:5A on channel 1
Press CTRL-C for hangup

 Recuerda que el & es para que nos ejecute el comando en segundo plano.

     Pulsamos enter, pero no CTRL-C

     Probamos que la conexión está realizada, y nos irá mostrando datos NMEA del GPS:

# cat /dev/rfcomm0
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,3,1,12,20,00,000,,10,00,000,,25,00,000,,27,00,000,*79
$GPGSV,3,2,12,03,00,000,,31,00,000,,24,00,000,,15,00,000,*78
$GPGSV,3,3,12,16,00,000,,05,00,000,,01,00,000,,26,00,000,*7D
$GPRMC,000112.071,V,0000.0000,N,00000.0000,E,,,110905,,,N*7E
$GPVTG,,T,,M,,N,,K,N*2C
$GPGGA,000113.083,0000.0000,N,00000.0000,E,0,00,,0.0,M,0.0,M,,0000*4B
$GPRMC,000113.083,V,0000.0000,N,00000.0000,E,,,110905,,,N*72
$GPVTG,,T,,M,,N,,K,N*2C

 Pulsa CTRL-C para salir.

     Bien, ahora que ya tenemos conectado el módulo, y nos envía datos NMEA, vamos a arrancar un
daemon de GPS.

# gpsd -b /dev/rfcomm0

 El parámetro -b es para que solamente nos envíe datos de solo lectura, evitando enviar nada al módulo GPS.

     Ahora vamos a arrancar un cliente de terminal, que nos muestre los datos de una forma comprensible:

# cgps -s
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqklqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
x    Time:       2015-10-17T10:27:21.000Z   xxPRN:   Elev:  Azim:  SNR:  Used: x
x    Latitude:    41.439046 N               xx  27    77    004    41      Y   x
x    Longitude:    2.189236 E               xx  22    60    113    38      Y   x
x    Altitude:   32.4 m                     xx  16    48    184    17      Y   x
x    Speed:      0.0 kph                    xx   8    45    307    26      Y   x
x    Heading:    0.0 deg (true)             xx  18    37    057    45      Y   x
x    Climb:      -6.0 m/min                 xx   4    29    254    12      N   x
x    Status:     3D FIX (28 secs)           xx  26    21    169    07      N   x
x    Longitude Err:   +/- 15 m              xx  21    17    062    30      N   x
x    Latitude Err:    +/- 16 m              xx  11    13    267    24      N   x
x    Altitude Err:    +/- 81 m              xx   7    10    294    23      N   x
x    Course Err:      n/a                   xx   1    05    248    00      N   x
x    Speed Err:       +/- 116 kph           xx  19    04    294    00      N   x
x    Time offset:     -3.606                xx                                 x
x    Grid Square:     JN11ck                xx                                 x
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqjmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj

 Bien, ya tenemos en marcha el sistema GPS, ahora, desde un entorno gráfico, vamos a arrancar un monitor de GPS, que nos dará la constelación de satélites detectados y a los que estamos conectados.

#xgps

xgps_wheezy

Y ahora, vamos a montar un navegador GPS,  foxtrotgps:

# apt-get -y install foxtrotgps

 Lo ejecutamos con:

#  foxtrotgps

Como veis, hay diferentes mapas:

1-open_cycle_map

2-maps_for_free

3-osm

4-google_maps

 En una próxima entrada, explicaremos, la manera de instalarlo con Debian Jessie.

     Espero que os sirva de ayuda.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies