El módulo GPS lo probamos en un artículo anterior tanto para Arduino como para Teensy 3.0
Ahora veremos unas pruebas en Beaglebone y Raspberry Pi dos ejemplos de SBC o Single Board Computer por sus siglas en Inglés
Después del salto los detalles de configuración
En Beaglebone
Materiales
- Módulo GPS
- protoboard
- cables
- Beaglebone con Ubuntu 12.10
Instalación de Software
Primero instalamos el cliente minicom
sudo apt-get install minicom
minicom -s -c on
Y se configura tty1 para 9600, ver ejemplos de pantalla aqui
Luego instalamos el gpsd
sudo apt-get install gpsd gpsd-clients
Ahora ejecutar como administrador los siguientes comandos
sudo su -
#echo 20 > /sys/kernel/debug/omap_mux/uart1_rxd
#echo 0 > /sys/kernel/debug/omap_mux/uart1_txd
#gpsd /dev/tty01
Conectando el Hardware
Se debe conectar de la siguiente manera
P9_24 (UART1_TXD) --> Rx (GPS)
P9_26 (UART1_RXD) --> TX (GPS)
Como se muestra en la foto
Código Python
Primero para probar ejecutas
cgps
El programa para usar lo obtienes desde este link
o bien
wget https://raw.github.com/lamunozh/BeagleBone/master/ultimateGPSv3/test_ultimateGPSv3.py
sudo python test_ultimateGPSv3.py
En Raspberry Pi
Materiales
- Raspberry Pi con SD, ver tienda
- Conector Raspberry Pi, en tienda
- Protoboard, en nuestra tienda
- Cables
Conectando Hardware
El módulo GPS se conecta cruzando Rx con Tx en Raspberry PI, la alimentación se toma de los +5V
Instalando Software
Desde el repositorio instalamos
sudo apt-get install gpsd gpsd-clients python-gps
Ejecutar
sudo nano /boot/cmdline.txt
cambiar
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdbo onsole=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
por lo siguiente
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait\
Editar inittab, ejecutar el siguiente comando
sudo nano /etc/inittab
El archivo dice
#Spawn a getty on Raspberry Pi serial line
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
y lo cambiamos por lo que se indica
#Spawn a getty on Raspberry Pi serial line
#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
Ahora se debe hacer reboot y exportar…
sudo reboot
sudo killall gpsd
sudo gpsd /dev/ttyAMA0 -F /var/run/gpsd.sock
probamos con
cgps -s
Codificando en Python
El script para probar lo encontramos aquí
También hay un ejemplo en Adafruit
import gps
# Listen on port 2947 (gpsd) of localhost
session = gps.gps("localhost", "2947")
session.stream(gps.WATCH_ENABLE | gps.WATCH_NEWSTYLE)
while True:
try:
report = session.next()
# Wait for a 'TPV' report and display the current time
# To see all report data, uncomment the line below
# print report
if report['class'] == 'TPV':
if hasattr(report, 'time'):
print report.time
except KeyError:
pass
except KeyboardInterrupt:
quit()
except StopIteration:
session = None
print "GPSD has terminated"