XXX-X-XXXX-XXXX-X/XX/$XX.00 ©20XX IEEE Sistema de Avisos y Geolocalización de Alarmas Vehiculares Jonatan Martinelli Universidad Tecnológica Nacional Facultad Regional La Plata La Plata, Argentina jonatanmartinelli@hotmail.com Ulises Rigone Universidad Tecnológica Nacional Facultad Regional La Plata La Plata, Argentina ulisesrigone@gmail.com Ing. Hugo Mazzeo, Ing. José Rapallini Cátedra: Aplicaciones de Tiempo Real Universidad Tecnológica Nacional Facultad Regional La Plata La Plata, Argentina {hector.hugo.maz, josrap}@gmail.com Abstract—Para aumentar la seguridad y el rastreo de vehículos que cuentan con alarmas vehiculares complementarias a las computadoras propias del automóvil, se desarrolló un sistema microcontrolado que notifica al propietario, por medio de una señal enviada a un smartphone, el disparo de la alarma y la ubicación exacta del automóvil. Este proyecto se enmarca en un método didáctico unificado para modelar, generar código e implementar sistemas de tiempo real utilizando técnicas de codiseño hardware/software, el cual venimos utilizando desde hace varios años en la cátedra Aplicaciones de Tiempo Real de la carrera Ingeniería en Sistemas y que ha dado lugar a varios trabajos interesantes. Esta metodología -partiendo del planteo del problema, la extracción de especificaciones; la descripción del sistema, su simulación funcional; el particionamiento hardware/software y sus algoritmos, junto con procesos como la Cosíntesis y Cosimulación-, permite dar un marco de solución al problema propuesto. La existencia en el mercado de placas microcontroladas accesibles posibilita desarrollar sistemas embebidos sin necesidad de diseñar hardware costoso y complejo, generando soluciones simples y económicas para el ahorro de energía en distintos ámbitos. Keywords— seguridad, vehículos, microcontrolador, smartphone, GPS. I. INTRODUCCIÓN Las personas buscan seguridad y tranquilidad cuando se trata de sus automóviles, camionetas, motocicletas o cualquier otro vehículo. Algunos de estos traen instalado un sistema de alarma integrado a su computadora desarrollado por los fabricantes. En cambio, otros vehículos (por lo general los modelos “Pack I” o vulgarmente llamados “base”) no traen consigo dicho sistema, por lo que el propietario que desea proteger su vehículo se ve obligado a adquirir módulos de alarmas complementarios (incluso de otras marcas) e independientes a la computadora de su vehículo. La incertidumbre de las personas comienza cuando su vehículo no se encuentra a una distancia considerable para poder oír el sonido de la alarma. Algunos módulos de alarmas tienen la funcionalidad de activar un disparador cuando el motor intenta ser encendido, “inmovilizando” el vehículo para que no pueda circular. Pero no en todos los casos, de manera que el vehículo vulnerado puede ponerse en marcha y así perderse su rastro. II. CARACTERÍSTICAS DEL SISTEMA A. Obejtivos Se buscó desarrollar un sistema microcontrolado con la finalidad de: • notificar en tiempo real al propietario de un vehículo el instante en que la alarma se dispara, sin importar la distancia que exista entre ambos. • enviar una notificación de la ubicación exacta del vehículo cada 30 segundos. B. Estado del arte NAGSVA (Notification and Geolocalization System of Vehicular Alarms o “Sistema de Avisos y Geolocalización de Alarmas Vehiculares”) es un sistema de alarma pasivo con un diseño simple y seguro. Esto significa que no evita una situación anormal, pero sí es capaz de advertir de ella en tiempo real, brindando así mayor tranquilidad a las personas. Hoy en día podemos encontrar diversos tipos de alarmas para nuestros vehículos, los cuales se han adaptado con tecnología de punta. Entre ellos podemos mencionar las alarmas sencillas o básicas, las alarmas con GPS y las inmovilizadoras. Vale la pena hacer hincapié en las alarmas con GPS, ya que éstas entran en la gama de alarmas avanzadas y, aparte de las características de la alarma básica, ofrecen las coordenadas de GPS del vehículo. De modo que si éste ha sido hurtado permitirá su rápida localización ya que le enviará a su propietario el sitio donde se encuentra la unidad para que este lo busque o, como mayor recomendación, solicitar el apoyo policial para su recuperación. Es importante tener en cuenta que este tipo de dispositivo funciona con señal GSM y una tarjeta SIM, por lo que depende de una compañía telefónica suscriptora que ofrecerá el servicio, estando las coordenadas de localización disponibles las 24 horas, por lo que el dueño del coche podrá obtener su ubicación en el momento que lo desee. Esta podrá ser visualizada a través de un computador o un teléfono inteligente. III. DESARROLLO DEL SISTEMA El codiseño “es el proceso de diseño de un sistema que combina las perspectivas hardware y software desde los estados primarios, para aprovechar la flexibilidad del diseño y la localización eficiente de las funciones”. mailto:jonatanmartinelli@hotmail.com mailto:ulisesrigone@gmail.com A. Definición del problema a solucionar El sistema se basa en el siguiente principio de funcionamiento: los sensores de la alarma detectan el siniestro y hacen que se dispare la alarma. Ésta a su vez hace que comience a sonar la bocina del vehículo y es en ese momento cuando el microcontrolador detecta el disparo y envía una notificación al smartphone. En el sistema propuesto se pretende que sea capaz de notificar al usuario en tiempo real cuando se dispare la alarma y además envíe la localización del vehículo cada 30 segundos. B. Especificación Partiendo del problema inicial planteado, que es el desarrollo de un sistema de avisos en tiempo real, se determinaron los siguientes requerimientos: Funcionales: • El sistema debe enviar la notificación en tiempo real cuando ocurra un evento que dispare la alarma. • El sistema debe adquirir y notificar la ubicación exacta del vehículo. No funcionales: • El tiempo de respuesta ante un disparo de la alarma debe ser inferior a los 8 segundos. • Bajo consumo de energía eléctrica. • El sistema debe enviar las notificaciones al usuario con tecnología 2G. Restricción: enviar la ubicación del vehículo cada 30 segundos si la alarma está en estado de disparo. C. Desarrollo En base a los requerimientos definidos, comenzamos a modelar el sistema. En la Fig. 1 observamos el diagrama de bloques del sistema completo, formado por dos partes, la alarma y una placa microcontrolada (Arduino Uno) que generará la información necesaria para notificar al usuario el disparo de la misma. D. Simulación Se realizaron distintas simulaciones con el fin de analizar los resultados y obtener conclusiones a partir de ellos, tanto para validar los objetivos como el alcance del proyecto. De esta manera se fueron realizando sucesivas aproximaciones a la definición del alcance del prototipo. La herramienta utilizada para la lograrlo fue mediante la utilización de grafos de Petri. Utilizando una Red de Petri (Fig. 2) modelamos el comportamiento del sistema en su conjunto para el caso de activación/desactivación de la alarma en tiempo real. Fig. 1. Diagrama en bloques del sistema completo Fig. 2 Red de Petri especificada y ejecutada en HP-Sim E. Partición hardware/software Teniendo claros los requerimientos y una especificación formal del sistema, procedimos a definir la plataforma sobre la cual se realizó la implementación del prototipo (Fig. 3). 1) Hardware: • Arduino UNO. • Modulo Celular GSM GPRS Sim800l Sim800. • Modulo GPS Ublox Neo6 Antena Activa Alta Sensibilidad. • Smartphone genérico. 2) Software: • Sistema Operativo Android, IOS o Windows Phone con aplicación para mensajería del tipo SMS. • Desarrollo programación Arduino Uno con IDE Arduino 1.8.5. De la partición seleccionada puede notarse la ausencia de sensores ya que no son necesarios. Esto se debe a que la placa Arduino recibe una señal de activación cuando la alarma complementaria activa la bocina del vehículo. Además, se decidió limitar la tecnología de comunicación con el smartphone con el fin de obtener un prototipo económico y en el menor tiempo posible. En este primer prototipo se optó por utilizar el puerto serie. Fig. 3 Diagrama de Hardware/Software F. Cosíntesis Adaptación y mapeo de los modelos realizados en los elementos seleccionados para formar parte de la implementación. Arduino UNO: es una placa basada en el ATmega328. Tiene 20 pines digitales de entrada/salida (de las cuales 6 se pueden utilizar como salidas PWM), 6 entradas analógicas, un cristal de cuarzo de 16 MHz, una conexión USB, un conector de alimentación, una cabecera ICSP y un botón de reinicio. Modulo Celular GSM GPRS Sim800l Sim800: es un módulo GSM/GPRS para módulo celular cuatribanda Simcom SIM800L (Fig. 4). Se controla a través de comandos AT (GSM 07.07, 07.05 y SIMCOM mejorado) y puede usarse con Arduino o cualquier microcontrolador. Proporciona conectividad GSM/GPRS a nuestro proyecto de una forma muy sencilla. La placa está basada en el módulo GSM SIM800L de la firma SIMCOM. Este módulo proporciona una completa solución GSM/GPRS cuatribanda 850/900/1800/1900MHz con cobertura mundial, apto para todo tipo de aplicaciones: monitoreo y control remoto, robótica, vehículos autónomos, seguimiento de objetos o vehículos, etc. Fig. 4 Módulo GSM/GPRS cuatribanda Simcom SIM800L El módulo se configura y controla a través de una conexión serial (UART) y empleando comandos AT. Sus características principales son: • CuatriBanda 850/900/1800/1900MHz • GPRS Multi Slot class 8/10 • Control mediante comandos AT (GSM 07.07 ,07.05 y comandos AT SIMCOM). • Baud rate: 115200 Modulo GPS Ublox Neo6 Antena Activa Alta Sensibilidad: los módulos de la serie NEO-6 tienen el alto rendimiento del motor de posicionamiento de la serie U-blox 6 en el factor de forma NEO miniatura (Fig. 5). U-blox 6 ha sido diseñado con un bajo consumo de energía y bajos costos en la mente. La gestión inteligente de la energía es un gran avance para las aplicaciones de baja potencia. En estos receptores se combinan un alto nivel de capacidad de integración con opciones flexibles de conectividad en un pequeño encapsulado. Esto los hace perfectamente adecuados para productos finales de mercado masivo con el tamaño y requisitos estrictos de costos, siendo sus principales características: • Antena activa incorporada • Memoria EEPROM para guardar datos de configuración • Batería de backup para adquisición rápida • Baud rate: 9600 Fig. 5 Modulo GPS Ublox Neo6 Antena Activa Alta Sensibilidad Telefonía Móvil 2G: se conoce como telefonía móvil 2G a la segunda generación de telefonía móvil. La telefonía móvil 2G no es un estándar o un protocolo sino que es una forma de marcar el cambio de protocolos de telefonía móvil analógica a digital. Su desarrollo deriva de la necesidad de poder tener un mayor manejo de llamadas en prácticamente los mismos espectros de radiofrecuencia asignados a la telefonía móvil, para esto se introdujeron protocolos de telefonía digital que además de permitir más enlaces simultáneos en un mismo ancho de banda, permitían integrar otros servicios, que anteriormente eran independientes, en la misma señal, como es el caso del envío de mensajes de texto o página en un servicio denominado Short Message Service (SMS) y una mayor capacidad de envío de datos desde dispositivos de fax y módem. La tecnología 2G abarca varios protocolos distintos desarrollados por varias compañías e incompatibles entre sí, lo que limitaba el área de uso de los teléfonos móviles a las regiones con compañías que les dieran soporte. El protocolo utilizado en el prototipo será GSM (Global System for Mobile communications), el cual puede conectarse a través de su teléfono con su computador y enviar y recibir mensajes por correo electrónico, faxes, navegar por Internet, acceder con seguridad a la red informática de una compañía (red local/Intranet), así como utilizar otras funciones digitales de transmisión de datos, incluyendo el servicio de mensajes cortos (SMS) o mensajes de texto. GSM se considera, por su velocidad de transmisión y otras características, un estándar de segunda generación (2G). G. Cosimulación Se realizó una simulación en lenguaje C mediante la utilización de una placa de entrada/salida como forma de representación de las distintas señales de los sensores y alarmas, imprimiendo por pantalla mensajes correspondientes a las alarmas generadas en función de los sensores activados. H. Implementación Se construyó un prototipo en el cual se simula el disparo de la alarma por medio de un botón conectado a la Arduino UNO en el pin 9. TABLA 1 CONEXIONADO DE PINES ARDUINO UNO GPS GY-NEOM6V2 GSM SIM800L D0 (RX) TX D1 (TX) RX D2 (RX) TX D3 (TX) RX Para la programación del Arduino se utilizó el entorno de programación de Arduino (IDE) versión 1.8.5. Cabe mencionar que se usaron dos librerías fundamentales para la comunicación entre las placas: SoftwareSerial y TinyGPSPPlus. En la Fig. 6 se observa un extracto del código. Fig. 6 Código de la aplicación En la Fig. 7 puede observarse una fotografía del prototipo construido sobre el cual se realizaron los ensayos. Y en la Fig. 8 el esquema de conexionado eléctrico a la alarma del automóvil. I. Verificación Una vez llevada a cabo la verificación del prototipo integrando el hardware y el software, se pudo comprobar que: https://es.wikipedia.org/wiki/Servicio_de_mensajes_cortos https://es.wikipedia.org/wiki/Fax https://es.wikipedia.org/wiki/M%C3%B3dem https://es.wikipedia.org/wiki/Correo_electr%C3%B3nico https://es.wikipedia.org/wiki/Fax https://es.wikipedia.org/wiki/Internet https://es.wikipedia.org/wiki/Red_de_%C3%A1rea_local https://es.wikipedia.org/wiki/Intranet https://es.wikipedia.org/wiki/Servicio_de_mensajes_cortos https://es.wikipedia.org/wiki/Telefon%C3%ADa_m%C3%B3vil_2G https://es.wikipedia.org/wiki/Telefon%C3%ADa_m%C3%B3vil_2G • El GPS GY-NEOM6V2 al conectarse a los satélites comienza a transmitir al Arduino los datos de localización en forma correcta. • El módulo GSM SIM800L al conectarse a la red comienza a parpadear cada 5 segundos el led de dicho módulo quedando listo para el envío de un mensaje. • El botón de simulación de disparo de alarma verificó su disponibilidad con éxito. • Por medio del puerto COM1 se compiló y subió el código de forma exitosa. Se verificó también que al presionar el botón que simula el disparo de la alarma, se envía un mensaje de texto al número previamente definido en el código y el usuario es alertado de dicho disparo como también de la ubicación exacta del vehículo. Se pudo observar que si la alarma continúa disparada (presionando el botón) se envían mensajes cada 30 segundos. Fig. 7 Prototipo de prueba Fig. 8 Esquema de conexionado y alimentación eléctrica CONCLUSIONES Las distintas opciones de hardware libre de bajo costo que ofrece el mercado en la actualidad, combinado con la gran cantidad de herramientas software disponible, permiten desarrollar soluciones de codiseño hardware/software para una gran variedad de aplicaciones. Este simple prototipo sólo se ocupa de obtener la ubicación del vehículo y notificar al usuario del disparo de la alarma. Pero con simples modificaciones se podría extender su funcionalidad a través de hardware (agregando sensores para obtener más variables, o dispositivos para proveer una conexión inalámbrica 4G) o de software (visualización de datos en dispositivos móviles mediante una aplicación). Podemos por lo tanto concluir que el sistema mostrado a través de este prototipo es flexible, adaptable y además escalable, ya que el smartphone podría obtener otros datos de interés del estado del vehículo. REFERENCIAS [1] Burns A. y Wellings A., Sistemas de Tiempo Real y Lenguajes de Programación 3ra Edición, Noviembre 2000. [2] H. Mazzeo, J. Rapallini, A. Quijano, “Utilización de ADA y VHDL para el Codiseño Hardware Software de Sistemas de Tiempo Real, especificados mediante Redes de Petri”. I Congreso de Microelectrónica Aplicada. UnLAM, Buenos Aires, julio 2010. ISBN: 978-987-1635-14-6. [3] H. Mazzeo y J. Rapallini, “Método didáctico para la enseñanza del Codiseño Hardware Software en Sistemas de Tiempo Real”. VII Jornadas Argentinas de Robótica, UNICEN, Olavarría, noviembre 2012. ISBN: 978-950-658-316-3. [4] https://es.wikipedia.org/wiki/Sistema_global_para_las_comunicacion es_m%C3%B3viles [5] https://es.wikipedia.org/wiki/Telefon%C3%ADa_m%C3%B3vil_2G# Protocolos_de_telefon.C3.ADa_2G [6] https://forum.arduino.cc/ [7] https://programarfacil.com/blog/arduino-blog/resistencia-pull-up-y- pull-down/ [8] https://www.arduino.cc/en/Tutorial/DigitalPins [9] https://www.luisllamas.es/leer-un-pulsador-con-arduino/ [10] https://www.lacuevagsm.com/cobertura-movil-2/diferencia-entre-2g- 3g-y-4g/ [11] http://www.nubbeo.com.ar/modulo-celular-gsm-gprs-sim800l- sim800-antena-arduino-nubbeo-549560394xJM [12] http://www.nubbeo.com.ar/modulo-gps-ublox-neo6-con-antena- activa-alta-sensibilidad-549560330xJM [13] https://www.elecrow.com/download/SIM800%20Series_AT%20Com mand%20Manual_V1.09.pdf https://es.wikipedia.org/wiki/Sistema_global_para_las_comunicaciones_m%C3%B3viles https://es.wikipedia.org/wiki/Sistema_global_para_las_comunicaciones_m%C3%B3viles https://es.wikipedia.org/wiki/Telefon%C3%ADa_m%C3%B3vil_2G#Protocolos_de_telefon.C3.ADa_2G https://es.wikipedia.org/wiki/Telefon%C3%ADa_m%C3%B3vil_2G#Protocolos_de_telefon.C3.ADa_2G https://forum.arduino.cc/ https://programarfacil.com/blog/arduino-blog/resistencia-pull-up-y-pull-down/ https://programarfacil.com/blog/arduino-blog/resistencia-pull-up-y-pull-down/ https://www.arduino.cc/en/Tutorial/DigitalPins https://www.luisllamas.es/leer-un-pulsador-con-arduino/ https://www.lacuevagsm.com/cobertura-movil-2/diferencia-entre-2g-3g-y-4g/ https://www.lacuevagsm.com/cobertura-movil-2/diferencia-entre-2g-3g-y-4g/ http://www.nubbeo.com.ar/modulo-celular-gsm-gprs-sim800l-sim800-antena-arduino-nubbeo-549560394xJM http://www.nubbeo.com.ar/modulo-celular-gsm-gprs-sim800l-sim800-antena-arduino-nubbeo-549560394xJM http://www.nubbeo.com.ar/modulo-gps-ublox-neo6-con-antena-activa-alta-sensibilidad-549560330xJM http://www.nubbeo.com.ar/modulo-gps-ublox-neo6-con-antena-activa-alta-sensibilidad-549560330xJM https://www.elecrow.com/download/SIM800%20Series_AT%20Command%20Manual_V1.09.pdf https://www.elecrow.com/download/SIM800%20Series_AT%20Command%20Manual_V1.09.pdf