Módulo GPS Holux Bluetooth y el Raspberry Pi

Rate this post

En los viejos tiempos tenía una PDA Acer N50 Premium. Para los jóvenes era como un Smart Phone, pero sin la parte del teléfono, la pantalla táctil capacitiva, la memoria, las aplicaciones, el GPS o la duración de la batería. Lo usaba principalmente como un dispositivo de navegación por satélite basado en TomTom conectado a un módulo Bluetooth Holux GPSlim236.

El módulo había estado sentado en un cajón durante al menos cinco años y decidí ver si podía hacer que funcionara con el Raspberry Pi. Sorprendentemente, no tuve que cargarlo, ya que cinco años más tarde seguía funcionando bien. Utiliza lo que en ese momento era una batería de teléfono Nokia estándar.

Este>

  • Módulo GPS Holux GPSlim236 Bluetooth
  • Módulo Bluetooth PoundWorld
  • Raspberry Pi Modelo B (Rev 2)
  • Fuente de alimentación
  • Fresca tarjeta SD Raspbian
    (2013-09-25-wheezy-raspbian)

Este fue uno de esos experimentos en los que Google me dio todas las respuestas una vez que había reunido fragmentos de muchos blogs y foros diferentes.

Aunque estoy usando un dispositivo GPS específico no veo por qué no funciona con ningún módulo GPS Bluetooth ya que todos enviarán datos en serie en formato NMEA estándar. Avísame si funciona en otras unidades.

Paso 1 – Configuración inicial

Empieza con una nueva imagen Raspbian en tu tarjeta SD y conéctala a la Pi junto con el dongle Bluetooth. Enciende la Pi con ella conectada a una red ya que necesitaremos acceso a Internet.

Como se trata de una tarjeta SD nueva, empiece ejecutando :

sudo raspi-config

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>i

y amplíe la partición de la tarjeta SD para llenar el espacio libre de la tarjeta. A continuación, ejecute :

sudo apt-get update sudo apt-get upgrade

para asegurarse de que todo estuviera al día. Esto tomará un rato (5-10 minutos) así que es una buena oportunidad para tomar un café. Para formar el enlace entre la Pi y el dispositivo necesitaremos instalar algunos paquetes adicionales:

sudo apt-get -y install bluez-utils gpsd-clients

Responda “Y” cuando se le pida. “bluez-utils” proporciona algunas herramientas Bluetooth y “gpsd-clients” es una colección de herramientas para procesar y mostrar datos.

Como hemos instalado tantos archivos nuevos es una buena idea reiniciar :

sudo reboot

Paso 3 – Obtener la dirección MAC

Con el interruptor de encendido Pi en el módulo Holux y dale 60 segundos para buscar satélites. Necesitamos saber la dirección MAC del módulo para ejecutarlo :

hcitool scan

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Después de unos segundos debería obtener una respuesta :

Escaneo …. 00:0B:0D:6F:B5:D4 HOLUX GPSlim236

Esto le dará la dirección MAC de su dispositivo. En mi caso es “00:0B:0D:6F:B5:D4” del que tomé nota.

Paso 4 – Conectarse al módulo GPS

A continuación necesitamos ejecutar el siguiente comando para conectar la Pi al dispositivo Bluetooth remoto:

rfcomm connect 0 00:0B:0D:6F:B5:D4 &

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

El & al final le dice al comando que se ejecute en segundo plano y vuelva a la línea de comandos. Recuerda usar tu dirección MAC! Cuando se ejecuta, hace eco de un ID de proceso en la pantalla. Unos segundos más tarde mostrará algo de texto :

Conectado /dev/rfcomm0 a 00:0B:0D:6F:B5:D4 en el canal 1 Pulse CTRL-C para colgar >.

Es posible que tenga que pulsar la tecla Intro para volver a la línea de comandos. No pulse “CTRL-C”!

Para probar la conexión podemos ejecutar :

cat /dev/rfcomm0

Si la conexión está funcionando, debería ver algunos datos GPS (formato NMEA) que se transmiten desde el módulo GPS. Presione CTRL-C para volver a la línea de comandos.

Paso 5 – Demonio de la DSGP

El siguiente es el demonio “gpsd”. Este es un proceso que se ejecuta en segundo plano y traduce los mensajes NMEA para uso de los clientes.

gpsd -b /dev/rfcomm0

El interruptor b le dice que sólo lea los mensajes y no intente enviar nada de vuelta al receptor GPS.

Paso 6 – Cliente de terminal

En esta etapa su módulo GPS debe estar transmitiendo datos a la Pi a través de Bluetooth. Para presentar estos datos de una manera más legible podemos utilizar uno de los clientes que viene con el paquete gpsd. Intentar :

cgps -s

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>i

Si todo ha salido según lo planeado, deberías ver algo un poco más..:

> Para volver a la línea de comandos puede pulsar CTRL-C.

Paso 7 – Cliente GUI

Una vez que tenga los cgps funcionando, puede probar el cliente GUI xgps. Encienda la GUI escribiendo :

startx

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>”””>>>>>>>>>>>>>>>>>>>>>>>>>>>i

Abra una ventana de LXTerminal haciendo clic en el icono del escritorio. Luego ejecute el cliente usando :

xgps

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>i

Deberías ver algo como..:

> Si todo está funcionando y todavía estás leyendo esto, ¡felicidades!

Paso 8 – Reconexión después de reiniciar

Cuando reinicie, perderá el enlace Bluetooth y tendrá que repetir el proceso desde el paso 4. Eso es aburrido. Editando un archivo de sistema podemos conseguir que la Pi se vuelva a conectar en el arranque.

sudo nano /etc/bluetooth/rfcomm.conf

Elimine los caracteres # delante del bloque rfcomm0 {} y edite la configuración para que termine con algo como esto :

rfcomm0 {  # Automáticamente enlazar el dispositivo al inicio  bind sí;  # Dirección Bluetooth del dispositivo  dispositivo YOUR_DEVICE_MAC_ADDRESS;  # Canal RFCOMM para la conexión  canal 1;  # Descripción de la conexión  comentar "Mi módulo GPS"; }

>

Recuerde configurar bind a “yes” y sustituir “YOUR_DEVICE_MAC_ADDRESS” por la dirección MAC de su dispositivo.

Utilice CTRL-X, Y y, a continuación, introduzca para guardar y salir del editor de texto nano. Al reiniciar ahora podrá comenzar en el Paso 5 (ejecutando gpsd).

Para ir un paso más allá, puede hacer que gpsd se ejecute en el arranque automáticamente. Para hacerlo, ejecute :

sudo dpkg-reconfigurar gpsd

Esto mostrará un asistente que configura gpsd para que se inicie automáticamente. Necesitará introducir algunos detalles como la ubicación del puerto serie (/dev/rfcomm0) y los conmutadores de línea de comandos (-b). No me interesaban los dispositivos USB, así que le dije que los ignorara.

Cuando reinicie su Pi debe conectarse al dispositivo GPS y permitirle iniciar los clientes de inmediato.

Paso 9 – Otros Clientes

Una vez que tenga los elementos básicos funcionando, puede empezar a explorar todas las demás aplicaciones que estén dispuestas a leer datos del proceso gpsd. Una aplicación que vale la pena probar es FoxtrotGPS. Se puede instalar usando :

sudo apt-get – instalar foxtrotgps

y luego ejecute usando :

foxtrotgps

Carga mapas desde OpenStreetMap y mostrará su posición actual, así como su velocidad y altitud.

Pensamientos finales

Hay muchos otros clientes GPS que probablemente se ejecutarán en la Pi. Lo que haces con ellos se debe a tu imaginación.

> Actualizaciones

He visto mensajes de que los siguientes dispositivos funcionan con este tutorial :

  • GPS Dell BT-309
  • Emtac D1598 Bluetooth GPS
  • Holux GPSlim236 GPS
  • Holux GR-230
  • Registrador de datos GPS Holux M-241
  • Navicore SiRF III Bluetooth GPS
  • GPS RoyalTek RBT-2300
  • QStarz BT-Q816 GPS

Si lo has probado y funciona para tu dispositivo, házmelo saber y actualizaré esta lista.

Deja un comentario

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