Sunteți pe pagina 1din 7

Sistema de Telemetría con conectividad WiFi de los datos obtenidos por

interfaz OBDII y ubicación vehicular (GPS)


Ing. Juan Antonio Borboa Griego, M.C. Fredy Alberto Hernández Aguirre, M.C. Jesús Manuel
Tarín Fontes, M.C. José Manuel Chávez, Dr. José Antonio Hoyo Montaño, Dra. Rosalía Gutiérrez
Urquídez
Tecnológico Nacional de México, Instituto Tecnológico de Hermosillo,
División de Estudios de Posgrado e Investigación, Departamento de Ingeniería Eléctrica y
Electrónica
Avenida Tecnológico S/N, C.P. 83170, Col. El Sahuaro; Hermosillo, Sonora, México,
Teléfono (6622) 2606500
Correos electrónicos: jaborboa92@gmail.com, faha.singapur@gmail.com,
jesustarin55@hotmail.com, jmch.ith@gmail.com, hoyo.jose@gmail.com, ro_gutierrez@ith.mx

Resumen: El objetivo del presente artículo es mostrar importantes para la redacción del artículo. En la
el desarrollo de un sistema de telemetría capaz de sección tres se muestran los pasos más relevantes
obtener parámetros de algunos autos soportados por la desarrollados para la integración de una plataforma
interfaz OBD-II (On Board Diagnostic), utilizando para el envío de datos obtenidos por interfaz OBDII y
como herramienta de comunicación inalámbrica un posicionamiento global a través de un módulo de
módulo Wifi (Wireless Fidelity) para la transmisión de comunicaciones inalámbricas con tecnología WiFi. En
datos, así como el uso de la tecnología GPS (Global la sección cuatro se mencionan los resultados
Positioning System) para conocer la ubicación del obtenidos a través de la integración de los módulos
vehículo. WiFi, OBDII y GPS para el envío de datos. En la
sección cinco se describen las conclusiones de los
La metodología utilizada para poder desarrollar el trabajos realizados así como los trabajos futuros que se
proyecto fue primero entender y desarrollar un pretenden desarrollar tomando como base la
programa utilizando la plataforma de Arduino que plataforma propuesta, y por último, las referencias
pudiera enviar datos vía WIFI. Después, utilizando un bibliográficas relacionadas con la investigación se
módulo bluetooth, se obtuvieron datos del OBD-II los presentan en la sección seis.
cuales fueron temperatura, Velocidad del vehículo y
revoluciones por minuto. Por último y hasta el La manera en que se desarrollaron cada uno de los
momento se desarrolló un programa para la utilización programas y configuraciones de los módulos fueron
del módulo GPS. para simplificar su uso, dividiéndolos primero y
haciéndolos funcionar individualmente para al final
Palabras clave: OBD-II, WiFi, GPS, comunicación, y llegar a la integración de los módulos. La realización
transmisión de datos. de la programación se llevó a cabo en las instalaciones
del Instituto Tecnológico de Hermosillo (ITH).
1. Introducción
2. Trabajos relacionados (Antecedentes y marco
El siguiente artículo trata acerca de los resultados teórico)
obtenidos del desarrollo de un sistema de
comunicaciones inalámbricas a través de la tecnología Básicamente existen seis componentes fundamentales
WiFi. Los datos enviados son los parámetros obtenidos que se deben conocer para el desarrollo e integración
de la computadora de un automóvil por medio de un de la plataforma de comunicaciones inalámbricas:
módulo OBDII, así como la ubicación del mismo a
través de un módulo GPS. OBD-II. Una de las formas que se ha estado
estudiando y mejorando para el monitoreo de flotillas
En los siguientes apartados se muestran los avances vehiculares es el uso de la tecnología OBD-II (On
obtenidos en la investigación: Board Diagnostics" (Diagnóstico a bordo) [1].

En la sección dos se describen los trabajos más En los últimos años los fabricantes de autos han
importantes relacionados con la presente optado por estandarizar el sistema diagnóstico a bordo
investigación, así como algunos fundamentos teóricos (OBD), recopilándose toda la información necesaria
como el control de emisiones, codificación de las GSM/GPRS. Este módulo permite la transmisión de
averías de los componentes del sistema, información datos mientras el auto se encuentra transitando sin
del vehículo, entre los más importantes [1]. conexión Wifi.
GSM/GPRS es una tecnología que soporta
Hay tres protocolos básicos de OBD-II en uso, cada aplicaciones en red para dispositivos a través del
uno con pequeñas variaciones en el modelo de protocolo WAP (Wireless Application Protocol),
comunicación entre el equipo de diagnóstico a bordo y mensajería instantánea, SMS, MMS y servicios peer to
el escáner. Aunque ha habido algunos cambios de peer utilizando el protocolo IP. Para obtener estos
fabricante entre protocolos en los últimos años, como servicios es necesario realizar un pago que se basa en
regla general, los vehículos Chrysler, los vehículos megabytes por transferencia [5]. El módulo propuesto
europeos y asiáticos utilizan el protocolo ISO 9141. para la comunicación GSM/GPRS en una segunda
Los vehículos GM utilizan el protocolo SAE J1850 etapa es el SIM800L.
VPW (modulación de ancho de pulso variable) y los
vehículos Ford utilizan patrones de comunicación SAE WiFi. Es una tecnología que permite que una gran
J1850 PWM (modulación de ancho de pulso) [2]. variedad de equipos informáticos puedan
interconectarse sin necesidad de utilizar cables. Una de
Bluetooth. En el desarrollo de este proyecto, este las principales ventajas de Wi-Fi es que utiliza el
módulo es utilizado como intermediario entre el mismo protocolo que internet (protocolo TCP/IP) [6].
OBDII y el controlador. La tecnología Bluetooth
permite la comunicación inalámbrica entre varios El módulo WiFi utilizado es un Inventek ISM433362
dispositivos hasta un máximo de 8 como se muestra en M3G, fácil de configurar a través de una serie de pasos
la figura 1. Este tipo de opción de utilización para poder ser usado como TCP server, y cuando algún
Bluetooth se llama pico net, y es la que se utiliza para cliente se conecte, este comenzará a recibir los datos
la comunicación de los datos obtenidos por OBDII [3]. que serán enviados desde el módulo.

Las características más importantes del módulo son las


siguientes:

 Protocolo 802.11 b/g/n.


 Comunicación TCP/IP.
 Configurable a través de comandos AT.
Figura 1. Estructura para una comunicación inalámbrica con
 Conectividad UART, SPI hasta 25 MHz.
tecnología Bluetooth.
 Bajo consumo (3.3V de alimentación).
Arduino. Es una plataforma de código abierto (open
source) muy fácil de utilizar en un inicio, ya que GPS. Un sistema de posicionamiento global es una
cuenta con ayuda de bastantes desarrolladores de todo tecnología creada para la navegación global que utiliza
el mundo para seguir mejorando y facilitando la los satélites para conocer su posición en el mundo con
intervención de diferentes usuarios [4]. unos niveles de error que puede ser desde centímetros
a metros, dependiendo de cómo se encuentre
La plataforma Arduino utilizada es un modelo nano conectado el módulo [7].
con las siguientes características:
Características del módulo GPS utilizado:
 14 puertos digitales de entrada/salida.
 8 puertos análogos.  Voltaje de alimentación: 3.0 a 5.0 volts.
 Una memoria de 16 KB, 1 KB de SRAM y 512  Voltaje en pines de comunicación: 3.3 volts.
bytes de EPROM.  Interfaz: UART, comunicación asíncrona.
 El Clock-Speed es 16 MHz.
 Compatible con la mayoría de librerías para GPS
 Voltaje de entrada en el rango de 7 a 12 voltios.
(protocolo NMEA).
 Entrega una corriente de 40 mA.
 Modelo: GY-GPS6MV2
La plataforma Arduino se utiliza para configurar el
módulo Bluetooth en modo maestro, ya que el módulo Servidor de base de datos. Es un software que se está
OBDII está configurado en modo esclavo. ejecutando y puede atender las peticiones de un cliente
y devolverle una respuesta si lo requiere. Dicho
servidor permite el almacenamiento, modificación y (Modo esclavo) hacia el Bluetooth del Arduino (Modo
extracción de información, y dependiendo de cómo maestro).
haya sido su programación se puede modificar parte de
Una vez se cumplen los pasos del Bluetooth del
la base de datos como borrar, modificar, consultas,
Arduino y se encuentre conectado con el Bluetooth del
analizar datos, etc.[8] OBDII se ejecutan los siguientes pasos para configurar
el OBDII utilizando los comandos que se muestran en
la Tabla 1:
3. Desarrollo
1. Reiniciar el módulo.
Se realizaron las debidas investigaciones para el 2. Establecer las respuestas completas del OBDII.
funcionamiento de todos los módulos que hasta el 3. Agregar espacios entre las respuestas.
momento se tienen funcionando. El sistema de 4. Permite datos de más de 7 bytes.
telemetría propuesto se divide en las siguientes etapas: 5. Establecer como modo automático la selección de
protocolo.
1. Funcionamiento de cada uno de los módulos por
6. Apagar la repetición de comandos.
separado.
2. Integrar todos los módulos.
Tabla 1. Comandos para configurar el módulo OBDII.
La etapa de procesamiento central de la información Comandos OBDII Datos
consiste en un Arduino nano, aunque las pruebas ATZ Reiniciar el módulo.
iniciales se desarrollaron en la plataforma Arduino ATH1 Visualizar encabezados.
Uno. En la figura 2 se muestra el Arduino nano, con 13 ATS1 Habilitar espacios en respuestas.
pines de entradas/salidas digitales disponibles, de los ATAL Permitir datos de más de 7 bytes.
cuales se requieren 8, distribuidos de la siguiente ATSP0 Modo automático la selección de
manera: módulo Wifi (pines 2 y 3), GSM/GPRS (pines protocolo.
4 y 5), GPS (pines 6 y 7) y módulo Bluetooth (pines 8 ATE0 Deshabilitar la repetición de
y 9). comandos.

Una vez inicializado el módulo, está preparado para


obtener datos del automóvil usando los comandos
correspondientes, dependiendo que parámetros se
requiere leer.

En la Tabla 2 se muestran los comandos enviados al


Figura 2. Plataforma Arduino nano. OBDII y los datos de entrega correspondientes.

La etapa de obtención de datos consiste en los Tabla 2. Comandos para obtener parámetros del vehículo por
siguientes módulos: OBDII.

3.1 Módulo OBDII Comandos OBDII Datos


0105 Temperatura.
Este apartado trata acerca de la configuración del
010D Velocidad del vehículo.
módulo Bluetooth del OBDII de algún automóvil (en
este caso un Jetta, Volkswagen, 2012). 010C Revoluciones por
minuto.
En el siguiente diagrama a bloques se presenta los
pasos a seguir para el envío de datos:
3.2 Bluetooth

Los pasos para habilitar la opción del módulo


Bluetooth del Arduino para poder conectarse con el
Bluetooth del OBDII serían los siguientes:
En el caso del OBDII se necesita un medio para enviar
datos, por esta razón se utiliza un módulo OBDII con
1. Elegir el rol de maestro en el módulo.
Bluetooth integrado. El módulo Arduino nano codifica
2. Elegir el modo de apareamiento que sea con
los datos que se envían por Bluetooth del OBDII
cualquiera.
3. Declarar la contraseña.
4. Eliminar cualquier paridad anterior.
5. Inicializar el módulo para que habilite la opción de
buscar otros módulos Bluetooth.
6. Establecer la dirección del módulo Bluetooth del
OBDII (1D, A5, 1554C2).

En la Tabla 3 se muestran los comandos enviados al


módulo.

Primeramente se tiene que configurar el módulo Wi-fi


conectándolo a una red Wi-fi, y posteriormente se
Tabla 3. Comandos enviados al módulo OBDII. ejecutan los siguientes pasos para la configuración del
módulo:
Comandos para configurar Datos
OBDII 1. Elegir el paquete que se va a usar.
AT+ROLE=1 Modo maestro. 2. Configurar el módulo Wi-fi como TCP server.
AT+CMODE=1 Conectarse con 3. Configurar el número de puerto a utilizar.
cualquier dirección. 4. Se elimina cualquier cliente que se pudo haber
AT+PSWD=### Declarar una conectado antes para no tener errores.
contraseña. 5. Iniciar el server.
AT+RMAAD Eliminar paridad 6. Definir el tiempo máximo de espera para la
anterior. escritura.
AT+INIT Inicializar el módulo 7. Definir la longitud del dato a enviar.
AT+LINK=1D, A5, Para conectarse al 8. Enviar el dato.
1554C2 módulo OBDII
Después de enviar el dato correctamente se deberán
Una vez termine los pasos se procede salir de los repetir los dos últimos pasos para que el dato sea
comandos AT para el Bluetooth del Arduino y trabajar enviado cada cierto tiempo.
completamente en recibir los datos enviados del
Bluetooth del OBDII. En la Figura 3 se muestra el 3.4 Módulo GPS
modulo Bluetooth utilizado (HC-05).
El modulo NEO 6M en la plataforma Arduino cuenta
con una librería llamada TinyGPS que codifica los
valores que el GPS siempre está enviando desde que se
conecta a su fuente de alimentación. El protocolo
usado para el modulo GPS se llama NMEA (National
Marine Electronics Association). En la Tabla 4 se
puede observar los valores recibidos no codificados
del módulo.

Tabla 4. Valores recibidos del módulo GPS.


Figura 3. Módulo Bluetooth (HC-05)

3.3 Módulo Wifi

El módulo WiFi utilizado es el Inventek ISM433362


M3G para poder enviar datos hacia un cliente. En el
siguiente diagrama a bloques se presenta los pasos a
seguir para el envío de datos:
Una vez instalada la librería de TinyGPS en la
plataforma Arduino es cuestión de indicar el comando
correcto para obtener los valores deseados:

 Comando para obtener la latitud:


flat == TinyGPS::GPS_INVALID_F_ANGLE ?
0.0 : flat, 6

 Comando para obtener la longitud:


flon == TinyGPS::GPS_INVALID_F_ANGLE ?
0.0 : flon, 6

Obviamente existen otros comandos, por ejemplo


como reconocer la conexión del GPS con los satélites,
número de datos enviados, etc., pero para esta
aplicación es suficiente con la latitud y longitud. En la
figura 4 se muestra el módulo GPS utilizado.

Figura 6. Comunicación con el módulo OBDII.

Como se puede observar en los resultados, hasta el


momento se realizaron las pruebas para obtener
temperatura, velocidad y RPM.
4.2 Módulo Bluetooth
En la figura 7 se puede observar la conexión del
Figura 4. Módulo GPS. Arduino – Bluetooth y los comandos para configurar
el módulo como maestro y comenzar a buscar los
3.5. Servidor y análisis de datos distintos módulos Bluetooth que se pueden conectar a
él. En la tabla 3 se pueden observar los comandos.
Finalmente, la etapa de análisis de los datos, consiste
en la recepción de datos a un servidor, ver figura 5,
esta es una plataforma que ayuda a visualizar de una
forma ordenada y con un formato agradable a la vista
del usuario los datos que se reciban de los módulos
Wifi y GPRS. La configuración para conexión con el
servidor está considerada para la siguiente etapa.

Figura 5. Servidor para la recepción y análisis de datos. Figura 7. Pruebas con el módulo Bluetooth.

4.3 Módulo WiFi


4. Resultados
En la figura 8 se puede observar la conexión del
4.1 Módulo OBDII módulo WiFi Inventek al controlador Arduino. En esta
parte de la utilización del módulo, se usó un
En la figura 6 se puede observar primeramente la
potenciómetro para medir voltaje de entrada a un pin
inicialización del módulo OBDII descritos en la Tabla
del Arduino para después ser enviado a un cliente que
1, y una vez inicializado comienza mandar los
se conecta al módulo Wifi.
comandos respectivos para la obtención de los datos
planteados en la Tabla 2.
Figura 11. Datos codificados del GPS.

5. Conclusiones

Hasta este momento se han logrado hacer funcionar


con éxito los módulos bluetooth, GPS, WIFI y OBD2,
aún falta integrar los módulos para el envío de datos
por WIFI hacia un servidor de base datos , que de
momento es el siguiente paso para después concluir
con el módulo GSM/GPRS y también enviar datos a
través de él.

En trabajos futuros se podría mejorar la visualización


de la base de datos y crear una misma que pueda
Figura 8. Pruebas con el módulo WiFi.
analizar los resultados.

4.4 Módulo GPS


6. Referencias
En la figura 9 se puede observar los datos sin codificar
que se reciben al instante en el que el módulo se [1] M. D. López Prado, “No Title,” Tesis, 2006.
conecta a la fuente de alimentación. [Online]. Available:
http://www.uteq.edu.mx/tesis/administracion/0
100000060.pdf.
[2] M. Q. W. Edmundo and J. E. Abril Guerrero,
“Software y Hardware para monitorear
parámetros de movilidad y consumo de
combustible en vehículos OBD2.,” 2012.
Figura 9. Datos enviados por el módulo GPS. [3] U. Rswlpl, D. Exw, W. K. H. Vwloo, Q. Pruh,
Q. D. S. Zrun, W. K. H. Urxwh, U. Sdfnhw,
En la figura 10 se reciben los datos una vez que el and Z. D. V Iorrghg, “A Bluetooth Scatternet
módulo se conecta a los satélites. Route Optimization Protocol,” vol. 2, pp. 142–
148, 2012.
[4] L. T. Ojeda, “¿Qué es arduino?,” Articulo.
[Online]. Available: http://arduino.cl/que-es-
arduino/.
[5] X. He, J. Montillet, R. Fernandes, M. Bos, and
K. Yu, “Review of current GPS methodologies
Figura 10. Datos del GPS conectado al satélite.
for producing accurate time series and their
error sources,” J. Geodyn., vol. 106, pp. 12–
29, 2017.
Por último en la figura 11 se puede observar los datos [6] J. A. C. Falcón, Wi-Fi lo que se necesita
ya codificados y seleccionando los datos que más conocer. Alfaomega, 2010.
interesan que son latitud y longitud. [7] “GPS Protocol Reference Manual.”
[8] M. U. Zhou, Y. Tang, Z. Tian, and X. Geng,
“Semi-Supervised Learning for Indoor Hybrid
Fingerprint Database Calibration With Low
Effort,” vol. 5, 2017.

S-ar putea să vă placă și