Módulo GPS: Pruebas en Raspberry Pi y Beaglebone

El módulo GPS lo probamos en un artículo anterior tanto para Arduino como para Teensy 3.0

GPS_RPi

 

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

GPS_Beaglebone

 

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

GPS_RPi_1
Conexion de GPS con Raspberry Pi

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"

 

 

Author: Manuel Carrasco

Ingeniero Eléctrico, Institutano, instructor certificado Cisco, en twitter @mcarrasco con comentarios y opiniones personales.

Deja una respuesta

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