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:
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:
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
y funciono?
Si. Aunque no lo pude utilizar para lo que quería por que la cobertura del GPS no era muy buena.
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.
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!