Conectar un receptor GPS USB en Ubuntu

Introducción

Creo que esta tarde he visto la luz. Hace un tiempo compré un receptor de GPS para conectarlo al ordenador vía USB, con un objetivo que no era muy claro entonces, probablemente fuera por el tema de experimentar.

En estos días, que estamos tomando datos con un GPS de los buenos, de ahí el último artículo referente a las coordenadas utm y geodésicas. El caso es que para localizar las bases de referencia, hemos estado utilizando el Sygic, pero claro, esto está pensado más que nada para conducción, y en este caso localizar las bases se ha vuelto realmente complicado, porque el chisme en cuestión tiene la manía de intentar llevarte por carretera (que cosas).

Claro, lo que sería muy interesante es poder ver en Google Earth, por ejemplo, tu posición leída desde el GPS. Y efectivamente, este voy a intentar, así que como primer paso intentaré conectarme con el receptor de GPS.

Instalación

Lo primero será instalar las herramientas necesarias. OJO, espera a conectar el receptor GPS antes de tener todo configurado. En un terminal ejecutamos el siguiente comando:

apt-get install gpsd gpsd-clients

Una vez instaladas las herramientas tenemos que configurar el receptor GPS, para ello, ejecutamos el siguiente comando:

dpkg-reconfigure gpsd

Ahora si queremos hacer nuestra primera lectura:

gpspipe -r > logfile.nmea

También puedes comprobar el correcto funcionamiento del gps, utilizando xgps. Para ello ejecutas el siguiente comando en el terminal, o mediante ALT+F2:

xgps

y verás algo parecido a ésto:

0002_xgps

GPS y Python

Por último y para sacar más datos podemos utilizar Python:

[python]
#! /usr/local/bin/python
#-*- coding: utf-8 -*-
import gps, os, time

g = gps.gps(mode=gps.WATCH_NEWSTYLE)
while 1:
os.system(‘clear’)
g.poll()
if gps.PACKET_SET:
g.stream()
print
print ‘ GPS reading’
print ‘—————————————-‘
print ‘latitude ‘ , g.fix.latitude
print ‘longitude ‘ , g.fix.longitude
print ‘time utc ‘ , g.utc,’ + ‘, g.fix.time
print ‘altitude ‘ , g.fix.altitude
print ‘epc ‘ , g.fix.epc
print ‘epd ‘ , g.fix.epd
print ‘eps ‘ , g.fix.eps
print ‘epx ‘ , g.fix.epx
print ‘epv ‘ , g.fix.epv
print ‘ept ‘ , g.fix.ept
print ‘speed ‘ , g.fix.speed
print ‘climb ‘ , g.fix.climb
print ‘track ‘ , g.fix.track
print ‘mode ‘ , g.fix.mode
print
print ‘sats ‘ , g.satellites
time.sleep(1)
[/python]

Que nos producirá un resultado como éste:

0003_geany_run_script.sh

Conclusiones

Este es el comienzo para lo que vendrá posteriormente, pero servirá de rampa de lanzamiento. Ahora quedan cosas más complicadas, como que Google Earth reconozca los datos que tomamos, o que podamos realizar lecturas discrecionales, pero poco a poco y paso a paso.

Más información | linuxquestions.org y tjworld.net

4 comentarios en “Conectar un receptor GPS USB en Ubuntu

  1. RO
    rowilsonh hace 13 años

    y funciono?

    1. EL
      El atareao hace 13 años

      Si. Aunque no lo pude utilizar para lo que quería por que la cobertura del GPS no era muy buena.

  2. PP
    ppellet hace 13 años

    Hola

    Disculpa pero no entiendo esta parte del artículo: «OJO, espera a conectar el receptor GPS antes de tener todo configurado.»

    Quiere decir, «Conectar el GPS antes de configurar todo» o «Luego de tener todo configurado conecta el GPS»…

    Muchas gracias.

  3. JO
    Jorge De León Rivas hace 7 años

    Hola, lo primero gracias por el post, es la primera vez que entro a tu blog pero me ha sorprendido todo lo que tienes.
    He seguido tus pasos, pero no consigo ningún dato con XGPS.

    Mi duda es: teniendo mi GPS conectado en /dev/ttyUSB0 como indico al programa que debe de obtener los datos de ese puerto?

    Muchas gracias!

Deja una respuesta

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