Tras haber mostrado en el anterior artículo el proceso de instalación de Navit, ahora nos ocuparemos de instalar en el equipo lo necesario para recibir señal de los satélites y así poder utilizarlo como navegador GPS.
La primera cuestión es elegir el hardware adecuado. Afortunadamente en la actualidad hay una fuerte competencia entre los fabricantes de chips receptores GPS, lo cual lleva a una constante mejora en las características de los mismos así como un abaratamiento de los receptores. Hoy en día es posible conseguir receptores de última generación, de gran sensibilidad y consumo muy reducido por precios sorprendentemente bajos.
En este caso en particular, el receptor utilizado en un Globalsat ND-100. Se trata de un receptor muy interesante, pues aúna características tales como reducido tamaño, muy bajo consumo, rapidez de adquisición, alta sensibilidad y sobre todo un coste sumamente reducido (Se pueden conseguir en eBay por menos de 30 euros, gastos de envío incluidos).
Una de las cosas que me llamó la atención fue el hecho de que se anunciaba con drivers para Linux, pero lo que me desconcertó, es que estos drivers se anuncian para sistemas "RedHat 7.3 / 8.0 / 9.0". Algunos de estos sistemas tienen 7 años de antigüedad, y curiosamente no se menciona ningún Linux reciente. A pesar de lo desconcertante de los drivers anunciados para Linux, seguí adelante y decidí comprar uno de estos dispositivos.
La decisión no pudo haber sido mejor. Al conectar el dispositivo GPS-USB en un Ubuntu 8.10 instalado en un equipo Asus EeePC 701, éste reconoció automaticamente lo necesario para tratarlo como un dispositivo que transmite datos por un puerto serie (Prolific PL2303 USB to serial adaptor).
~$ dmesg | tail -10
[ 104.472054] usb 3-2: new full speed USB device using uhci_hcd and address 2
[ 104.639516] usb 3-2: configuration #1 chosen from 1 choice
[ 104.986259] usbcore: registered new interface driver usbserial
[ 104.989944] usbserial: USB Serial support registered for generic
[ 104.992020] usbcore: registered new interface driver usbserial_generic
[ 104.992020] usbserial: USB Serial Driver core
[ 105.011304] usbserial: USB Serial support registered for pl2303
[ 105.013390] pl2303 3-2:1.0: pl2303 converter detected
[ 105.025605] usb 3-2: pl2303 converter now attached to ttyUSB0
[ 105.028018] usbcore: registered new interface driver pl2303
[ 105.028018] pl2303: Prolific PL2303 USB to serial adaptor driver
En estas líneas de
dmesg
se nos indica la referencia (ttyUSB0
) del puerto serie que recibirá los datos del receptor GPS.El siguiente paso es instalar
gpsd
. Esta paquete contiene la utilidad gpsd
(que actúa como demonio sirviendo datos del GPS a cuantas aplicaciones lo requieran) y permite ocultar los detalles de la configuración del GPS a las aplicaciones que hacen uso de éste. Dado que este paquete se encuentra en los repositorios de Ubuntu, su instalación es sumamente sencilla:
~$ sudo apt-get install gpsd
Una vez instalado el servicio
gpsd
y con el receptor GPS conectado en el ordenador, colocamos éste en un lugar despejado en el que pueda recibir la señal necesaria para estimar su posición. A los pocos segundos el dispositivo obtiene su localización y comienza a enviar información a gpsd
.
~$ gpsd /dev/ttyUSB0
Podemos comprobar los datos recibidos con
xgps
(utilidad incluida en el paquete gpsd-clients
, el cuál se habrá instalado automáticamente al instalar gpsd
). Obtenemos algo como esto:
El software de navegación que habíamos elegido (Navit) viene preparado para obtener datos de posicionamiento a través de
gpsd
, y de hecho la configuración por defecto trata de obtener los datos del GPS a través de dicho servicio. No tenemos más que ejecutar la aplicación y a los pocos segundos mostrará nuestra ubicación (la representación en pantalla dependerá de los mapas que hayamos decidido instalar en Navit).Así de sencillo. No hemos tenido ni que abrir el miniCD con los drivers proporcionados por el fabricante del GPS y en pocos minutos hemos conseguido tener perfectamente en funcionamiento un dispositivo GPS conectado a nuestro sistema Linux.
Actualización (5/08/2009):
Dado que en los comentarios no se permiten determinadas etiquetas, respondo aquí cómo incluir en Navit los mapas de Openstreetmaps: Para incluir los mapas de openstreetmaps en Navit, se pueden cambiar los permisos al fichero o bien editarlo como sudo:
$ sudo gedit /etc/navit/navit.xml
En el fichero, hay que buscar la seccion correspondiente a openstreetmaps. En mi caso, lo tengo así (he tenido que poner espacios adicionales dado que blogger no permite introducir determinadas etiquetas en el contenido):
< !-- Mapset template for openstreetmaps -->
< mapset enabled="yes">
< map type="binfile" enabled="yes" data="/usr/share/navit/maps/peninsula.bin" />
< /mapset>
Se trata de un mapa de la Península Ibérica. Leer más...