/var/log/jynus

/var/log/jynus

Blog personal de Jynus

/var/log/jynus RSS Feed
 
 
 
 

Navegando con GPS y OSM

Con ganas de sacarle partido al EeePC que me compré hace unas semanas, y previendo que voy a tener que viajar bastante durante este año, me he dedicado a buscar una manera de tener un navegador GPS gratuito y legal para este cacharro.

Google Maps no está mal, pero tiene los siguientes inconvenientes:

  1. Sus términos de uso prohíben explícitamente estas prácticas
  2. Los datos de Teleatlas (usados por el callejero de Google) dan mucha penita a veces (mirad dónde han puesto la Alameda Cervantes, en Soria, o la pinta que tiene la Plaza del Pilar de Zaragoza). Además, se centran mucho en información útil para automóviles y poco o nada en peatones y bicicletas
  3. Sólo ofrecen públicamente imágenes (“tiles”) de los mapas, no los datos originales vectoriales. Eso hace imposible el crear rutas sin estar conectado a internet.

Así que decidí probar Navit, un programa de navegación GPS libre que permite utilizar los datos de OpenStreetMap para mostar mapas y calcular rutas. Aunque está todavía en desarrollo y hay cosas que no funcionan muy bien, tiene todo lo que yo quería: mostrar mapas vectoriales, buscar direcciones y calcular rutas.

Primer paso: descargar e instalar el programa. En Debian es muy fácil, ya que existe un repositorio:

# navit repository
deb http://navit.latouche.info/debian lenny main

Que simplemente tenmos que añadir a nuestro /etc/apt/sources.list, seguido del clásico:

$ sudo aptitude update
$ sudo aptitude install navit

Paso 2: conectar el GPS Buetooth al EeePC. Es necesario activar el Bluetooth desde la BIOS (todavía no he encontrado la manera de desactivarlo/activarlo desde el sistema operativo). También necesitaremos tener instaladas las utilidades para gestionar el GPS y la conexión inalámbrica, principalmente bluez-utils y gpsd. Después, emparejaremos la antena bluetooth a nuestro dispositivo y finalmente configuraremos el demonio de GPS para que utilice esta señal:

$ sudo aptitude install gpsd bluez-utils # instalacion de paquetes
$ sudo hcitool dev # permite ver los dispositivos BT
Devices:
        hci0    00:11:22:33:44:55
$ sudo hciconfig hci0 up # levanta el interfaz bluetooth
$ sudo hcitool scan # permite ver los dispositivos al alcance
Scanning ...
        00:99:88:77:66:55       BT GPS # <- este es el GPS

Editamos el archivo /etc/bluetooth/rfcomm.conf y lo rellenamos con la dirección hardware que hemos obtenido en el paso anterior:

#
# RFCOMM configuration file.
#

rfcomm0 {
        # Automatically bind the device at startup
        bind no;

        # Bluetooth address of the device
        device 00:99:88:77:66:55;

        # RFCOMM channel for the connection
        channel 1;

        # Description of the connection
        comment "Antena GPS Bluetooth";
}

Lo vinculamos:

$ sudo rfcomm bind rfcomm0

Y ahora lo configuramos para que lo reconozca gpsd, ejecutando:

$ sudo dpkg-reconfigure gpsd

Y escribiendo /dev/rfcomm0 cuando pregunte por el dispositivo.
Podemos comprobar que funciona así:

$ telnet localhost 2947
r # escribir r + intro
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPRMC,132515.936,V,XXXXX,N,XXXXXX,W,0.00,0.00,060309,,,N*6C
$GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32
$GPRMC,132515.936,V,XXXXX,N,XXXXXX,W,0.00,0.00,060309,,,N*6C
$GPGSV,1,1,01,23,,,19*71
[...]

Paso 3: descargar los mapas y programa

Por alguna razón, ejecutar navit sin configurar antes GPS y mapas hace que este falle. Los mapas que utiliza navit (.bin) pueden obtenerse a partir de archivos de datos de  OpenStreetMap (.osm) -existe una utilidad online que lo hace automáticamente- o bien descargarse directamente ya convertidos al formato binario de Navit desde sitios como Cloudmade. Yo he optado por esto último y he bajado el archivo spain.navit.bin.zip (que tiene todos los datos de España), lo he descomprimido y lo he guardado en la memoria flash del EEE.

Por último, he editado el archivo /etc/navit/navit.xml para que lo use:

<!-- Mapset template for openstreetmaps -->
<mapset enabled="yes">
    <map type="binfile" enabled="yes" data="/home/jynus/osm/spain.navit.bin"/>
</mapset>

¡Y ya está! Ejecutamos navit y estas son algunas de las capturas de pantalla que he obtenido navegando por Zaragoza:

De Tenor Fleta a Sagasta

De Tenor Fleta a Sagasta

Navegando por la Plaza Paraíso

Navegando por la Plaza Paraíso

Facebook Twitter Menéame Delicious LinkedIn Google

13 Responses to “Navegando con GPS y OSM”

  1. 1
    Juan:

    He seguido los pasos y en la pantalla de navit sólo me sale un circulo azul
    y en la parte inferior los datos del GPS.

    Al ingresar en destino los datos de Madrid, mira lo que sale:
    juan@tortuguitap:~$ navit
    vehicle_gpsd:vehicle_gpsd_try_open:Connected to gpsd fd=4 evwatch=0x94bd2c0
    navit:main:Using ‘/etc/navit/navit.xml’
    xkbd: No existe el fichero o el directorio
    changed España partial 0
    gui_gtk:changed:country
    navit:search_list_search:level=0
    gui_gtk:row_activated:enter
    gui_gtk:row_activated:str=España
    changed M partial 0
    gui_gtk:changed:town
    changed Ma partial 0
    gui_gtk:changed:town
    changed Mad partial 0
    gui_gtk:changed:town
    navit:search_list_search:level=1

    No se que opciones poner en navit.xml
    Tengo Debian Lenny con LXDE en un viejo portatil(128 Mb ram) y un receptor bluetooth Zaapa.

  2. 2
    jynus:

    El problema de navit es que todavía no es muy “amigable” para el usuario. Desde el paquete debian debería crearte automáticamente un archivo ‘/etc/navit/navit.xml’, del cual deberías descomentar las lineas que muestro en el paso 3, cambiando ‘/home/jynus/osm/spain.navit.bin’ por donde hayas guardado el archivo binario de navit. Con eso ya te debería funcionar, las otras opciones son para cosas más sofisticadas como gpx logging, etc.

  3. 3
    jorgico:

    Muy bueno el artículo.
    ¿Se puede utilizar sin gps?
    ¿si se utiliza sin gps no carga los mapas?(es lo q me pasa a mi)
    Gracias,

  4. 4
    jynus:

    Sí, no hace falta GPS para usarlo.

    El problema es que si no lo usas con GPS, por defecto apareces en las coordenas (0, 0), es decir, cerca de la costa atlántica de Africa, a la altura del ecuador. Es necesario configurarlo para aparecer en otras coordenadas o bien moverte manualmente. Éste probablemente sea tu problema. De todas formas, revisa la “salida estandar” del programa, por si tienes problemas de configuración.

  5. 5
    José Antonio:

    Muy buen artículo. Yo también he instalado Navit en un Asus Eee PC 701. En mi caso, utilizo Ubuntu (ahora la 9.04, pero en el momento de escribir el artículo la 8.10) y en lugar de utilizar una antena GPS bluetooth lo hago con una antena USB.

    Si os interesa, podeis echar un vistazo a estos artículos de mi blog:
    http://ospatia.blogspot.com/2009/01/navit-navegacin-gps-para-linux.html
    http://ospatia.blogspot.com/2009/01/gps-para-linux-ii.html

    Con respecto a lo de activar y desactivar el bluetooth desde línea de comandos, echa un vistazo a ver si hay una entrada refiriendose al bluetooth en /sys/devices/ En caso de que exista, probablemente colocando un 0 o 1 en el fichero en cuestión puedas desactivar o activar el interface bluetooth.

    En el caso del Eee PC, para desactivar y activar la wifi, se hace o bien desde la BIOS, o bien con los siguientes comandos (como superusuario)

    echo 0 > /sys/devices/platform/eeepc/wlan
    echo 1 > /sys/devices/platform/eeepc/wlan

  6. 6
    jynus:

    sí, para la wifi así lo hago (bueno, en realidad las hotkeys lo hacen por mi). El problema es que el kernel que tengo actualmente no da esa opción.

  7. 7
    Orleans:

    Hola, sería posible instalar el Navit o similar en un Asus Eee PC con Xp de casa? Gracias.

  8. 8
    Miguel:

    Hola Jynus, estoy intentando usar Navit en mi eee 901 con UNR y me estoy volviendo loco. Tengo el programa instalado, tengo descargados los mapas de España y tengo un receptor GPS (USB). No me deja editar el archivo navit.xml ya que dice que al no ser yo el propietario no puedo modificarlo… ¿alguna idea?

    Gracias y un saludo

  9. 9
    jynus:

    @Miguel Necesitas editarlo con permisos de superusuario (cuenta de administrador en Linux). Para ello, pulsa ALT + F4 y escribe “gksu gedit” o bien “kdesu kate”. Necesitarás introducir tu contraseña. De esa manera, podrás editar el archivo sin problemas.

  10. 10
    jynus:

    @Orelans There seems to be a Windows version: http://wiki.navit-project.org/index.php/NavIt_on_Windows but I haven’t tested it.

  11. 11
    Miguel:

    Gracias por responder tan rapido.
    Le plantee la pregunta tambien a Josean (http://ospatia.blogspot.com/2009/01/gps-para-linux-ii.html) y he seguido su respuesta, es decir, usar el comando $ sudo gedit /etc/navit/navit.xml

    La cuestion es que ahora el problema es el siguiente:
    -Hice una instalacion limpia de Ubuntu Netbook Remix 9.04
    -y ahora el problema esta en que al meter

    ~$ gpg –recv-keys CB229096
    gpg: solicitando clave CB229096 de hkp servidor keys.gnupg.net
    gpg: clave CB229096: “Vincent Touchard ” sin cambios
    gpg: Cantidad total procesada: 1
    gpg: sin cambios: 1

    ~$ gpg –export -a CB229096 | apt-key add -
    gpg: anillo de claves no escribible encontrado: eof
    gpg: Error leyendo `-’: Error general
    gpg: import from `-’ failed: Error general

    -Ademas, si intento actualizar mediante el Gestor de actualizaciones me dice lo siguiente (me imagino que derivado de lo anterior):

    W: Error de GPG: http://navit.latouche.info jaunty Release Las firmas siguientes no se pudieron verificar porque su llave pública no está disponible: NO_PUBKEY 0CF2E2A8CB229096

    ¿que he hecho mal?

    Por cierto, una pregunta tonta… ¿tengo que tener el receptor GPS conectado aunque tan solo quiera navegar de modo “offline”? es que ahora mismo abro el NavIt y no veo nada; ni mapas ni nada de nada y eso que ya he editado el navit.xml…

    Bueno, y gracias de antemano ;-)

  12. 12
    jynus:

    @Miguel: Te falta un sudo:

    http://wiki.navit-project.org/index.php/Download_Navit#Ubuntu

    Es probable que si no tienes el GPS activo, te sitúe en las coordendas 0,0 y no veas nada.

  13. 13
    gps:

    para los usuarios menos geek, podemos usar el moble pc de garmin

Leave a Reply