Sie sind auf Seite 1von 13

APLICACIONES CON MINICOMPUTADORES RASPBERRY PI

PROVISTO DE MDULO GPS Y ACELERMETRO PARA CONTROL


DE VELOCIDAD Y POSICIONAMIENTO. (Noviembre 2013)
Fernando Chavez(1), Christian Yuquilema(2), Carlos Valdivieso (3)
Facultad de Ingeniera en Electricidad y Computacin (1)(2)(3)
Escuela Superior Politcnica del Litoral (ESPOL) (1)(2)(3)
Campus Gustavo Galindo, Km 30.5 Va Perimetral, Apartado 09-01-5863. Guayaquil, Ecuador (1)(2)(3)
fchavez@armada.mil.ec(1), cyuquile@espol.edu.ec(2), cvaldiv@fiec.espol.edu.ec (3)

Resumen
El presente trabajo de investigacin pretende realizar el control de velocidad y posicionamiento de un mvil
mediante el uso del minicomputador moderno Raspberry Pi, el cual est provisto de un mdulo GPS y acelermetro
para poder medir las variables antes sealadas.

Puntal fundamental para el desarrollo de este trabajo es la programacin del minicomputador Raspberry Pi, y
mediante la utilizacin del lenguaje de programacin llamado Python, se ha logrado recibir y procesar los datos
enviados desde el mdulo GPS y acelermetro.

La adquisicin de datos desde el Sistema de Posicionamiento Global, hacia la mini computadora Raspberry Pi se lo
ha realizado a travs del puerto GPIO, el cual es un puerto de entrada y salida de propsitos generales. La
adaptacin del mdulo GPS hacia el minicomputador se lo ha implementado mediante una tarjeta puente. Cabe
mencionar que los datos enviados por el mdulo GPS cumplen con el protocolo NMEA 0183.

Palabras Claves:
Raspberry-Pi, GPS, Python, GPS CSC3 Vincotech.

Abstract
The aim of this study is to evaluate the speed and position of a mobile using the modern Raspberry Pi
minicomputer equipped with a GPS module and accelerometer to measure the variables mentioned above.

The key to execute this study is the programming of the minicomputer Raspberry Pi and through the use of a
program language called Python, it has been possible to receive and process the data sent by the GPS module.

The acquisition of data from the Global Positioning System to the Raspberry Pi was made through the GPIO port,
which is an general purposes input and output port. The GPS module adaptation to the minicomputer was
implemented by the use of a bridge card. It is important to mention the GPS module sends data compliant with the
NMEA 0183 protocol.

Keywords:
Raspberry-Pi, GPS, Python, GPS CSC3 Vincotech..

1. Introduccin. conectado a una minicomputadora Raspberry Pi, para


lo cual se ha elaborado un software que permite la
Este proyecto se basa en el control de velocidad y adquisicin y procesamiento de los datos antes
posicionamiento de un mvil mediante la utilizacin indicados para su presentacin en una interfaz hombre
de un mdulo GPS y acelermetro que se encuentra mquina implementado en el lenguaje Python.
el mdulo GPS que se interconectar con el
minicomputador.
1.1. Antecedentes.
Finalmente, una vez que se logre controlar y obtener la
data desde el GPS, se desarrollar una HMI utilizando
El reto que se ha planteado para la ejecucin del el lenguaje de programacin Python para presentar los
presente proyecto es realizar el control de posicin y datos de posicin y velocidad de un mvil,
velocidad de un vehculo mediante la utilizacin del concretndose de esta manera el objetivo de esta
minicomputador Raspberry PI, el mismo que tesina.
interacta con un mdulo GPS para obtener las
variables deseadas. 1.3 Objetivos Principales
Esta minicomputadora soporta un sistema operativo a. Realizar el control de posicin y velocidad de un
desarrollado en Linux, lo que facilita la programacin mvil, mediante la adquisicin de datos desde el
y soporte durante el desarrollo, especialmente por la mdulo GPS y a travs del puerto de propsitos
existencia en la web de aplicaciones gratuitas que son generales GPI del minicomputador Raspberry Pi.
de gran utilidad para ejecutar proyectos a un costo
relativamente bajo. b. Conocer el funcionamiento del mdulo GPS y su
protocolo de comunicacin a fin de interpretar la
La principal potencialidad de este minicomputador es informacin que entrega mencionado mdulo para
su capacidad de comunicacin con perifricos a travs la determinacin de la posicin y velocidad del
de sus diferentes puertos y en especial por el puerto de mvil en tiempo real.
propsitos generales GPIO, que permite realizar
aplicaciones para el control y manejo de dispositivos.
c. Aprender el manejo de la herramienta Cutecom en
modo local, el cual permitir demostrar que la
comunicacin entre el mdulo GPS y el
minicomputador se encuentra correctamente
establecida.

d. Desarrollar capacidades para implementar


interfaces Hombre-mquina, mediante la
utilizacin del lenguaje Python, el mismo que
permitir realizar la visualizacin de los datos que
ingresan en tiempo real a nuestro
Figura 1.1. Tarjeta Minicomputador Raspberry Pi minicomputador, a travs del puerto GPIO.
Modelo B.
2. Fundamentos Terico.
1.2. Identificacin del Problema.
2.1. Minicomputador Raspberry Pi
Mediante este proyecto se desea alcanzar el
conocimiento necesario para realizar el manejo del Rasperberry-PI es un minicomputador que posee un
puerto de entrada y salida de propsitos generales del procesador central (CPU) ARM1176JZF-S a 700 MHz
minicomputador Raspberry Pi, a fin de realizar el y una memoria de 512 MB de RAM. Posee 02 puertos
control de posicin y velocidad de un mvil, utilizando USB, 02 salidas de video (RCA y HDMI), salida de
para el efecto una interface hombre mquina para la audio, conectividad de red mediante el conector RJ-45
presentacin de los datos en mencin. y ranura para la instalacin de un dispositivo de
almacenamiento del tipo SD.
Estos datos se obtendrn del mdulo GPS y
acelermetro, lo que implica un conocimiento Es una tarjeta de bajo consumo aproximadamente 1
suficiente de este hardware para manejar sus entradas Amp y requiere de un voltaje de alimentacin de 5
y salidas de datos. voltios. Soporta lenguajes operativos tipo Linux. Esto
implica que tiene la capacidad de realizar
De igual manera se requiere analizar y entender el
procesamiento grfico, permitiendo la comunicacin
protocolo de comunicaciones NMEA 0183 que emplea
con varios tipos de hardware. Se recomienda la
instalacin del sistema operativollamado Raspbian.

Figura No. 2.2: Distribucin de los Pines del Puerto


Figura No. 2.1: Diagrama en Bloques de la Tarjeta
GPIO del Raspberry Pi Modelo B. [1]
Minicomputador Raspberry Pi Modelo B. [1]

2.1.2 Instrucciones en Python para programacin


2.1.1 Configuracin del Raspberry Pi para del UART.
Recepcin de Data desde el mdulo GPS.
Para trabajar con el puerto serial se debe realizar la
El lenguaje de programacin Python que se ha instalacin de la librera Pyserial, para lo cual se debe
seleccionado para programar el Raspberry nos descargar mencionada librera de la web y realizar el
permitir manejar el puerto de propsitos generales, el siguiente procedimiento:
mismo que est compuesto de 26 pines que pueden ser
configurados como entradas o salidas. Para descargar de la web la librera escribir:

Para el caso de esta aplicacin se conectar a stos http://sourceforge.net/projects/pyserial/files/latest/dow


pines la tarjeta interface del mdulo GPS, el mismo nload?source=files
que nos enviar la informacin de posicin y
velocidad. Para extraer el contenido del archivo escribir:

El puerto GPIO se encuentra ubicado en la parte tar xvzf pyserial-2.6.tar.gz


superior izquierda del integrado, sus 26 pines se
Para instalar la librera escribir:
encuentran distribuidos en dos columnas de 13 pines
cada una. Cada pin tiene su propsito especfico el
Sudo python setup.py install
mismo que puede ser visualizado la figura 2.2.
De igual manera se debe importar este mdulo al
En los pines 8 y 10, existe un TX/RX asincrnico programa mediante la instruccin:
UART, el mismo que consiste en un puerto serial,
donde el pin 8 es utilizado para transmisin de data y import serial
el pin 10 para la recepcin. Este puerto serial es
configurado mediante la modificacin del archivo Para establecer una comunicacin standard con un
cmdline.txt. baudrate de 4800, 8 bits, sin paridad y 01 bit de parada
es suficiente con escribir las siguientes instrucciones:
Para comunicarse con el mdulo GPS GSC3 de la
empresa Vicontech se debe setear una velocidad de ser=serial.Serial ()
transmisin de 4800 baudios. ser.baudrate=4800
ser.port=0
ser
Para almacenar la data que es leda en el puerto del hasta de centmetros (si se utiliza GPS diferencial),
UART se puede utilizar la sentencia: aunque lo habitual son unos pocos metros de precisin.
El sistema fue desarrollado, instalado y actualmente
ser.open() operado por el Departamento de Defensa de los
GPS = ser.readline() Estados Unidos.

El GPS funciona mediante una red de 24 satlites en


2.2 Protocolo de Comunicaciones NMEA 0183. rbita sobre el planeta tierra, a 20.200 km, con
trayectorias sincronizadas para cubrir toda la superficie
La asociacin National Electronics Association
de la Tierra. Cuando se desea determinar la posicin,
(NMEA), es una asociacin sin fines de lucro de los
el receptor que se utiliza para ello localiza
fabricantes, distribuidores, institutos de educacin y
automticamente como mnimo tres satlites de la red,
otros interesados en equipos perifricos relacionados
de los que recibe unas seales indicando la
con el rea martima. El protocolo NMEA 0183 se lo
identificacin y la hora del reloj de cada uno de ellos.
define como una interface elctrica y protocolo de
datos para la comunicacin efectiva entre los Con base en estas seales, el aparato sincroniza el reloj
diferentes equipos del rea martima del GPS y calcula el tiempo que tardan en llegar las
seales al equipo, de tal modo que mide la distancia al
satlite mediante triangulacin, la cual se basa en
2.2.1 Interface Elctrica del Protocolo.
determinar la distancia de cada satlite respecto al
Este protocolo est diseado tanto para los equipos que punto de medicin. Conocidas las distancias, se
transmiten como los que reciben data y emplea una determina fcilmente la propia posicin relativa
comunicacin asincrnica mediante la utilizacin de respecto a los tres satlites.
una interface serial. Esta interface debe ser
Mediante la triangulacin, cada satlite indica que el
configurada con los siguientes parmetros: Baudrate,
receptor se encuentra en un punto en la superficie de la
Nmero de bits, Bit de Parada, Paridad y Handshake.
esfera, con centro en el propio satlite y de radio
NMEA 0183 permite que existan una sola fuente de equivalente a la distancia total hasta el receptor.
transmisin (Talker) y varias fuentes de recepcin
Si se obtiene la informacin de dos satlites queda
(listeners) en un mismo circuito. La conexin
determinada una circunferencia que resulta cuando se
recomendada es a travs de conductores que tenga
intersecan las dos esferas en algn punto de la cual se
proteccin electromagntica especialmente
encuentra el receptor.
conductores de par trenzado con malla, la misma que
debe estar aterrizada solamente del lado del Talker. Mientras que si se dispone la informacin de un cuarto
satlite, se elimina el inconveniente de la falta de
No se requieren conectores especiales sin embargo es
sincronizacin entre los relojes de los receptores GPS
recomendable que el talker cumpla con el standard RS-
y los relojes de los satlites. Y es en este momento
422 para la transmisin de datos, el mismos que es un
cuando el receptor GPS puede determinar una posicin
sistema diferencial que utiliza dos lneas. Este es un
3D exacta (latitud, longitud y altitud).
formato ms inmune al ruido y debe ser aterrizado. De
igual forma se recomienda que al realizar la
2.4 Descripcin del Firmware del Mdulo GPS
interconexin de dispositivos que cumplan con este
CSC3 Vincotech.
protocolo, se instale en el receptor opto acopladores
para establecer una proteccin al circuito. El mdulo GPS CSC3 de Vincotech soporta una
interface serial bidireccional. Esta es implementada
2.3 Descripcin de los Sistemas de Posicionamiento utilizando la interface del procesador del GPS,
Satelital. utilizando una comunicacin full dplex del tipo
UART.
El SPG o GPS (Global Positioning System: sistema de
posicionamiento global) o NAVSTAR-GPS es un La configuracin por defecto de este mdulo es una
sistema global de navegacin por satlite (GNSS) que comunicacin por puerto serial con los siguientes
permite determinar en todo el mundo la posicin de un parmetros: 4800 baudios, 8 bits, No Paridad y 1 Bit
objeto, una persona o un vehculo con una precisin
de parada, no flujo de control.
El mdulo en mencin soporta 08 sentencias en On/Off messages On/Off
formato NMEA 0183 relacionadas con la informacin Select Datum 106 Selection of datum to
que entrega el GPS, y son las siguientes: be used for coordinate
transforming
$GPGGA (default: ON)
(1) Message Identification (MID)
$GPVTG (default: OFF)
$GPRMC (default: ON) Tabla No. 1: Mensajes de Entrada NMEA al
$GPGSA (default: ON) Mdulo GPS. [5]
$GPGSV (default: ON, 0.2Hz)
$GPGLL (default: OFF) 2.4.3 Configuracin del Puerto Serial del Mdulo
GPS.

2.4.1 Mensajes de Inicializacin del GPS. El comando que es utilizado para configurar los
parmetros de baud rate, data bits, stop bits y paridad
Despus del encendido del mdulo GPS o reset del es el siguiente:
mdulo, este dispositivo enviar el primer mensaje de
inicializacin en el cual se podr apreciar las $PSRF100,0,9600,8,1,0*0C
siguientes sentencias:
Name Example Description
$PSRFTXT,Version: GSW3.5.0_3.5.00.00-C25P2.01
Message $PSRF100 PSRF100 protocolheader
*03
ID
$PSRFTXT,TOW: 0*25
Protocol 0 0 SiRFbinary / 1 NMEA
$PSRFTXT,WK: 1517*67
Baud 9600 4800, 9600, 19200,
$PSRFTXT,POS: 6378137 0 0*2A
38400, 57600, 115200
$PSRFTXT,CLK: 96250*25
$PSRFTXT,CHNL: 12*73 DataBits 8 8, 7 (1)
$PSRFTXT,Baud rate: 4800*65 StopBits 1 0, 1
Parity 0 0 none / 1 odd / 2 even
Checksum *0C End of
Estos mensajes tiene informacin de la versin del messagetermination
firmware del GPS, tiempo del GPS, posicin entre (1) Sirf protocol is only valid for 8 data bits, 1 stop
otros. Esta informacin realmente no debe ser utilizada bit and no parity
durante la implementacin del programa por cuanto es
nicamente informativa. Tabla No. 2: Configuracin del Puerto Serial [5]

2.4.2 Sentencias propietarias del Mdulo GPS. 2.4.4 Seleccin de las Sentencias que enviar el
Mdulo GPS.
El mdulo GPS permite la habilitacin de mensajes de
entrada en formato NMEA. Por defecto en el puerto 0 Se requiere de comando especiales para habilitar o
es configurado como modo NMEA. Los mensajes deshabilitar las diferentes sentencias que son enviadas
pueden ser enviados mediante la utilizacin de un por la salida serial del GPS. Como se mencion
terminal de programa. Los siguientes mensajes de anteriormente este mdulo GPS en especial tiene la
entrada son soportadas: capacidad de enviar los mensajes GGA, GLL, GSA,
GSV, RMC y VTG. Se puede de igual forma habilitar
Message MID(1) Description
o no el envo del checksum en caso de ser necesario.
Set serial port 100 Set Port 0 parameters
and protocol A continuacin las instrucciones que son necesarias
Reset 101 Initialize various start para habilitar el checksum y habilitar el envo de los
Configuration up behaviors datos de velocidad que por defecto se encuentra
Query/rate control 103 Query standard deshabilitada:
NMEA message
and/or set out-put rate 1. Mensaje GGA con checksum habilitado
Development data 105 Development Data
$PSRF103,00,01,00,01*25
2. Mensaje VTG para salida a 1 Hz con checksum
habilitado

$PSRF103,05,00,01,01*20

La interpretacin de estos mensajes se puede visualizar


en las siguientes tablas:

Name Example Units Description


Message ID $PSRF10 PSRF103
3 protocolheader
Msg 00 Ver Tabla 4.
Mode 01 0=SetRate,
1=Query Figura No. 3.1: Determinacin del Funcionamiento
Rate 00 second Output rate del Mdulo mediante un Osciloscopio.
s 0 off
Max 255 Los pulsos que se pueden visualizar en la Figura 3.1,
CksumEnab 01 0 Disable corresponden a la data que est saliendo del
le Checksum dispositivo GPS. El tipo de transmisin de datos es
1 serial, por lo que los pines del UART (Rx Tx) se
EnableChecksum debern conectar a los pines del Raspberry Pi, adems
Checksum *25 End of de la alimentacin respectiva que necesita el
messageterminati
mencionado mdulo.
on
Tabla 3: Formato de la Sentencia de Control [5]

Value Description
0 GGA
1 GLL
2 GSA
3 GSV
4 RMC
5 VTG
6 MSS (If internal beacon is supported)
7 Notdefined Figura No 3.2. Diagrama Bsico de Interconexin.
8 ZDA (if 1PPS output is supported)
9 Notdefined En la figura 3.3 se puede visualizar la interconexin
Tabla 4: Valor asignado a cada Mensaje de Control fsica de estos mdulos:
[5]

3.DISEO E IMPLEMENTACIN DEL


PROYECTO.

3.1 Conexin de Componentes.

Para realizar la conexin de los componentes, fue


necesario identificar los pines de entrada y salida del
mdulo GPS, para lo cual con la ayuda de un
osciloscopio, se determin que el dispositivo se
encontraba trabajando correctamente. En la figura 3.1,
se puede apreciar la prueba realizada.

Figura No 3.3. Interconexin Fsica de


Componentes.
Se debe tomar la precaucin, que para recibir la
informacin de los satlites, se requiere que la antena
GPS se encuentre al exterior del edificio, sin embargo
es factible colocar la antena en la cercana de una
ventana, a pesar que el vidrio puede degradar
levemente las seales recibidas por los GPS, despus
de un cierto tiempo se consigue recibir seal desde los
satlites. En la figura 3.4 se puede apreciar las pruebas Figura No 3.5 . Edicin del archivo cmdline.txt
de recepcin realizadas con un pyrex de 5mm de
grosor, con el cual se obtuvieron resultados exitosos. Mientras tanto en el archivo /etc/initab, se debe
comentar todo lo relacionado con el puerto serial.
Debindose visualizarlo de la siguiente manera:

ANTENA

Figura No 3.4. Pruebas de Recepcin con Vidrio de


5mm de Espesor.

Se necesita al menos 03 seales de satlites con


niveles de seal ruido sobre 18 para que el mdulo
pueda calcular los valores de posicin y velocidad de
un blanco. Figura No 3.6. Edicin del archivo Initab.txt

3.2 Configuracin del Raspberry para conexin Es necesario mencionar que estos archivos son
con Mdulo GPS y Simulador. protegidos, razn por la cual se debe dar los privilegios
de escritura, va comando:
Una vez que el dispositivo que se encuentra conectado,
este debe ser seteado va comandos en el terminal de sudo chmod 666 <ruta y nombre del archivo>
Linux. Las direcciones fsicas de los dispositivos en
mencin son: Posteriormente se puede visualizar si los puertos estn
disponibles y reconocidos mediante la instruccin:
1.- MODULO GPS: //dev/ttyAMA0
2.- SIMULADOR GPS://dev/ttyUSB0 ls /dev/ttyUSB, para el caso del simulador y ls /dev/tty
AMA0 para el mdulo GPS.

Para poder establecer esas direcciones se debe En la figura 3.7, se puede visualizar el resultado de
modificar el archivo /boot/cmdline.txt, debindose estas instrucciones:
visualizar la siguiente instruccin en el mencionado
archivo.

Figura No 3.7 . Resultado del Comando ls en


Consola
Para ver rpidamente lo que est ingresando desde el
GPS conectado se puede ingresar el siguiente
comando, dependiendo del puerto en el que se
encuentre el dispositivo:

sudo cat /dev/ttyAMA0 o sudo cat /dev/ttyUSB0

A continuacin el resultado del comando cat en el


terminal. Figura No.3.9: Comandos para ejecucin del
Software GPSD

Una vez que se tiene instalado el mencionado


software, lo ejecutamos mediante el comando:

cgps s

Como se puede visualizar en la figura 3.13, se


despliega la informacin que entrega de manera
ordenada el GPS. En esta figura se puede visualizar la
informacin de posicin y velocidad del blanco,
Figura No 3.8. Resultado del Comando cat en el objetivo del presente proyecto:
Terminal

3.3 Instalacin del Software GPS Daemon (gpsd).

El software GPS Daemon (gpsd), es el software


mediante el cual vamos a poder entender la data que
est enviando el GPS. Este software enva la
informacin ordenada de tal manera que la
interpretacin de la informacin del blanco se lo hace
de una manera sencilla.

Este programa, como la mayora de los desarrollados


en Linux se encuentra de manera gratuita y se lo
instala mediante la siguiente instruccin:

Sudo apt-get install gpsd-clients python-gps.


Figura No. 3.10: Visualizacin de datos en el
Con estas instrucciones estamos habilitando tanto el Software GPSD
software GPSD y tambin la librera GPS de python, la
misma que la utilizaremos ms adelante. Cabe mencionar que este programa puede ser utilizado
nicamente cuando se tiene recepcin de datos reales
Dependiendo del puerto en el que se encuentre nuestro de GPS, por lo que para la utilizacin de simuladores
dispositivo GPS, debemos habilitarlo para la lectura se debe realizar una programa en Python, que permita
mediante el siguiente comando: interpretar la data simulada, la misma que es muy
similar a la data real. La nica diferencia es que no
Sudo gpsd /dev/ttyAMA0 F /var/run/gpsd.sock
existe informacin de los satlites que entregan
informacin, razn por la cual el software GPSD
identifica que la data recibida no es vlida.
3.4 Adquisicin de datos desde el mdulo GPS manejo del puerto UART del Raspberry Pi es
utilizando Python necesario instalar y utilizar la librera serial. La
instalacin de esta librera fue explicada
A pesar que ya se ha logrado controlar la posicin y anteriormente.
velocidad de un blanco mediante el programa
GPSD, se ha considerado pertinente desarrollar el De igual forma se requiere la instalacin de la librera
cdigo requerido para poder monitorear la data del respectiva para la elaboracin de la interfaz grfica. La
GPS, mediante la utilizacin de un programa librera ms utilizada es la denominada Tkinter y la
desarrollado en Python, el mismo que servir para forma de instalarla es mediante cdigo en el terminal
futuras implementaciones. Para realizar el desarrollo mediante la siguiente instruccin:
del software nos guiaremos del siguiente algoritmo, el
mismo que ser la base para la implementacin. sudo apt-get install python-tk

Descripcin del Algoritmo Una vez que se instala esa librera se debe llamar a la
misma en el inicio del programa, para que se habiliten
1. Inicializacin de los puertos todas sus funciones.
2. Definicin de puertos a utilizar.
3. Ingreso en un lazo infinito El programa desarrollado en Python, se compone de
4. Captura de los datos entregados por el mdulo dos mdulos internos, el primero que corresponde a la
GPS. adquisicin de datos y procesamiento de los mismos y
5. Si el dato recibido corresponde a una sentencia el segundo que corresponde a la interfaz grfica
GGA o RMC, procesa la informacin y los (HMI).
muestra en la pantalla
4. PRUEBAS Y SIMULACIONES

4.1 Procedimientos de Encendido e Inicializacin.

Para llevar a cabo la adquisicin de datos GPS


utilizando el simulador o directamente desde el
mdulo GPS se deben realizar el siguiente
procedimiento:

1. Se debe verificar las alimentaciones necesarias


para realizar el proceso de encendido de los
equipos. Para el caso del simulador, el voltaje
requerido es de 115 V ACC, mientras que el
Raspberry Pi requiere una alimentacin de 5 Vdc.
Para las pruebas que se realizarn en el auto se
utilizar la alimentacin desde el encendedor de
cigarrillos.

2. Para el caso del simulador no se requiere la


instalacin de una antena, sin embargo para la
prueba con el mdulo GPS, se requiere que la
antena se encuentre en un lugar donde reciba las
seales entregadas por los satlites. Si la antena va
a ser colocada al interior del auto, sta debe estar
Figura No 3.11. Algoritmo para la Implementacin ubicada en las cercanas del parabrisas.
del Software.
3. Una vez que se realice la conexin del simulador
Cabe mencionar que en Python, al igual que en otros o del mdulo GPS, se debe verificar que el
lenguajes es necesario utilizar libreras que contienen software Cutecom se encuentra recibiendo
comandos especiales que permiten el desarrollo del correctamente la informacin, para lo cual se
software de una manera ms sencilla. Para el caso del
deber tener precaucin de la velocidad de Este diagrama en bloques ha sido implementado y en
transmisin de datos, as como la direccin del la figura 4.2 se puede visualizar la conexin de cada
dispositivo. uno de sus componentes.

4. Luego de haber probado la comunicacin con el Cabe mencionar que este simulador de GPS, puede
dispositivo GPS, se procede a ejecutar en el caso tambin funcionar como un GPS normal, por lo que se
del mdulo GPS, el software de monitoreo GPSD, debe seleccionar en el men respectivo la funcin de
el mismo que permite visualizar en tiempo real la simulacin para que el mismo entregue la data
informacin recibida por los satlites. Tambin se requerida.
puede realizar las pruebas con el software
desarrollado en Python.

5. En el caso del Simulador, se requiere la utilizacin


del software desarrollado en Python, tomando la
precaucin de primero ejecutar el programa y
luego el simulador para evitar que el buffer del
simulador se sature de datos que son enviados
mediante la secuencia FIFO.

4.2 Pruebas realizadas con el Simulador GPS.


SIMULADOR
Siguiendo las instrucciones antes indicadas y luego de
realizar la conexin adecuada del simulador al mini
computador al Raspberry procedemos a realizar la
simulacin de la data para verificar que efectivamente
estamos recibiendo la informacin y sta es procesada Figura No. 4.2: Interconexin Fsica del Simulador
de GPS.
por nuestro software.

Se debe recordar que para la prueba con el simulador


4.3 Pruebas realizadas con el mdulo GPS en un
no se puede ejecutar el software GPSD, por cuanto
vehculo.
ste necesita informacin de los satlites para verificar
si la data enva es vlida o no. Una vez que se ha realizado las pruebas con el
simulador, procedemos a instalar el dispositivo en un
La conexin del Simulador, hacia el Raspberry se lo va
vehculo para monitorear la velocidad y posicin del
a realizar mediante el puerto RS-232, razn por la cual
auto en tiempo real. El poder de alimentacin para el
se debe verificar los pines de este simulador, los
Raspberry Pi, se lo toma del encendedor de cigarrillos,
mismos que irn a un convertidos RS232 a USB. A
teniendo la precaucin de conectar el dispositivo una
continuacin una figura de la conexin del simulador.
vez que el auto se encuentra arrancado, para evitar que
existan picos de corriente que pueden daar al
dispositivo. En las figuras 4.9, 4.10 y 4.11, se puede
ver la instalacin del dispositivo en el automvil.

Figura No. 4.1: Diagrama en Bloques de Conexin


del Simulador de GPS
Posteriormente ejecutamos el programa Cutecom para
visualizar si ha sido reconocido el mdulo GPS. Se
debe tener precaucin de seleccionar bien el puerto
mediante el cual se recibir la data. Mencionado
puerto es //dev/ttyAMA0. A continuacin una grfica
de lo antes indicado:

Figura No. 4.3 Conexin del Raspberry-Pi en el


vehculo.

Figura No. 4.6 Adquisicin de data del mdulo GPS


mediante el Software Cutecom.

Como se puede visualizar, el dispositivo se encuentra


conectado y enviado informacin al Raspberry PI, sin
embargo no est enviando datos de posicin y
velocidad del blanco, esto es debido a que el
dispositivo toma alrededor de 10 minutos para
procesar la informacin de los satlites y entregar la
informacin requerida.

Una vez que estamos seguros que estamos conectados


al mdulo GPS, verificamos el estado de los satlites
Figura No. 4.4 Instalacin de antena en el interior mediante el software GPSD, el cual lo ejecutamos
del vehculo. desde el terminal y podemos determinar, que existen
satlites detectados, sin embargo todava no son
utilizados por el mdulo para entregar los valores de
posicin y velocidad.Despus de transcurrido cerca de
10 minutos las seales recibidas de los satlites son
procesadas por el mdulo GPS para entregar valores
certeros de posicin y velocidad, objetivos de este
proyecto, sin embargo tambin se recibe informacin
complementaria que puede ser utilizada en otro tipo de
proyecto. A continuacin una grfica de la obtencin
de la data real desde el mdulo GPS, una vez que el
vehculo se encuentra detenido.

Figura No. 4.5 Instalacin de display en el interior


del vehculo.

Como se puede visualizar la antena es colocada detrs


del parabrisas, el mismo que tiene la trasparencia
necesaria para captar las seales de los satlites.
Velocmetro en 70 Km/h

Figura No. 4.8 Adquisicin de datos del mdulo


Figura No. 4.7 Adquisicin de datos del mdulo GPS mediante el Software Desarrollado en Python
GPS mediante el Software GPSD Auto Detenido. Auto en Movimiento.

Como se puede visualizar en la figura anterior los Conclusiones.


datos entregados por los satlites son procesados
correctamente y existe presentacin de valores de 1. El minicomputador Raspberry Pi, utilizado para
posicin, velocidad y otros datos. Se puede visualizar realizar la adquisicin de datos en tiempo real, por
que el auto est detenido por cuanto la velocidad su gran versatilidad ha facilitado la instalacin del
indicada es 0.1 Kph. mdulo GPS CSC3, del software especializado
GPS Daemon y del programa desarrollado en el
Finalmente, lo que queda pendiente es poner el lenguaje de programacin Python, herramientas
vehculo en movimiento para determinar que utilizadas para realizar el control de la velocidad y
efectivamente se ha cumplido con el objetivo del posicin de un vehculo en movimiento, objetivo
proyecto que consista en realizar el control de principal de esta tesina.
posicin y velocidad de mvil. Se presentarn varias
fotografas donde se visualiza el velocmetro del 2. La exactitud de los datos de posicin y velocidad
vehculo y se realiza una comparacin con el valor que son calculados por el mdulo GPS CSC3,
entregado por el software GPSD. depende del nmero de seales vlidas que son
recibidas desde los satlites, siendo necesario al
menos tres satlites para obtener una posicin
confiable del blanco, por lo tanto mientras ms
satlites se encuentren disponibles, ms exactos
sern los valores entregados por mencionado
mdulo.

3. A pesar que el mdulo GPS CSC3 se encuentre


recibiendo informacin correcta desde los
satlites, es necesario que el mvil se mantenga a
velocidad constante, a fin de que este dispositivo
pueda calcular de manera exacta la velocidad de
desplazamiento, en base a las seales que son
recibidas desde los satlites.
Velocmetro en 40 Km/h
4. Dentro de la etapa de desarrollo del proyecto, fue
muy importante la utilizacin del simulador de
GPS, el cual permiti validar el funcionamiento
del software de adquisicin de datos y del
procesamiento de la informacin, por cuanto se
pudo controlar y verificar la data enviada,
asegurando de esta forma el xito en la integracin REFERENCIAS.
del minicomputador Raspberry Pi con el mdulo
GPS CSC3. [1] Eben UPTON y Gareth HALFACREE, Raspberry
Pi User Guide, Editorial Wiley, Inglaterra,
5. Debido a que el minicomputador Raspberry Pi fue 2012.
desarrollado para ser utilizado con el Sistema
Operativo Linux y al existir programadores que [2] Wikipedia.com, Raspberry Pi,
promueven mediante aportes gratuitos el uso de http://es.wikipedia.org/wiki/Raspberry_Pi, Fecha
este sistema operativo, abre las puertas para que de Consulta: 16/abril/2013.
en un futuro cercano mediante el uso de este
dispositivo se encuentren soluciones a bajo costo [3] Fundacin Raspberry Pi Raspberry Pi, Quick Start
tanto para la industria como para el uso diario de Guide, http://www.raspberrypi.org/wp-
las personas. content/uploads/2012/12/quick-start-guide-
v1.1.pdf, Fecha de consulta: 19/abril/2013.
Recomendaciones.
[4] National Marine Electronics Association (NMEA),
1. Se debe tener precaucin al momento de Protocolo NMEA 0183, http://www.nmea.org/,
interconectar dispositivos a travs de los puertos 2001, Fecha de consulta: 22/abril/2013.
UART y GPIO del Minicomputador Raspberry,
[5] VINCOTECH, GPS Firmware GSC3-Bases
por cuanto estos puertos estn diseado para
Product- User Manual, VICONTECH, 2009.
recibir voltajes de 3.3 voltios, en caso de conectar
voltajes de mayor valor pueden afectar o daar al [6] Simon MONK, Programming the Raspberry Pi
minicomputador. Getting Started With Python, Editorial Mc Graw
Hill, New York, 2013
2. Se recomienda que la instalacin del mdulo
electrnico se lo realice en una ubicacin, la cual [7] Karl WRIGHT, Robert CRUSE y Paul KINGETT,
permita que la antena del GPS tenga una vista al The Raspberry Pi Educational Manual,
cielo, lo que facilitar la triangulacin. Adems, Inglaterra,2012.
se recomienda que su instalacin no se realice en
un lugar cerrado por metales, debido a que un sitio [8] FURUNO Electric Co. LTD., Operators Manual
as producira una jaula de Faraday, lo que GPS NAVIGATOR Model GP-37/G-32,
provocara el no funcionamiento del mdulo GPS. FURUNO, Nishinomiya City Japn, 2010.

3. Debido a que el Minicomputador Raspeberry Pi


est concebido para ejecutar tareas puntuales, se
recomienda no recargar a este dispositivo con
aplicaciones que se ejecuten al mismo tiempo, ya
que esto puede elevar la temperatura del
procesador y debido a que el Raspberry no cuenta
con un dispositivo disipador de calor, sto puede
daar de manera permanente e irresversible al
minicomputador.

4. Previo a la conexin de cualquier tipo de


hardware se debe verificar el datasheet de cada
uno de estos componentes, para evitar malas
conexiones que pueden daar a los componentes,
as como tambin se debe asegurar que las tierras
de cada uno de estos se encuentren
interconectadas para evitar diferenciales de
potencial que pueden de igual forma afectar a los
mismos.