SISTEMA DE MONITOREO GPS PARA LOS VEHÍCULOS DE LA ESCUELA DE CAPACITACIÓN PARA CONDUCTORES PROFESIONALES DE PÍLLARO Joseph G. Hernández*; Elizabeth P. Ayala†

* Universidad Técnica de Ambato, Facultad de Ingeniería en Sistemas, Electrónica e Industrial Ambato, Ecuador, e-mail: [email protected] † Universidad Técnica de Ambato, Facultad de Ingeniería en Sistemas, Electrónica e Industrial Ambato, Ecuador, e-mail: [email protected]

Resumen: Esta investigación presenta el diseño de un sistema de monitoreo GPS con la finalidad de rastrear el posicionamiento y registrar las ubicaciones de los vehículos de la escuela de conducción durante las prácticas de los estudiantes. El prototipo consta de un módulo GPS que permite la geolocalización del vehículo y de un módulo GPRS que permite conectarse a la red móvil para enviar la información a un servidor web implementado en la distribución Raspbian GNU/Linux, esta información es procesada y almacenada en una base de datos para ser visualizada a través de una interfaz web. El sistema además permite rastrear inmediatamente la ubicación del vehículo, cuando el botón de emergencia del dispositivo ha sido activado, permitiendo al controlador de la escuela brindar la asistencia médica y mecánica necesaria, asegurando una educación de calidad y seguridad a los estudiantes. Palabras clave: GPS, GPRS, Geolocalización, Servidor Web, Raspbian. Abstract: This research presents the design of a GPS monitoring system in order to track the positioning and record the locations of the driving school vehicles during the student’s practices. The prototype consists of a GPS module that allows the geolocation of the vehicle and a GPRS module that allows to connect to the mobile network for sending the vehicle data to a web server implemented in the Raspbian GNU / Linux distribution, this information is processed and stored in a database to be visualized through a web interface. The system allows to immediately track the location of the vehicle, when the emergency button of the device has been activated, allowing the school's controller to provide the necessary medical and mechanical assistance, in that way we establish high quality parameters of education and safety for students. Keywords: GPS, GPRS, Geolocation, Web Server, Raspbian.

Profesionales. [2]

I. INTRODUCCIÓN En el presente artículo se desarrolla un prototipo de sistema En el Ecuador se registra que los accidentes de tránsito son de monitoreo basado en la tecnología GPS, el cual permite la sexta causa de muerte en el país, según estadísticas monitorear el seguimiento de los vehículos durante las presentadas por el INEC, del total de los accidentes de tránsito prácticas de conducción para dar cumplimiento con el registrados en el año 2016, el 51,9% se debe a la impericia e Reglamento de la ANT. imprudencia del conductor, evidenciándose que existe la Por otro lado, las ventajas de contar con un sistema de necesidad de mejorar la formación de los nuevos conductores monitoreo GPS destacan: profesionales. [1] • Notificación, rastreo y localización inmediata cuando La ANT con el objetivo de mejorar la educación de los el estudiante sufre algún percance durante las prácticas conductores, determina que las escuelas deben realizar un de conducción. seguimiento de las prácticas de conducción de los alumnos, con la finalidad de asegurar el cumplimiento del programa de • Control de puertas y bloqueo de motor a distancia. estudios llevada a cabo por los instructores, como lo determina • Control logístico de los tiempos asignados a los el Reglamento de Escuelas de Capacitación para Conductores

El artículo fue recibido en julio de 2019; Este paper fue realizado en base al proyecto de para Conductores Profesionales de Píllaro”, de la Facultad de Ingeniería en Sistemas, titulación “Sistema de monitoreo GPS para los vehículos de la Escuela de Capacitación Electrónica e Industrial, de la Universidad Técnica de Ambato

instructores y estudiantes. activación o desactivación de mensajería enviada por whatsapp. [5] En resumen, la implementación de este sistema beneficia a los estudiantes y a la institución, mejorando la calidad de la “Diseño de un sistema de localización, medición de formación de los nuevos conductores profesionales. velocidad y aceleración de un vehículo para determinar rutas alternas, utilizando tecnologías GPS y GPRS” ubicado en los repositorios de la “Escuela Superior Politécnica de II. ESTUDIO DEL ARTE Chimborazo” presentado por el señor Geovanni Daniel Existen trabajos investigativos muy interesantes en el Cherrez en el año 2017, se desarrolla un Sistema de Monitoreo monitoreo GPS de vehículos, entre los más destacables se para un automóvil Hyundai i10. El sistema se desarrolló por tienen: bloques de: entrada, procesamiento, almacenamiento y salida. En el primer bloque se recolectaron datos mediante el módulo En la International Journal of Advanced Computer Science GPS/GSM/GPRS SIM 808 y el sensor de efecto hall W130- and Applications desarrollado en la ciudad de Italia en el años 515, el segundo bloque procesó los datos obtenidos a través 2015, Saed Tarapiah y Shadi Atalla presentan el artículo del Arduino Uno siendo esta la placa principal, los dos “Public Transportation Management System base on Arduinos Nano fueron programados para realizar cálculos GPS/WiFi and Open Street ” en el cual se realiza el matemáticos y enviarlos a la placa principal, además en este diseño e implementación de un sistema de gestión de bloque se envía un sms con la posición en tiempo real obtenida transporte público basado en GPS/WiFI y Open Street Maps; por GPS, mediante la tecnología GPRS; en el tercer bloque se con lo cual se logró construir un marco abierto que se enfoque creó una base de datos del tráfico existente en la ciudad en en el tráfico y datos vehiculares para mejorar la eficiencia del horas pico que es visualizada en el cuarto bloque a través de Sistema de Gestión de Transporte Público (PTMS) en términos marcadores que fueron ubicados según la información de análisis y planificación. [3] obtenida, además en el cuarto bloque se visualizaron los datos Edgar Patricio Rodríguez Martínez desarrolló el “Sistema obtenidos en el primer bloque que fueron transmitidos por el de localización automática de vehículos mediante GPS, para módulo bluetooth HC-05. La aplicación fue programada para determinar la ubicación de las volquetas del GAD Municipal mostrar una ruta alterna que evite el tráfico que se observa en de Patate” en el año 2014, investigación localizada en los la aplicación. [6] repositorios de la “Universidad Técnica de Ambato”, en el cual utiliza un dispositivo GPS ya existente en el mercado llamado III. METODOLOGÍA GPS TRACKER 103A, el cual proporciona la ubicación de las volquetas a través de mensajes de texto que remiten la posición El prototipo a diseñarse se basa en el sistema de monitoreo exacta del objeto a su central, la información es recibida en la AVL (Localización Vehicular Automatizada), ya que el estación de monitoreo, en la cual se diseñó una placa para la sistema cuenta con las características que permiten solucionar recepción de datos celular la misma que proporciona una las necesidades de monitoreo de vehículos, pulsador de pánico, interfaz con el computador mediante el uso del software PC control de puertas y bloqueo de motor a distancia que requiere Suite, desde la que se puede enviar los comandos para la la Escuela de Conducción. El funcionamiento general del programación del dispositivo GPS, los datos recibidos se sistema de monitoreo se visualiza en la Figura 1. [7] exportan a un archivo fuente .csv, el cual puede ser leído desde A. Funcionamiento General del Sistema un libro de Excel en donde se tiene un ordenamiento, clasificación y almacenamiento de los datos para su posterior uso. Para poder ubicar los datos de latitud y longitud recibidos, se utilizó el software Google Earth en el que se cargó mapas digitales del Cantón, logrando de esta manera determinar el lugar en el que se encuentra la volqueta de la institución mencionada. [4] En los repositorios de la “Escuela Superior Politécnica de Chimborazo” se halla el proyecto de pregrado “Diseño e implementación de un sistema electrónico para el control, seguridad y rastreo vehicular utilizando un ordenador de placa reducida Raspberry”, realizado por Holger Vinicio Andrade Soria en el año 2017, utilizando módulos de sistema de posicionamiento global (GPS), sistema global de Fig. 1: Sistema de monitoreo GPS. comunicaciones móviles (GSM) y un módem; y en la parte del software utilizó por medio del cual realizó el 1) Sistema GPS en el Vehículo seguimiento y ubicación del auto en tiempo real, programando las configuraciones necesarias para la implementación del El sistema GPS instalado en el vehículo recibe 2 tipos de prototipo y bloqueo del sistema eléctrico, por medio de la datos que provienen del botón de emergencia y del servidor web. Datos del botón de emergencia B. Diseño y programación del sistema de monitoreo Si el botón de emergencia es activado, el sistema del vehículo se encarga de receptar una muestra de latitud, En la Figura 2 se describen las diferentes etapas para la longitud y velocidad, por medio de un receptor GPS y envía adquisición y acondicionamiento de señal, procesamiento de un mensaje de texto con un link en con los datos señales, almacenamiento de los datos recolectados y de latitud y longitud recogidos, así como la velocidad del auto; visualización de la información. por medio de la red GSM hacia un teléfono celular. Además, envía una notificación al servidor web con la ubicación del vehículo. la cual se podrá visualizar en el mapa de la página web. Datos del servidor web El sistema del vehículo recibe comandos mediante mensajes de texto enviados por el servidor web, los cuales son los siguientes: “rastrear”, “abrir”, “cerrar”, “bloquear” y “desbloquear”, cada comando ejecuta una acción en el sistema que se describe a continuación: ✓ Rastrear: Envía la ubicación del vehículo al servidor. ✓ Abrir – Cerrar: Realiza la apertura y cierre de puertas. Fig. 2: Diseño del Sistema de Monitoreo GPS. ✓ Bloquear y desbloquear: Bloquea el encendido del motor. Adquisición y acondicionamiento de señal 2) Sistema de Monitoreo Web Para el proceso de adquisición y acondicionamiento de Consiste en la implementación del servidor web ubicado en señal, se realiza un análisis técnico comparativo de los la Escuela de Conducción, que visualiza la posición del auto, diferentes módulos que existen en el mercado en base a los controla las acciones del sistema del automóvil y lleva un requerimientos del dispositivo, posteriormente se elige la registro detallado de las ubicaciones de los vehículos durante mejor opción para el sistema de monitoreo, tomando como las prácticas de conducción de los estudiantes de la escuela. referencia la utilización de productos de bajo costo que sean de hardware libre. Servidor Web

Se encarga de almacenar todos los datos que se envían desde Módulo GPS el sistema instalado en el vehículo, para procesarlos y El módulo GPS se encarga de recibir las coordenadas exponerlos en una página web que esté disponible en internet. geográficas de latitud y longitud, y enviarlas al Arduino para procesarlas y realizar las acciones correspondientes. El servidor web envía el comando “rastrear” cada cierto intervalo de tiempo para monitorear al vehículo durante las Se buscó en el mercado módulos receptores que trabajen prácticas de conducción y a la vez llevar un historial con la con el sistema de posicionamiento GPS; los requerimientos información recolectada. para este módulo es su tamaño, voltaje de alimentación, costo y temperatura de trabajo. En la Tabla I se representan los Además, el servidor debe poseer una IP pública fija para diversos módulos GPS en el mercado [8], [9], [10]. colocarlo en internet. Interfaz Web Tabla I Análisis de los módulos GPS GY- Adafruit GPS EM-506 GPS Permite la visualización de los datos de latitud y longitud enviados por el sistema del vehículo al servidor y enviar los Módulo NEO6MV2 Breakout comandos de “rastrear”, “abrir”, “cerrar”, “bloquear” y “desbloquear” al sistema del auto. En la interfaz web también se puede visualizar la Especificaciones información de la placa, modelo y clase de los vehículos de la Dimensiones: 25mm x 25.5mm x 30mm x escuela de conducción, así como el registro de horarios e 35mm 35mm 30mm instructores designados para las prácticas de conducción de los estudiantes. Tensión de 2.7 – 3.3 V 3.0-5.5 V 4.5 – 6.5 V operación: Además, la interfaz permite visualizar los datos del historial recolectados por el servidor web y mostrarlos de una manera Chip: NEO 6m MTK3339 SiRF Star IV interactiva al controlador.

Baud Rate: 9600 9600 9600 Comunicación: Serial Serial Serial UART

Sensibilidad de -161dBm -165dBm -163dBm Red: GSM/GPRS GSM/GPRS GSM/GPRS tracking: GPS Interno: No Sí No Arranque en frio: 27s 34s 35s

Costo: $35 $50 $20 Canales y 50 a 5Hz 66 a 10Hz --- frecuencia:

Características UART UART UART Los 3 módulos presentan las mismas características, pero al adicionales: NMEA NMEA NMEA momento de trabajar se seleccionó el módulo Sim 900 Shield, USB USB ya que este módulo permite trabajar con la misma fuente de SPI SPI alimentación del prototipo debido a que posee un voltaje de entrada de 9-20V con un consumo máximo de 2A, además este Costo: $15 $40 $50 módulo cuenta con una antena de mayor tamaño que permite tener una mejor cobertura en el vehículo y su costo es más bajo en comparación al Sim808. Este módulo posee el chip SIM900 Los tres módulos tienen características similares, pero el que es el más comercializado y tiene todas las funciones sistema al tener varios componentes necesita que cada módulo estándar de un celular que opera en las bandas de GSM y consuma el mínimo voltaje posible, por lo tanto, se escogió el GPRS. Las bandas de frecuencias que opera este módulo son módulo GY-NEO6MV2 ya que trabaja a un voltaje mínimo de de 850MHz, 900MHz, 1800MHz y 1900MHz, por lo tanto, es 2.7V, además sus dimensiones y costo son mejores en compatible con cualquier operadora de telefonía móvil del comparación a los otros módulos país.

Además, el servidor web también necesita un módulo para Módulo GSM/GPRS comunicarse por comandos a través de mensajes de texto con Se encarga de enviar y recibir SMS para controlar las el sistema de rastreo instalado en el vehículo, para lo cual se acciones del sistema, además este módulo debe poseer la va a trabajar con el módulo shield Sim800L, debido a sus capacidad de conectarse a Internet. Con estas características se reducidas dimensiones, facilita el acople del módulo al buscó en el mercado módulos que trabajen en GSM y GPRS. servidor. Estos módulos son compatibles con las placas Arduino y tienen una comunicación serial para interactuar con ellas. A Procesamiento de señales continuación, en la Tabla II se muestra una comparación de Esta etapa realiza todos los procesos del sistema en el módulos GSM/GPRS existentes en el mercado [11], [12], [13]. automóvil, se encarga de recibir los mensajes de texto y Tabla II: Análisis de los módulos GSM/GPRS compararlos para realizar las diversas acciones del sistema, Sim900 Shield Sim808 Shield Sim 800L obtener las coordenadas geográficas de localización del Shield Módulo vehículo, bloquear el motor, abrir y cerrar puertas, notificar cuando el pulsador de emergencia sea activado, y enviar datos a través de mensajes de textos o accediendo a la red GPRS por medio de internet. El módulo procesador de datos debe estar Especificaciones conformado por un microcontrolador que gestione todas estas acciones. Chip Sim: SIM900 SIM808 SIM800L Se propone el uso de placas de desarrollo para realizar el proyecto, debido a la gran facilidad que existe para trabajar Banda de 850/900 850/900 850/900 con las mismas, además de tener los diseños y la programación operación: de nuestros circuitos como OPEN SOURCE para compartirlos 1800/1900 1800/1900 1800/1900 sin ningún problema. En la Tabla III se describen algunas MHz MHz MHz tarjetas de desarrollo con su respectiva empresa que la fábrica Dimensiones: 5x4x0,5cm 6,5x5,4x1,3cm 2,5x2,5x0,5cm [14], [15], [16], [17], [18].

Tabla III Tarjetas de Desarrollo y Empresas. Voltaje de 9-20V DC 9-12V DC 3.4-4.4V DC entrada(máx): Arduino Netduino Raspber Tessel FPGA ry Pi Voltaje de 12V DC 12V DC 4V DC trabajo: Placa: Arduino Netduino Raspberr Tessel 2 Arty A7-

Consumo de 2A 2A 2A Uno 3 y Pi3 B+ 100T corriente(máx): Micro- Atmega Cortex- Broadco Mediatek ------tiene, hacen que Arduino sea el entorno de desarrollo escogido contro 328 M4 m Cortex MT7620 para el sistema GPS en el vehículo. Además, la comunidad de lador: -A53 n desarrolladores que tiene facilita la programación y desarrollo del sistema. Voltaj 6-20V 7.5-12V 5V 2-5.5 V 7-15V e de f. DC Almacenamiento Voltaj 5V, 3.3V 5v, 3.3V 5V, 3.3V 5V 5V, 3.3V, Para el almacenamiento de los datos que envía el sistema de monitoreo, se cuenta con un servidor el cual va a guardar los e de 1.8V, datos de la ubicación del vehículo y almacena la página web salida: 1.35V, de control y visualización del sistema. 1.25V, Los requerimientos de un servidor son muy amplios y 1.00V, dependen de la operación que vaya a realizar el servidor. 0.67V Debido a que el sistema es controlado por dos operadores de la Escuela de Conducción, los usuarios que requieran Pines 14 22 40 26 86 información de este van a ser pocos, en comparación a las I/O: empresas que ofrecen estos servicios, las cuales tienen muchas Corrie 40mA 25mA 50mA 20mA 1A, 2A, peticiones de información. El servidor de monitoreo cuenta nte 1.5A, con una página web que despliega un mapa y ubica los datos enviados por el sistema de rastreo, además de los botones de Máxi 2.5A, control del sistema del vehículo, también posee una base de ma 25mA, datos en la cual almacena los datos de posición del auto, los por 2.5A, cuales son monitoreados cada intervalo de tiempo durante las pin: 1.75A prácticas de conducción de los alumnos. Un servidor puede ser instalado en cualquier computador, el requisito para el Veloci 16MHz 168MHz 1.4GHz 48MHz Superior proyecto es que sea un computador de dimensiones pequeñas dad 580MHz a 450 y con un bajo consumo de energía para que pueda estar MHz conectado las 24 horas del día en la Escuela de Conducción sin RAM: 2KB 164KB 1GB 64Mb 256Mb y ocupar demasiado espacio y no consumir mucha energía. En SRAM, SRAM, 128Mb la Tabla IV se realiza una comparación con distintos microcomputadores [19], [20], [21], [22], [23]. 1KB 384 EEPRO KBFlash Tabla IV Características de Mini Computadores OpenSource. M, 32KB Orange Raspber Odroid Jaguar LattePan Flash ry da Conec TYPE-B Micro Micro Micro Micro Modelo: Orange Raspberr ODROID Jaguar LattePan y PI3 b+ C2 One da tor: Usb Usb Usb Usb Pi PC 2 Memo 2-8Kb Micros Micro 32 Mb 16Mb Procesador: Cortex Broadco ARMv8 Intel Intel m Cortex Atom Z8300 ria SD SD A53 -A53 Z3735 Flash: G/F Velocidad: 1.2GHz 1.4GHz 1.5GHz 1.3GH 1.8GHz Dimen 8cm 8.03cm 8.2cm 7.6cm 8cmx5.5 z siones: x5.52cm x5,36cm x5.6cm x5.1cm 2cm x2.5cm x1.23cm x1.95cm x2.5cm x2.5cm Memoria 1GB 1GB 2GB 1GB 2GB/4G RAM: B Peso: 25g 27g 50g 59g 60g Almace- microSD microSD microSD microS 32Gb Costo: $12 $70 $70 $80 $249 namiento: D interno + microSD Conec- Ethernet Wi-Fi + Ethernet Ethern Wi-Fi Las placas Raspberry Pi3 y la FPGA Arty A7-100T tienen tividad: HDMI Bluetoot Gibabit et Ethernet buenas prestaciones, pero para los bajos procesos requeridos del sistema, no se utiliza su hardware debidamente, además h: Wifi HDMI Bluetooth posee un costo elevado para el propósito del sistema. Ethernet: 802.11n 4.0 Gigabit HDMI Arduino posee las prestaciones necesarias para el sistema, ofrece compatibilidad con los módulos GPS y GPRS GPIO: 40 40 40 4 26 seleccionados, tiene un bajo costo y la diversidad de placas que Potencia: 5W 4W 6W 5W 6W Colecció 6.3 7.3.0-1 5.4.0 7.3+r258 7.2.1 n de 313 Precio: $80 $70 $100 $79 $159 compila dores

En el mercado existen muchas empresas, aparte de las GNU citadas en la tabla 4.9, que se dedican a la construcción de mini (gcc): computadores, pero se realizó el análisis con las más Entorno PIXEL XFCE4 MATE KDE, GNOME, sobresalientes. Las características de cada una son similares, de (LXDE) 1.6.1-1 Desktop GNOME, KDE, pero detrás de cada una de las empresas existe una comunidad de desarrolladores que mejoran el sistema de cada una de estas usuario: versión con XFCE y Xfce, placas. 0.99.2-3 MATE LXDE LXDE, Menu MATE- De las placas analizadas se seleccionó la marca Raspberry Pi, debido a su bajo costo y su bajo consumo energético, 5.7.1 Compiz, además de tener una comunidad muy amplia con una gran LXQt variedad de sistemas operativos que son compatibles. Existen Adminis Dpkg Pacman Dpkg RPM RPM mucha información en internet y mucho desarrollo que se ha trador Package Package hecho con este minicomputador, por esta razón se escogió la placa Raspberry Pi 3 B+ que es el último modelo que ha sacado de Manager Manager al mercado la compañía Raspberry Pi. paquetes : Sistema operativo para la Raspberry Pi Método APT Pacman APT Zypper DNF Para el manejo de la Raspberry Pi existen varios sistemas de (Software (Software (YaST2) (Fork de operativos que podemos utilizar. En la Tabla V se realiza un análisis de los principales sistemas. actualiza Updater, Updater, Ready YUM) ción: Ubuntu Ubuntu For Tabla V Características de los SO para Raspberry Pi Software Software Action Rasp- Arch Ubuntu OpenSus Fedora center) center) Linux Mate e bian Sistemas EXT2/E F2FS/BT EXT2/E BTRFS/E EXT2/E Distribu Debian 9 Ninguna Debian Suse Desarroll de XT3 RFS XT3 XT2 XT3 (Inspirad (Linux Linux ado por la ción o en Ubuntu comunida ficheros EXT4(Na EXT2/ EXT4(Na EXT3/E EXT4(Na nativa: CRUX) 16.04) d Red Hat soportad tivo) EXT3 tivo) XT4 tivo) Versión Linux Linux Linux Linux Linux os: EXT4 Kernel Kernel Kernel Kernel del Kernel 4.4.x 4.4.0.38. 4.4.21- 4.13.9 Núcleo: 4.9.80 v7 69- Después de analizar la Tabla V, es difícil seleccionar un default sistema operativo ya que los mismo presentan características Arqui- ARM 32 ARM 32 ARM 32 ARM 32 ARM 32 bits y 64 bits bits y 64 bits y 64 similares. En base a un estudio y evaluación de distribuciones tectura bits bits bits bits GNU/Linux para Raspberry Pi 3 Model B+ en la que se analiza del SO: las cinco distribuciones se determinó que Raspbian ofrece Tamaño 2.3 Gb 1.2 Gb 1.2 Gb 696 Mb 1.3 Gb mayor fluidez, estabilidad y 100% de compatibilidad con la placa Raspberry. [24] del Raspbian con su característica “Out Of The Box”, hace que fichero: el sistema arranque velozmente y ofrezca una mayor fluidez al Gestión PCManF PCManF Caja Dolphin GNOME momento de la navegación en la página web a implementarse de M M (versión file Comman en el servidor LAMP ficheros: de manager der.

Nautilus) PCManF Base de datos M Para el almacenamiento de los datos de latitud y longitud se Gestor Openbox Xfwm Mate’s JeOS y Metacity analizan las diferentes bases de datos, en la Tabla VI se realiza de 3.6.2- (XFCE Windows E20 un análisis comparativo de las características principales:

ventanas 4+rpi3 Windows Manager

: manager) 1.12.1

Tabla VI Características de las Bases de Datos Conexión GPRS Sistemas MySql Sql Server Postgre SQL Para enviar la información de latitud y longitud cada 5 minutos al servidor se realiza a través de la programación que se visualiza en la Figura 4.

Especificaciones Inicio Licencia: GPL Microsoft PostgreSQL EULA Sistemas Multiplata- Microsoft Multiplataforma enviarAT("AT+CGATT=1\r", "OK", 1000); enviarAT("AT+CSTT=\"internet.claro.com.ec\ operativos: forma Windows, ","","", "OK", 3000); Linux enviarAT("AT+CIICR", "OK", 3000); enviarAT("AT+CIFSR", "", 4000); Código: Abierto Abierto Abierto Iniciar la conexión GPRS Asignar la APN de la operadora Genero: Sistema de RDBMS Base de datos Activar el perfil de datos y solicitar IP gestión de objeto –

base de datos relacional enviarAT("AT+CIPSTART=\"TCP\",\ relacionales (ORDBMS) "gpssindicatopillaro.sytes.net\",\"80\"", "CONNECT OK", 8000); Velocidad: Alta Baja Baja sprintf(aux_str, "AT+CIPSEND=%d", strlen(direccion)); Iniciar la conexión TCP con el servidor y Después de analizar las principales características se Establecer el número de caracteres del dato a seleccionó MySql, el cual es un servidor de bases de datos con enviar mayor velocidad en el manejo de la información, robusto y con gran aceptación, consta de columnas y filas permitiendo Serial.println(direccion); almacenar la información categóricamente. Serial.println("AT+CIPCLOSE"); Serial.println("AT+CIPSHUT"); Enviar la ubicación al servidor y cerrar la Programación del Sistema de monitoreo GPS conexión GPRS A continuación, se describe la programación de cada función del sistema de monitoreo. Fin

Localización GPS Fig. 4: Flujograma GPRS Para obtener los datos de latitud y longitud se emplea la librería TinyGPS, que permite decodificar la trama del Recepción de datos GPRS protocolo NMEA en datos entendibles para el usuario. Los Los datos que son enviados desde el dispositivo de rastreo algoritmos empleados para el procesamiento de señales al servidor son en forma de peticiones GET, en forma de link recibidas por el módulo GPS se describen en la Figura 3. HTTP. En la Figura 5 se visualiza la programación para

reconocer las peticiones GET y almacenar la información en Inicio la base de datos MySql.

TinyGPS gps; Inicio SoftwareSerial Definir GPSSerial(); variables Declarar librería GPS Definir puertos de Tx y Rx $ = $_GET["id $latitud = $_GET["latitud"]; $longitud = $_GET["longitud"]; while(1){ Identifica los datos enviados por el GPRS while(GPSSerial.available()>0){ gps.encode(GPSSerial.read()); if(gps.location.isUpdated()){ }}} Lee los datos seriales y envía las tramas NMEA a la librería para procesarlas si el $sql = "INSERT INTO registro (fecha, evento, auto, gps tiene conexión latitud, longitud) VALUES ('" . $fecha . "', 'ira',". " '" . $id . "'," . $latitud . " , " . $longitud . " )"; Almacena los datos recibidos en la base de datos latitud=(gps.location.lat()); if(latitud!=0 || MySql longitud=(gps.location.lng()); longitud!=0){ } velocidad=(gps.speed.kmph()); Condición para romper Obtiene los datos en forma legible el ciclo while Fin Fin Fig. 5: Flujograma de identificación y almacenamiento de los datos en el Fig. 3: Flujograma GPS. servidor Visualización de los datos de latitud y longitud instructor de acuerdo al horario de prácticas Para que los datos de latitud y longitud enviados por el de conducción. sistema de rastreo al servidor se puedan visualizar en un mapa, se utiliza OpenStreetMap con la herramienta , la cual es Además, permite enviar los comandos de una librería de JavaScript de código libre para mapas abrir y cerrar puertas, bloquear y desbloquear motor y solicitar la ubicación al interactivos. Esta librería ofrece todas las funciones de mapeo, sistema GPS instalado en el vehículo ofreciendo simplicidad, alto rendimiento y facilidad de uso. Los comandos utilizados se visualizan en la Figura 6. Visualiza el registro de las ubicaciones de los vehículos de la escuela, permitiendo Inicio definir el criterio de búsqueda por:

var mymap = L.('mapid'); • Número de auto Inicializar el mapa Historial • Fecha L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/ • Horario {y}.png?access_token=pk.eyJ1Ijoiam9zZWphY29tZWIiLCJhIjoiY2pyenhzNjhlM Hk1eTQzbzkyeXNrOTZnNiJ9.55SE4F5kjdNshtre7b8lFw', { • Instructor attribution: 'Map data © OpenStreetMap contributors, CC-BY-SA, Imagery © Mapbox', maxZoom: 18, Permite ingresar la información de cada instructor a cargo de las prácticas de los id: 'mapbox.streets', accessToken: estudiantes. 'pk.eyJ1Ijoiam9zZWphY29tZWIiLCJhIjoiY2pyenhzNjhlMHk1eTQzbzkyeXNrO Admi- TZnNiJ9.55SE4F5kjdNshtre7b8lFw' La información contiene: nombre, teléfono, nistración }).addTo(mymap); foto, número de auto y seleccionar el horario Agregar un tipo de mapa y seleccionar el tipo de texto y el nivel de zoom máximo de conducción a cargo, de acuerdo a los datos proporcionados por la escuela. salidalatitud = parseFloat(jsonquery[0].latitud); salidalongitud = parseFloat(jsonquery[0].longitud); Acerca Contiene el manual de usuario del Sistema Importar los datos de latitud y longitud de la base de datos GPS, así como la información del investigador. marker = L.marker([salidalatitud, salidalongitud], {icon: greenIcon, title: "Última ubicación reportada"}).addTo(mymap); Insertar la ubicación en el mapa D. Seguridad Fin Asegurar el sistema de monitoreo web de ataques maliciosos es muy importante para proteger los datos que se almacenan Fig. 6: Flujograma para ubicar los datos de latitud y longitud en el mapa. en la base de datos, así como la protección de la Raspberry Pi para que el servidor no sufra daños, a continuación, se C. Desarrollo de la interfaz web determina los parámetros de seguridad empleados. A continuación, en la Tabla VII se detallan las funciones disponibles a través de la interfaz web para controlar las Seguridad de la Raspberry Pi acciones del dispositivo diseñado y poder visualizar la Las brechas en la seguridad pueden dejar la Raspberry Pi ubicación y registro de los vehículos de la escuela de abierta a los piratas informáticos que luego pueden afectar al conducción. servidor implementado. Para reforzar la seguridad se ha realizado las siguientes acciones: Tabla VII. Funciones de la Interfaz Web • Cambio de la contraseña predeterminada. Pestaña Función • Agregar un nuevo usuario y desactivar el usuario por defecto pi. Controla el acceso individual al sistema de • Habilitar la contraseña para acceder a superusuario monitoreo mediante la identificación del Inicio (sudo). usuario utilizando credenciales provistas por • Establecer actualizaciones de seguridad periódicas la escuela de conducción. con cron. • Cambiar el puerto por defecto del servidor SSH. Permite la visualización de las ubicaciones Uno de los principales riesgos en seguridad son los ataques de cada vehículo de la escuela en el mapa, de fuerza bruta, que se caracterizan por un intento continuado

así como la información básica de los de obtener acceso a un servicio del sistema (ssh, smtp, http, automotores y la información de cada etc.), intentando diversas combinaciones de nombre del usuario y su contraseña. Para llevar a cabo este ataque, el Mapa intruso puede usar un software que gestiona diversas combinaciones de caracteres o basarse en una lista de palabras indescifrable que solo puede volver al formato legible con la (diccionario). clave de descifrado adecuada. Otro género de Ataque de Fuerza Bruta es un Ataque de Para agregar un certificado SSL a la página web se utiliza Negación de Servicio (DoS) o Ataque Distribuido de Certbot, la cual es una herramienta de software de código Negaciones de Servicio (DDoS), en donde el servidor es abierto y gratuita para utilizar automáticamente certificados de bombardeado con solicitudes a un determinado servicio en tal Let’s Encrypt en sitios web administrados manualmente para número que no las puede gestionar, consumiendo todos los habilitar HTTPS. recursos del sistema, o haciéndolo inestable. Para prevenir estos ataques se utiliza la aplicación Fail2Ban IV. RESULTADOS que analiza continuamente los ficheros log y bloquea las Para el análisis de la transmisión de datos se tomaron en direcciones Ip de donde se hayan originado varios intentos cuenta los datos monitoreados durante un día con el fin de fallidos de acceso con contraseña inválida, es extremadamente evaluar la cantidad de conexiones fallidas que se producen en eficaz en la prevención de ataques de fuerza bruta y ataques de la transmisión de la información, se tiene 8 horarios de 2 horas negación de servicio (DoS). cada uno, para lo cual se envían datos cada 5 minutos al Fail2Ban usa: servidor teniendo un total de 24 datos en cada horario, en la Filter Tabla VIII se registra los datos recibidos. Son las expresiones regulares utilizadas para el "parseo" de los logs. Tabla VIII: Análisis de la transmisión de datos Action Horario Datos enviados Datos recibidos Porcentaje Son las acciones a realizar según los acontecimientos encontrados en los logs. 1 24 21 87.5% Jail Son un conjunto de filter y action utilizados 2 24 23 95.83% independientemente por cada servicio denominado. Puede ser por ejemplo "ssh" o "apache2" o incluso variaciones de estas 3 24 24 100% ya incluidas. 4 24 22 91.66% Seguridad del Servidor LAMP A continuación, se detallan las principales vulnerabilidades 5 24 24 100% del servidor: 6 24 22 91.66% Ataques de inyección de SQL La inyección SQL es una técnica donde los usuarios 7 24 24 100% maliciosos pueden inyectar comandos SQL en una statement SQL, a través de la entrada de la página web. Los comandos 8 24 21 87.5% SQL inyectados pueden alterar la statement SQL y comprometer la seguridad de la aplicación web. Para Total: 192 181 94.27% solucionar este problema se utiliza sentencias preparadas o parametrizadas. En PHP, existe dos alternativas principales: PDO y MySQLi. Hay varias diferencias entre ambas, pero la principal es que PDO se puede usar con diferentes tipos de La pérdida de datos que existe se debe a la falta de cobertura base de datos (dependiendo del driver utilizado) mientras que que puede presentarse en lugares determinados durante el MySQLi es exclusivamente para bases de datos MySQL. Es recorrido, pero al evidenciarse que existe una efectividad del por ello que se utiliza PDO sobre MySQLi. 94.27% en la recepción, se puede despreciar los datos fallidos PDO (PHP Data Objects) es una capa de acceso a la base de con lo que se concluye que el sistema es confiable al momento datos que proporciona un método uniforme de acceso a de realizar la comunicación y envío de parámetros múltiples bases de datos. monitoreados No tiene en cuenta la syntax específica de la base de datos, pero puede permitir que el proceso de conmutar bases de datos De los resultados obtenidos en la Tabla IX se determina que y plataformas sea bastante sencillo, simplemente cambiando la los datos medidos por el módulo GPS presentan una diferencia cadena de conexión en muchos casos. promedio de 2.41 metros, debido a que los vehículos tienen una longitud de por lo menos 5 metros, la diferencia obtenida Certificado SSL no afecta en la localización del vehículo. Además, la Un certificado SSL (Secure Sockets Layer) es un título notificación de emergencia por SMS tarda en promedio 12.93 digital que autentifica la identidad de un sitio web y cifra con segundos en llegar al dispositivo móvil del controlador y en tecnología SSL la información que se envía al servidor. El 17.43 segundos es visualizada en la interfaz de usuario. cifrado es el proceso de mezclar datos en un formato Tabla IX: Registro de los datos medidos de latitud y longitud Finalmente, en la Figura 8 se puede visualizar el registro de las ubicaciones del vehículo almacenados en la base datos. Muestras Dispositivo Móvil Prototipo Diferencia (Latitud; (Latitud; (metros) Longitud) Longitud)

1 -1.174680; -1.174673; 3.4m -78.555222 -78.555252

2 -1.175901; - -1.175898; - 2.9m 78.551974 78.551948

3 -1.175047; - -1.175076; - 1.3m 78.542198 78.542175

4 -1.171546; - -1.171555; - 2m 78.538420 78.538436

5 -1.165866; - -1.165884; - 2.8m 78.542894 78.542877 Fig. 8: Historial de las ubicaciones de los vehículos durante las horas de conducción. 6 -1.172290; - -1.172282; - 1.2m 78.543975 78.543982 V. CONCLUSIONES 7 -1.203826; - -1.203815; - 2.3m 78.538307 78.538325 En conclusión, el desarrollo del dispositivo propuesto garantiza la correcta localización del vehículo con un margen 8 -1.174566; - -1.17455; - 2.2m de variación promedio de 2.41 metros y una eficiencia del 78.523907 78.523895 94.27% en la recepción de los datos, además permite 9 -1.175831; - -1.17585; - 3.1m monitorear el recorrido de cada estudiante durante las prácticas 78.560349 78.560369 de conducción garantizando el cumplimiento del programa de 10 -1.173644; - -1.17366; - 2.9m estudios, como lo determina el Reglamento de Escuelas de 78.548209 78.54823 Capacitación para Conductores Profesionales [2]. Asimismo, se determina que, si se presenta alguna Promedio: 2.41m emergencia durante las prácticas de conducción, el sistema permite enviar una notificación al dispositivo móvil del

controlador en aproximadamente 13 segundos, con la En la Figura 7 se visualiza la ubicación del auto en la página ubicación del vehículo, la misma que se visualiza en la página web. web en aproximadamente 17 segundos, para que la escuela pueda dar una respuesta inmediata permitiendo brindar la asistencia médica y mecánica necesaria.

REFERENCIAS

[1] INEC, «Anuario de Transporte,» 2016. [En línea]. Available: http://www.ecuadorencifras.gob.ec/documentos/web- inec/Estadisticas_Economicas/Estadistica%20de%20Transpo rte/2016/2016_AnuarioTransportes_%20Principales%20Resu ltados.pdf. [Último acceso: 10 Julio 2018]. [2] A. N. d. Tránsito, «Reglamento de Escuelas de Fig. 7: Notificación de emergencia en la página web. Capacitación para Conductores Profesionales,» 2015. [En línea]. Available: https://www.ant.gob.ec/index.php/transito- Para la ejecución de los comandos: “ubicación”, “abrir”, 7/resoluciones-2015/resoluciones-de-directorio/file/2730- resolucion-no-010-dir-2015-ant-reglamento-de-escuelas-de- “cerrar”, “bloquear” y “desbloquear”, se registró los tiempos capacitacion-para-conductores-profesionales. [Último acceso: de ejecución en el vehículo desde que son enviados por el servidor. Determinando que los tiempos en promedio para la 10 Julio 2018]. ejecución son: 43.13s para solicitar la ubicación, 24.01s para [3] T. Saed, «Public Transportation Management System abrir las puertas, 25.09 segundos para cerrar las puertas, 26.07s base on GPS/WiFi and Open Street Maps,» The Science and y 30.45s para bloquear y desbloquear el motor Information (SAI) Organization. [4] R. Edgar, «Sistema de localización automática de respectivamente. vehículos mediante GPS, para determinar la ubicación de las

volquetas del GAD Municipal de Patate,» 2014. [En línea]. Available: http://repo.uta.edu.ec/bitstream/123456789/7338/1/Tesis_t87 [17] Tessel, «Tessel 2 Documentation,» [En línea]. Available: 7ec.pdf. [Último acceso: 10 Julio 2018]. https://tessel.gitbooks.io/t2- [5] A. Holguer, «Diseño e implementación de un sistema docs/content/Hardware/Tessel_2_Overview.html. [Último electrónico para el control, seguridad y rastreo vehicular acceso: marzo 2019]. utilizando un ordenador de placa reducida raspberry,» 2017. [18] Digilent, «Arty A7 Reference Manual,» [En línea]. [En línea]. Available: Available: http://dspace.espoch.edu.ec/bitstream/123456789/6868/1/98T https://reference.digilentinc.com/reference/programmable- 00147.pdf. [Último acceso: 10 Julio 2018]. logic/arty-a7/reference-manual. [Último acceso: marzo 2019]. [6] C. Geovanni, «Diseño de un sistema de localización, [19] Redes Zone, «Orange Pi PC, un duro rival para Raspberry medición de velocidad y aceleración de un vehículo para Pi 2,» 2018. [En línea]. Available: determinar rutas alternas, utilizando tecnologías GPS y https://www.redeszone.net/2015/09/13/orange-pi-pc-un-duro- GPRS,» 2017. [En línea]. Available: rival-para-raspberry-pi-2-de-tan-solo-15-dolares/. [Último http://dspace.espoch.edu.ec/bitstream/123456789/6872/1/98T acceso: marzo 2019]. 00151.pdf. [Último acceso: 10 Julio 2018]. [20] HardZone, «Análisis: Raspberry Pi 3 Modelo B+,» 2018. [7] Negocios de Seguridad, «¿Cómo inicio el negocio del [En línea]. Available: rastreo satelital? ¿Cuáles son los beneficios?,» 2017. [En https://hardzone.es/reviews/perifericos/analisis-raspberry-pi- línea]. Available: 3-modelo-b/. [Último acceso: marzo 2019]. http://www.rnds.com.ar/articulos/109/RNDS_096-98W.pdf. [21] HardZone, «ODROID-C2, uno de los mini PCs más [Último acceso: noviembre 2018]. potentes del mercado,» 2016. [En línea]. Available: [8] u-blox, «NEO-6 u-blox 6 GPS Modules,» 2015. [En https://hardzone.es/2016/02/07/odroid-c2-mini-pc-mas- línea]. Available: https://www.openimpulse.com/blog/wp- potente-mercado/. [Último acceso: marzo 2019]. content/uploads/wpsc/downloadables/GY-NEO6MV2-GPS- [22] electronic datasheets, «Jaguarboard,» [En línea]. Module-Datasheet.pdf. [Último acceso: noviembre 2018]. Available: [9] L. Ada, «Adafruit Ultimate GPS,» 2019. [En línea]. https://www.electronicsdatasheets.com/manufacturers/jaguar Available: https://cdn- board/parts/jaguarboard#datasheet. [Último acceso: marzo learn.adafruit.com/downloads/pdf/adafruit-ultimate-gps.pdf. 2019]. [Último acceso: febrero 2019]. [23] DFROBOT, «LattePanda,» [En línea]. Available: [10] GLOBALSAT, «GLOBALSAT GPS Module,» 2016. https://media.digikey.com/pdf/Data%20Sheets/DFRobot%20 [En línea]. Available: PDFs/DFR0419_Web.pdf. [Último acceso: marzo 2019]. https://cdn.sparkfun.com/datasheets/GPS/EM506_um.pdf. [24] D. B. Morón, «Estudio y evaluación de distribuciones [Último acceso: febrero 2019]. GNU/Linux en la SBC Raspberry Pi 3 Model B,» 2018. [En [11] Elecstore, «Shield GSM/GPRS SIM900,» 2018. [En línea]. Available: línea]. Available: https://elecstore.pe/tienda/shield-gsmgprs- http://openaccess.uoc.edu/webapps/o2/bitstream/10609/8150 sim900. [Último acceso: febrero 2019]. 9/10/dborrazTFG0618memoria.pdf. [Último acceso: marzo [12] Geek Factory, «Shield SIM808 GSM GPRS GPS,» 2018. 2019]. [En línea]. Available: https://www.geekfactory.mx/tienda/shields-arduino/shield- sim808-gsm-gprs-gps-para-arduino/#. [Último acceso: febrero 2019]. [13] Electropro, «MÓDULO GSM SIM800L,» 2018. [En línea]. Available: http://electropro.pe/image/data/imgProductos/140.%20M%C 3%B3dulo%20GSM%20SIM800/SIM800L.pdf. [Último acceso: febrero 2019]. [14] El arduino, «Arduino Uno,» 2018. [En línea]. Available: https://www.elarduino.com/uno/. [Último acceso: marzo 2019]. [15] Wilderness Labs, «About Netduino,» 2018. [En línea]. Available: http://developer.wildernesslabs.co/Netduino/About/. [Último acceso: marzo 2019]. [16] Xataca, «Raspberry Pi 3 Model B+, análisis: más potencia y mejor WiFi para un miniPC que sigue asombrando,» 2019. [En línea]. Available: https://www.xataka.com/ordenadores/raspberry-pi-3-model- b-analisis-mas-potencia-y-mejor-wifi-para-un-minipc-que- sigue-asombrando. [Último acceso: marzo 2019].