sistema telemÁtico para el registro, control de...

64
1 SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE INGRESO/SALIDA Y CONSULTAS DE TRAFICO DE MOTOCICLETAS EN LA FACULTAD TECNOLÓGICA DE LA UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS JOAN SEBASTIÁN MARTÍNEZ GALVIS WILBER DAVID AMAYA CRUZ UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD TECNOLÓGICA INGENIERÍA EN TELEMÁTICA BOGOTÁ 2017

Upload: others

Post on 12-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

1

SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE

INGRESO/SALIDA Y CONSULTAS DE TRAFICO DE MOTOCICLETAS EN LA

FACULTAD TECNOLÓGICA DE LA UNIVERSIDAD DISTRITAL FRANCISCO

JOSÉ DE CALDAS

JOAN SEBASTIÁN MARTÍNEZ GALVIS

WILBER DAVID AMAYA CRUZ

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

FACULTAD TECNOLÓGICA

INGENIERÍA EN TELEMÁTICA

BOGOTÁ

2017

Page 2: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

2

SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE

INGRESO/SALIDA Y CONSULTAS DE TRAFICO DE MOTOCICLETAS EN LA

FACULTAD TECNOLÓGICA DE LA UNIVERSIDAD DISTRITAL FRANCISCO

JOSÉ DE CALDAS

JOAN SEBASTIÁN MARTÍNEZ GALVIS

WILBER DAVID AMAYA CRUZ

TUTOR:

MIGUEL ÁNGEL LEGUIZAMÓN PÁEZ

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

FACULTAD TECNOLÓGICA

INGENIERÍA EN TELEMÁTICA

BOGOTÁ

2017

Page 3: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

3

Tabla de contenido

1. Introducción ........................................................................................................ 7

2. Planteamiento del Problema ............................................................................. 8

2.1. Planteamiento de la solución ............................................................................... 8

2.2. Solución tecnológica ............................................................................................. 8

3. Objetivos ............................................................................................................ 10

3.1. Objetivo General .................................................................................................. 10

3.2. Objetivos Específicos ......................................................................................... 10

4. Alcances y limitaciones ................................................................................... 11

4.1. Alcances ............................................................................................................... 11

4.2. Limitaciones ......................................................................................................... 11

5. Justificación ...................................................................................................... 12

5.1. Económica ............................................................................................................ 12

5.2. Tecnológica .......................................................................................................... 12

6. Marco de Referencia ........................................................................................ 13

6.1. Marco teórico ....................................................................................................... 13

6.1.1. NFC ............................................................................................................................ 13

6.1.2. ISO 1443 .................................................................................................................... 15

6.1.3. RFID RC522 ................................................................................................................ 15

6.1.4. Raspberry pi .............................................................................................................. 16

6.1.5. Spring Boot ................................................................................................................ 18

6.1.6. Maven ........................................................................................................................ 18

6.1.7. Python ....................................................................................................................... 19

6.1.8. ThymeLeaf ................................................................................................................. 20

6.1.9. Raspbian .................................................................................................................... 21

6.1.10. Servo SG90 ................................................................................................................ 22

6.1.11. BDD ............................................................................................................................ 23

6.1.12. Tarjeta inalámbrica ralink 802.1n.............................................................................. 25

6.2. Marco histórico .................................................................................................... 25

6.2.1. APLICACIÓN WEB PARA EL CONTROL DE ENTRADA Y SALIDA DE EQUIPOS Y USO DE

PARQUEADEROS DE LA UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD

TECNOLÓGICA POR MEDIO DE LA LECTURA DEL CÓDIGO DE BARRAS ..................................... 25

6.2.2. DISEÑO Y CONSTRUCCIÓN DEL PROTOTIPO DE UN SISTEMA OPTIMIZADO PARA EL

INGRESO A PARQUEADEROS VEHICULARES CON TARJETAS INTELIGENTES ............................. 25

6.3. Marco de metodología ......................................................................................... 26

7. Desarrollo e implementación .......................................................................... 30

7.1. Definición de Historias de usuario BDD ........................................................... 30

7.2. Diagrama entidad/relación .................................................................................. 41

Page 4: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

4

7.3. Configuracón y cableado raspberry .................................................................. 41

8. Aplicación en Funcionamiento ....................................................................... 47

9. Conclusiones .................................................................................................... 58

10. Bibliografía ..................................................................................................... 59

11. Anexos ............................................................................................................ 63

Cronograma ..................................................................................................................... 63

Manual de usuario(adjunto) ........................................................................................... 64

Manual del programador(adjunto) ................................................................................ 64

Articulo IEE (adjunto) ..................................................................................................... 64

Page 5: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

5

Lista de Tablas

Tabla 1 Spike de hardware ........................................................................................................... 30

Tabla 2 Cotización de los componentes de hardware .............................................................. 31

Tabla 3 Spike de requerimientos de software ............................................................................ 31

Tabla 4 Configuración de componentes de Hardware ............................................................. 32

Tabla 5 Validación de los datos obtenidos por el lector ........................................................... 32

Tabla 6 Simulación de la apertura de las puertas del parqueadero ....................................... 33

Tabla 7 Instalación y configuración del servidor de aplicaciones linux .................................. 33

Tabla 8 Desarrollo del frontend de la plataforma del sistema ................................................. 34

Tabla 9 Desarrollo del frontend del formulario de registro para los usuarios

(estudiantes/profesores) ........................................................................................................ 35

Tabla 10 Desarrollo de frontend para la validación de los usuario por parte del usuario

administrador ........................................................................................................................... 35

Tabla 11 Desarrollo del frontend login para el usuario administrador .................................. 36

Tabla 12 Realizar modelo entidad / relación de la BD ............................................................. 36

Tabla 13 Realizar query de la BD (toptechboy, 2015) .............................................................. 37

Tabla 14 Realizar la instalación de la BD en MySQL ............................................................... 37

Tabla 15 Desarrollo del Backend resumen de la página ......................................................... 38

Tabla 16 Registro formulario de usuario estudiante / profesor ............................................. 38

Tabla 17 Activación de los usuarios registrado ......................................................................... 39

Tabla 18 Integración de frontend y backend landing de resumen .......................................... 40

Tabla 19 Integración de frontend y backend landing de resumen generar reportes ........... 40

Tabla 20 Construcción de la maqueta ........................................................................................ 41

Tabla 21Conexión entre RC522 t RPi2 ....................................................................................... 44

Page 6: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

6

Lista de Ilustraciones

Ilustración 1 Diagrama Entidad / Relación ................................................................................. 41

Ilustración 2 Servo Connected to Raspberry Pi GPIO Pins ..................................................... 42

Ilustración 3 RC522 con Raspberry ............................................................................................. 44

Ilustración 4 Puesta en marcha desde el servidor linux ........................................................... 47

Ilustración 5 Ejecución de la instalación ..................................................................................... 48

Ilustración 6 Ejecución de la instalación parte 2 ........................................................................ 48

Ilustración 7 Instalación y empaquetamiento de los archivos correspondientes .................. 49

Ilustración 8 Instalación y empaquetamiento de los archivos correspondientes - exitoso . 49

Ilustración 9 Empaquetamiento de la aplicación ....................................................................... 50

Ilustración 10 Empaquetamiento de aplicación - exitoso ......................................................... 50

Ilustración 11 Login de la aplicación ............................................................................................ 51

Ilustración 12 Resumen de la aplicación parte 1 ....................................................................... 52

Ilustración 13 Resumen de la aplicación parte 2 ....................................................................... 52

Ilustración 14 Exportar graficas .................................................................................................... 53

Ilustración 15 Guardar graficas / histórico de datos .................................................................. 53

Ilustración 16 Usuarios registrado ............................................................................................... 54

Ilustración 17 Módulo de modificación - datos del estudiante ................................................. 54

Ilustración 18 Campo de texto estado del usuario .................................................................... 55

Ilustración 19 Input especial para seleccionar el color de la moto ......................................... 55

Ilustración 20 Formulario de asignación de moto a un usuario ya existente ........................ 56

Ilustración 21 Confirmación exitosa de asociación de moto .................................................... 56

Ilustración 22 Botón de creación de nuevo estudiante ............................................................. 56

Ilustración 23 Formulario de registro de estudiantes ................................................................ 57

Page 7: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

7

1. Introducción

Actualmente es de vital importancia el uso de las redes y conexión entre ellas, con

el fin de poder acceder a una gran variedad de servicios y adquisición de recursos;

los cuales facilitan en gran manera la forma en la cual se desarrolla e interactúa el

ser humano con su entorno, dando a lugar a un auge en el desarrollo de

aplicaciones y dispositivas que facilitan una gran variedad de tareas.

Poder realizar un control y mediciones es de gran ayuda para cualquier entidad,

por ende lo que se busca mediante este trabajo es desarrollar un prototipo de un

sistema telemático mediante el cual se facilite el registro, control del ingreso y

salida de motos para el parqueadero de la Universidad Distrital Francisco José de

Caldas de la facultad tecnológica mediante el uso de RFC.

El medio más común mediante el cual es utilizado este tipo de sistema consiste en

tarjetas inteligentes, dado a que facilitan en gran manera su portabilidad al igual

que otorga un nivel alto de seguridad y privacidad de los datos que contienen.

Page 8: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

8

2. Planteamiento del Problema

La facultad tecnológica de la Universidad Distrital Francisco José de Caldas

cuenta con un servicio de parqueadero para la comunidad académica, de acuerdo

a la observación realizada se evidencia que se tienen algunas dificultades tales

como:

- Una gran cantidad de motocicletas intentan realizar el ingreso o la salida del

parqueadero en el mismo momento.

- La disposición de espacios sin las características adecuadas para el uso de

parqueadero de motocicletas.

- La cantidad del personal de seguridad a cargo del parqueadero en ocasiones

no es suficiente para poder realizar la gestión de ingreso y salida de las motos.

- Falta de una modelo de control eficiente y automático para el ingreso, salida y

gestión de motocicletas, que hacen uso del parqueadero.

2.1. Planteamiento de la solución

¿Cuál sería una solución que perdure en el tiempo y realmente minimice de forma

significativa las problemáticas mencionadas en cuanto al ingreso, salida y gestión

de motocicletas, las cuales utilizan el parqueadero de la facultad tecnológica de la

Universidad Distrital Francisco José de Caldas?

2.2. Solución tecnológica

De acuerdo a lo que se planteaba en el proyecto del año 2013, se decide mejorar

su funcionalidad mediante el uso de NFC para facilitar la utilización del mismo y

además generar reportes de acuerdo a la información de los diferentes usuarios

que utilizan el parqueadero y seguidamente actualizar la tecnología que se

implementa por una más versátil.

Se creará un sistema telemático basado en los componentes descritos a

continuación:

1. Servicio web con bases de datos relacionales en MySQL para el registro,

control de ingreso/salida y presentación de información sobre tráfico por medio

de tablas y gráficos estadísticos, desarrollado en el lenguaje JAVA, mediante la

implementación del framework Spring que será ejecutado en servidores

apache tomcat.

Page 9: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

9

2. Interfaz electromecánica (lector de chips NFC), conectada al servicio web.

Dicho sistema constará de un proceso de comunicación inalámbrica entre la

interfaz electromecánica con el lector para chip NFC y el carnet estudiantil o tarjeta

con chip NFC, para validar posteriormente la información suministrada en el

registro de la motocicleta, y así autorizar o denegar el ingreso al parqueadero,

teniendo información que será dispuesta en una interfaz de usuario, para temas de

monitoreo y gestión.

Page 10: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

10

3. Objetivos

3.1. Objetivo General

Desarrollar un sistema telemático que permita el registro de motocicletas para el

control de acceso y consultas en tiempo real de tráfico del servicio de parqueadero

en la Facultad Tecnológica de la Universidad Distrital Francisco José de Caldas.

3.2. Objetivos Específicos

- Implementar un modelo de comunicación eficiente entre los dispositivos físicos

necesarios (NFC a través del carnet universitario u otro tipo de tarjeta) y el

sistema telemático, que permita la recolección de información para su posterior

validación y análisis.

- Desarrollar un servicio web que permita a los usuarios remotos consultar

información referente a las motocicletas que utilizan el parqueadero.

- Disponer de acceso al sistema telemático en dispositivos Android y en

navegadores de escritorio.

- Realizar una plataforma de reportes con la información del uso del

parqueadero, referente a horas pico y número de motocicletas que utilizan el

servicio, entre otros datos que puedan ser de utilidad.

- Completar todas las user story de acuerdo a lo que se plantea en los sprint

planning.

Page 11: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

11

4. Alcances y limitaciones

4.1. Alcances

El alcance del proyecto constara de la entrega del prototipo funcional y maquetado

de lo que sería la simulación del ingreso al parqueadero de la Universidad Distrital

Francisco José de Caldas facultad tecnológica, seguidamente de una aplicación

mediante la cual se pueda realizar la medición de los diferentes aspectos que se

planearon dentro de los objetivos del mismo proyecto, entre los cuales se incluye

permitirle al usuario (administrador) poder visualizar la cantidad de motos que se

encuentran dentro del parqueadero dentro de un determinado tiempo, además se

contara con un formulario para que cada uno de los diferentes usuarios pueda

registrarse para poder acceder al servicio de parqueadero.

4.2. Limitaciones

- La puesta en marcha y construcción real del sistema ya depende de las

decisiones que se realicen por parte de las autoridades correspondientes a

cargo en la Universidad Distrital.

- Dado a que se trata de un prototipo, los diferentes dispositivos implementados

para su desarrollo y ejecución se adquieren de acuerdo a la estructura para el

mismo, cabe mencionar que de igual forma también se plantea lo necesario

para la implementación y desarrollo a una escala mayor.

- El sistema está planeado con el fin de que funcione únicamente para la

facultad tecnológica de la Universidad Francisco José de Caldas.

Page 12: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

12

5. Justificación

Con el fin de poder facilitar la gestión de ingreso y su respectivo control a la zona

de parqueadero de la universidad Distrital Francisco José de Caldas facultad

tecnológica se plantea esta solución al inconveniente que se presenta en el

momento de ingreso y salida.

5.1. Económica

Como tal el acceso al uso de dispositivos que permitan la comunicación y lectura

de datos tales como el RFID al igual que NFC se encuentran a la mano en el

marcado y su costo es relativamente bajo en comparación de otro tipo de sistemas

que podrían facilitar este mismo tipo de tarea.

De igual forma para la ejecución de este proyecto se plantea el siguiente modelo

de negocio, mediante el uso del carnet universitario, una tarjeta inteligente o una

etiqueta clave cuyo costo oscila entre los 100 y 130 pesos la unidad,

seguidamente para la ejecución y puesta en marcha del proyecto se propone la

idea de realizar un cobro con el fin de poder adquirir la tarjeta y así el acceso al

parqueadero para los estudiantes.

5.2. Tecnológica

Gracias al gran desarrollo que ha tenido el área de las comunicaciones a nivel

mundial se puede tener fácil acceso a tecnologías consideradas de punta con un

bajo costo y un gran potencial para el desarrollo de aplicaciones del ámbito de

telemática de igual forma se cuenta con una documentación bastante completa

referente al uso de todo este tipo de dispositivos tales como NFC y RFID lo cual

nos permite sacarle su mayor potencial sin dejar de lado cualquier inconveniente a

aspectos tales como la seguridad de los datos que se manejan como si al igual de

las diferentes interfaces que las utilizan.

Page 13: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

13

6. Marco de Referencia

6.1. Marco teórico

6.1.1. NFC

“Aunque la tecnología NFC no es una novedad (en 2003 fue aprobada como

estándar ISO/IEC), pues ya por 2008 se empezaron a ver los primeros periféricos

que hacían uso de la tecnología combinada con el Bluetooth, es ahora cuando la

misma está en boca de todos.

¿Y qué es eso de la tecnología NFC? ¿Para qué sirve? A esas preguntas que te

estás haciendo ahora que sabes que el Nexus S lo lleva integrado y que Apple

tiene grandes planes para ella, te contestaremos en este NFC a fondo.

NFC, tecnología inalámbrica de corto alcance

NFC significa Near Field Communication. Se trata de una tecnología inalámbrica

que funciona en la banda de los 13.56 MHz (en esa banda no hace falta licencia

para usarla) y que deriva de las etiquetas RFID de las que seguro has oído hablar,

pues están presentes en abonos de transporte o incluso sistemas de seguridad de

tiendas físicas.

NFC es una plataforma abierta pensada desde el inicio para teléfonos y

dispositivos móviles. Su tasa de transferencia puede alcanzar los 424 kbit/s por lo

que su enfoque más que para la transmisión de grandes cantidades de datos es

para comunicación instantánea, es decir, identificación y validación de

equipos/personas.

Su punto fuerte está en la velocidad de comunicación, que es casi instantánea sin

necesidad de emparejamiento previo. Como contrapartida, el alcance de la

tecnología NFC es muy reducido, pues se mueve como máximo en un rango de

los 20 cm. A su favor también juega que su uso es transparente a los usuarios y

que los equipos con tecnología NFC son capaces de enviar y recibir información al

mismo tiempo.

La tecnología NFC puede funcionar en dos modos:

- Activo, en el que ambos equipos con chip NFC generan un campo

electromagnético e intercambian datos.

- Pasivo, en el que solo hay un dispositivo activo y el otro aprovecha ese campo

para intercambiar la información.

Page 14: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

14

Seguridad de la tecnología NFC

Seguro que todo te parece muy interesante, pero estás pensando en la seguridad.

Bien hecho. Dado que estamos ante una comunicación por radiofrecuencia, la

lectura de nuestra transmisión es una posibilidad que existe siempre. En el caso

de la tecnología NFC se cuenta con la ventaja de la poca distancia a la que la

misma opera, pero no se puede descartar la copia de los códigos de nuestro chip

para un uso fraudulento. Además, no solo la posibilidad de robar nuestros datos

está ahí, sino que la modificación o inserción de errores en la misma también

existe. Así que la seguridad vendrá de la mano de las que adopten las

transacciones de esas comunicaciones, como puede ser la SSL.

Usos de la tecnología NFC

La premisa básica a la que se acoge el uso de la tecnología NFC es aquella

situación en la que es necesario un intercambio de datos de forma inalámbrica. Lo

usos que más futuro tienen son la identificación, la recogida e intercambio de

información y sobre todo, el pago.

- Identificación: el acceso a lugares donde es precisa una identificación podría

hacerse simplemente acercando nuestro teléfono móvil o tarjeta con chip NFC

a un dispositivo de lectura. Los abonos de autobús son un ejemplo muy válido.

- Recogida/intercambio de datos: Google es el principal protagonista de este

uso, pues en combinación con las etiquetas RFID, utilidades como marcar

dónde estamos, recibir información de un evento o establecimiento son

inmediatas.

- Sincronización instantánea de dispositivos: algunos fabricantes también están

utilizando esta tecnología para sincronizar sus diferentes dispositivos. Por

ejemplo, son sólo acercar tu móvil a unos altavoces estos se sincronizarían

automáticamente de forma más sencilla que en el caso del Bluetooth, que

primero requiere emparejarlos.

- Automatización de acciones: las etiquetas NFC o NFC Tags son pequeñas

pegatinas que podemos poner en diferentes sitios y configurarlas para que al

pasar el móvil sobre ellas realicen configuraciones automáticas. Por ejemplo,

puedes tener una en la entrada de tu casa para que al entrar la toques con el

móvil para activar el WiFi y poner el modo vibración, u otra en el coche para

activar el Bluetooth. Sus usos son tantos como puedas imaginar.

- Pago con el teléfono móvil: sin duda alguna es la estrella de los usos del NFC.

La comodidad de uso y que el gasto pueda estar asociado a nuestra factura o

Page 15: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

15

una cuenta de banco son armas muy poderosas y esta tecnología está camino

de ser el método de pago del futuro.”1

6.1.2. ISO 1443

“ISO / IEC 14443-3: 2011 describe:

- Sondeo para tarjetas u objetos de proximidad (PICC) que entran en el campo

de un dispositivo de acoplamiento de proximidad (PCD);

- El formato de bytes, los marcos y la temporización utilizados durante la fase

inicial de comunicación entre los PCD y los PICC;

- El contenido inicial del comando Request y Answer to Request;

- Métodos para detectar y comunicarse con un PICC entre varios PICC

(anticolisión);

- Otros parámetros necesarios para inicializar las comunicaciones entre un PICC

y un PCD;

- Medios opcionales para facilitar y acelerar la selección de un PICC entre varios

PICC basados en criterios de aplicación.

- El protocolo y los comandos utilizados por las capas superiores y por las

aplicaciones y que se utilizan después de la fase inicial se describen en ISO /

IEC 14443-4.

ISO / IEC 14443-3: 2011 es aplicable a PICCs de Tipo A y de Tipo B (como se

describe en ISO / IEC 14443-2)”2.

6.1.3. RFID RC522

“El Módulo Lector RFID-RC522 RF utiliza 3.3V como voltaje de alimentación y se

controla a través del protocolo SPI, así como el protocolo UART, por lo que es

compatible con casi cualquier micro controlador, Arduino o tarjeta de desarrollo. El

RC522 también utiliza un sistema avanzado de modulación y demodulación para

todo tipo de dispositivos pasivos de 13.56Mhz. Puesto que se hará una lectura y

escritura de la tarjeta, es necesario conocer las características de los bloques de

memoria una tarjeta: La tarjeta que viene con el módulo RFID cuenta con 64 1 PENALVA, J. (25 de Enero de 2011). NFC: qué es y para qué sirve. Recuperado el 1 de Abril de 2017, de NFC: qué es y para qué sirve: https://www.xataka.com/moviles/nfc-que-es-y-para-que-sirve 2 ISO. (Abril de 2011). ISO/IEC 14443-3:2011. Obtenido de ISO/IEC 14443-3:2011: https://www.iso.org/standard/50942.html

Page 16: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

16

bloques de memoria (0-63) donde se hace lectura y/o escritura. Cada bloque de

memoria tiene la capacidad de almacenar sobre todo hasta 16 Bytes. El número

de serie consiste de 5 valores hexadecimales, se podría utilizar esto para hacer

una operación dependiendo del número de serie.

Características del módulo lector rc522 RF

- Modelo: MF522-ED

- Corriente de operación: 13-26mA a 3.3V

- Isb de stand by: 10-13mA a 3.3V

- Ism de sleep-mode: <80uA

- Im máxima: 30mA

- Frecuencia de operación: 13.56Mhz

- Distancia de lectura: 0 a 60mm

- Protocolo de comunicación: SPI

- Velocidad de datos máxima: 10Mbit/s

- Dimensiones: 40 x 60 mm

- Temperatura de operación: -20 a 80ºC

- Humedad de operación: 5%-95%

- Máxima velocidad de SPI: 10Mbit/s

- Incluye pines, llavero y tarjeta”3

6.1.4. Raspberry pi

“Raspberry Pi es un computador de placa reducida, computador de placa única o

computador de placa simple (SBC) de bajo costo desarrollado en Reino Unido por

la Fundación Raspberry Pi, con el objetivo de estimular la enseñanza de ciencias

de la computación en las escuelas.

En cambio el software sí es open source, siendo su sistema operativo oficial una

versión adaptada de Debian, denominada Raspbian, aunque permite usar otros

sistemas operativos, incluido una versión de Windows 10. En todas sus versiones

incluye un procesador Broadcom, una memoria RAM, una GPU, puertos USB,

HDMI, Ethernet (El primer modelo no lo tenía), 40 pines GPIO y un conector para

3 Hetpro Store. (25 de Abril de 2014). Módulo RFID-RC522 RF con Arduino UNO SPI. Recuperado el 23 de Julio de 2017, de Módulo RFID-RC522 RF con Arduino UNO SPI: https://hetpro-store.com/TUTORIALES/modulo-lector-rfid-rc522-rf-con-arduino/

Page 17: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

17

cámara. Ninguna de sus ediciones incluye memoria, siendo esta en su primera

versión una tarjeta SD y en ediciones posteriores una tarjeta MicroSD”4

“Para que funcione, basta con que añadamos nosotros mismos un medio de

almacenamiento (como por ejemplo una tarjeta de memoria SD), enchufarlo a la

corriente gracias a cualquier cargador de tipo microUSB (el mismo que sirve para

recargar la mayoría de los teléfonos móviles, cuyo coste es ínfimo) y, si lo

deseamos, incorporar un chasis para que todo quede a buen recaudo y su

apariencia sea más estética. Estos pueden ser desde cajas predeterminadas

hasta una que fabriquemos nosotros mismos echándole grandes dosis de

imaginación.

La fundación de Raspberry Pi pone a disposición desde su página web Raspbian,

una distribución de Linux basada en Debian, pero también podemos recurrir a

muchas de las distribuciones específicas que la comunidad de usuarios ha

desarrollado para diversos fines.

En función del modelo que escojamos, dispondremos de más o menos opciones

de conexión, pero siempre tendremos al menos un puerto de salida de video HDMI

y otro de tipo RCA, minijack de audio y un puerto USB 2.0 al que conectar un

teclado y ratón.

En cuanto a conexión de red se refiere, podemos disponer de Ethernet para

enchufar un cable RJ-45 directamente al router o recurrir a adaptadores

inalámbricos WiFi. En este caso, eso sí, conviene que nos decantemos por la

Raspberry Pi que incorpora dos puertos USB, ya que de lo contrario no podremos

enchufar el teclado y el ratón.

Para el almacenamiento, Raspberry Pi recomienda utilizar una tarjeta SD con una

capacidad mínima de 4 Gbytes y de clase 4 (este valor aparece siempre impreso

en la tarjeta, e indica su rendimiento en cuanto a velocidad se refiere).

Para enchufar nuestra Raspberry Pi a un monitor o televisor, necesitaremos un

cable HDMI o, si no disponemos de tal entrada de video, un cable HDMI a DVI.

También es posible recurrir en su lugar a la salida analógica RCA (identificada en

nuestra tele por un cable amarillo).

Centrándonos en el teclado y ratón, lo más sencillo es adquirir un conjunto

inalámbrico que conectaremos mediante un único adaptador, y así no

necesitaremos de más puertos USB.”5

4 Wikipedia. (20 de Julio de 2017). Raspberry Pi. Recuperado el 23 de Julio de 2017, de Raspberry Pi: https://es.wikipedia.org/wiki/Raspberry_Pi

Page 18: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

18

6.1.5. Spring Boot

“Es una de las tecnologías dentro del mundo de Spring de las que más se está

hablando últimamente. ¿Qué es y cómo funciona Spring Boot? Para entender el

concepto primero debemos reflexionar sobre como construimos aplicaciones con

Spring Framework.

Fundamentalmente existen tres pasos a realizar. El primero es crear un proyecto

Maven/Gradle y descargar las dependencias necesarias. En segundo lugar

desarrollamos la aplicación y en tercer lugar la desplegamos en un servidor. Si nos

ponemos a pensar un poco a detalle en el tema, únicamente el paso dos es una

tarea de desarrollo. Los otros pasos están más orientados a infraestructura.”6

Spring MVC

“Debido a la explosión de las aplicaciones móviles cada día nos encontramos con

una mayor necesidad de utilizar frameworks web que generen paginas HTML

sencillas de tal forma que luego puedan decorarse con otras tecnologías tipo

Bootstrap ,JQuery mobile o similares. A este tipo de categoría pertenece el

framework Spring MVC que cada día es más utilizado en las empresas. La

siguiente comparativa es interesante para ver que cuota de mercado tiene cada

framework.”7

6.1.6. Maven

“Maven es una herramienta de software para la gestión y construcción de

proyectos Java creada por Jason van Zyl, de Sonatype, en 2002. Es similar en

funcionalidad a Apache Ant (y en menor medida a PEAR de PHP y CPAN de Perl),

pero tiene un modelo de configuración de construcción más simple, basado en un

formato XML. Estuvo integrado inicialmente dentro del proyecto Jakarta pero

ahora ya es un proyecto de nivel superior de la Apache Software Foundation.

Maven utiliza un Project Object Model (POM) para describir el proyecto de

software a construir, sus dependencias de otros módulos y componentes externos,

y el orden de construcción de los elementos. Viene con objetivos predefinidos para

5 Castro, A. (23 de Enero de 2014). ¿Qué es Raspberry Pi, dónde comprarla y cómo usarla? Recuperado el 23 de Julio de 2017, de ¿Qué es Raspberry Pi, dónde comprarla y cómo usarla?: http://computerhoy.com/noticias/hardware/que-es-raspberry-pi-donde-comprarla-como-usarla-8614 6 Caules, C. Á. (8 de Marzo de 2016). ¿Qué es Spring Boot? Recuperado el 23 de Julio de 2017, de ¿Qué es Spring Boot?: http://www.arquitecturajava.com/que-es-spring-boot/ 7 Caules, C. Á. (20 de Noviembre de 2013). Spring MVC Configuración. Recuperado el 23 de Julio de 2017, de Spring MVC Configuración: http://www.arquitecturajava.com/spring-mvc-configuracion/

Page 19: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

19

realizar ciertas tareas claramente definidas, como la compilación del código y su

empaquetado.

Una característica clave de Maven es que está listo para usar en red. El motor

incluido en su núcleo puede dinámicamente descargar plugins de un repositorio, el

mismo repositorio que provee acceso a muchas versiones de diferentes proyectos

Open Source en Java, de Apache y otras organizaciones y desarrolladores. Este

repositorio y su sucesor reorganizado, el repositorio Maven 2, pugnan por ser el

mecanismo de facto de distribución de aplicaciones en Java, pero su adopción ha

sido muy lenta. Maven provee soporte no solo para obtener archivos de su

repositorio, sino también para subir artefactos al repositorio al final de la

construcción de la aplicación, dejándola al acceso de todos los usuarios. Una

caché local de artefactos actúa como la primera fuente para sincronizar la salida

de los proyectos a un sistema local.

Maven está construido usando una arquitectura basada en plugins que permite

que utilice cualquier aplicación controlable a través de la entrada estándar. En

teoría, esto podría permitir a cualquiera escribir plugins para su interfaz con

herramientas como compiladores, herramientas de pruebas unitarias, etcétera,

para cualquier otro lenguaje. En realidad, el soporte y uso de lenguajes distintos

de Java es mínimo. Actualmente existe un plugin para .Net Framework y es

mantenido, y un plugin nativo para C/C++ fue alguna vez mantenido por Maven”8

6.1.7. Python

“Es un lenguaje de programación interpretado cuya filosofía hace hincapié en una

sintaxis que favorezca un código legible.

Se trata de un lenguaje de programación multiparadigma, ya que soporta

orientación a objetos, programación imperativa y, en menor medida, programación

funcional. Es un lenguaje interpretado, usa tipado dinámico y es multiplataforma.

Es administrado por la Python Software Foundation. Posee una licencia de código

abierto, denominada Python Software Foundation License, que es compatible con

la Licencia pública general de GNU a partir de la versión 2.1.1, e incompatible en

ciertas versiones anteriores.

Características y paradigmas

8 Wikipedia. (28 de Junio de 2016). Maven. Recuperado el 23 de Julio de 2017, de Maven: https://es.wikipedia.org/wiki/Maven

Page 20: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

20

Python es un lenguaje de programación multiparadigma. Esto significa que más

que forzar a los programadores a adoptar un estilo particular de programación,

permite varios estilos: programación orientada a objetos, programación imperativa

y programación funcional. Otros paradigmas están soportados mediante el uso de

extensiones.

Python usa tipado dinámico y conteo de referencias para la administración de

memoria.

Una característica importante de Python es la resolución dinámica de nombres; es

decir, lo que enlaza un método y un nombre de variable durante la ejecución del

programa (también llamado enlace dinámico de métodos).

Otro objetivo del diseño del lenguaje es la facilidad de extensión. Se pueden

escribir nuevos módulos fácilmente en C o C++. Python puede incluirse en

aplicaciones que necesitan una interfaz programable.

Aunque la programación en Python podría considerarse en algunas situaciones

hostiles a la programación funcional tradicional del Lisp, existen bastantes

analogías entre Python y los lenguajes minimalistas de la familia Lisp como puede

ser Scheme.”9

6.1.8. ThymeLeaf

“Es una librería Java que implementa un motor de plantillas de

XML/XHTML/HTML5 (también extensible a otros formatos) que puede ser utilizado

tanto en modo web como en otros entornos no web. Se acopla muy bien para

trabajar en la capa vista del MVC de aplicaciones web, pero puede procesar

cualquier archivo XML, incluso en entornos desconectados.

Proporciona un módulo opcional para la integración con Spring MVC, por lo que se

puede utilizar para reemplazar completamente a los archivos JSP en tus

aplicaciones construidas con esta tecnología.

El objetivo principal de Thymeleaf es permitir la creación de plantillas de una

manera elegante y un código bien formateado. Sus dialectos Standard y

SpringStandard permiten crear potentes plantillas naturales que se pueden

visualizar correctamente en los navegadores de Internet, por lo que también

9 Wikipedia. (22 de Julio de 2017). Python. Recuperado el 23 de Julio de 2017, de Python: https://es.wikipedia.org/wiki/Python

Page 21: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

21

funcionan como prototipos estáticos. Thymeleaf también puede extenderse

desarrollando tus propios dialectos.

Características importantes

- Motor de plantillas Java para XML, XHTML y HTML5. Extensible para otros

formatos.

- Trabaja en entornos web y no web (desconectados). No existe dependencia

fuerte con el API Servlet.

- Basado en conjunto de características modulares llamadas Dialectos.

o Las características del Dialecto (por ejemplo: evaluación, iteración, etc.)

son aplicadas para relacionarlos con las etiquetas de las plantillas y/o

atributos.

o Dos dialectos disponibles listos para ser utilizados: Standard y

SpringStandard (para aplicaciones Spring MVC, la misma sintaxis que

para Standard).

o Los desarrolladores pueden extender y crear sus dialectos

personalizados.

- Muchas plantillas listas para ser utilizadas (extensibles):

o XML: validando otra vez o no un DTD.

o XHTML 1.0 y 1.1: validando otra vez o no el estándar DTD.

o HTML5: código XML y basado en HTML5. El código no XML es

automáticamente eliminado y convertido en formato XML.

- Soporte completo (y extensible) a la internacionalización.

- Configurable, alto rendimiento del caché del analizador de plantillas que reduce

al mínimo las entradas/salidas.

- Traducción automática DOCTYPE —de plantilla DTD ha resultado DTD— para

validaciones (opcional) de plantillas y código resultante.

- Extremadamente extensible: puede ser utilizado como un framework de motor

de plantillas si es necesario.

- Documentación completa incluyendo varias aplicaciones de ejemplo.”10

6.1.9. Raspbian

“Raspbian es un sistema operativo libre y gratuito basado en Debian y optimizado

para el hardware de la Raspberry Pi. Para quienes aún no les haya quedado claro

10 Wikipedia. (24 de Marzo de 2015). Thymeleaf. Recuperado el 23 de Julio de 2017, de Thymeleaf: https://es.wikipedia.org/wiki/Thymeleaf

Page 22: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

22

qué es un sistema de esta naturaleza, diremos que es el conjunto de programas

básicos y utilitarios (programas de soporte, pues), que permiten que la Raspberry

haga algo útil. Sin embargo, Raspbian es algo más que un sistema operativo, pues

viene con unos 35 mil paquetes, precompilados, de forma tal que sea fácil instalar

el que necesitemos en la Raspberry Pi.

La primera remesa de paquetes precompilados, optimizados para el mejor

desempeño del dispositivo Pi, se completó apenas en junio de este año (poco más

de 35,000 paquetes). Sin embargo, Raspbian está en un desarrollo activo, con

énfasis en dar estabilidad y desempeño a los paquetes que originalmente se

escribieron y que están en la distribución de Linux, Debian, para poner a

disposición pública lo antes posible.

Cabe decir que Raspbian no está afiliado de ninguna manera con la Fundación

Raspberry Pi. Raspbian fue creado por un pequeño pero dedicado grupo de

desarrolladores que ya son fanáticos de la Raspberry Pi, las metas educativas de

esta computadora y, por supuesto, del proyecto Debian.

Raspbian es una comunidad de software fundada y soportada por los propios

miembros de forma libre y gratuita. Y aunque Raspbian es gratis, el desarrollo del

sistema tuvo su costo. Así, los autores de este sistema operativo piden el apoyo

de la comunidad vía donativos.”11

6.1.10. Servo SG90

“Los servos son motores de corriente continua (CC), pero en lugar tener un giro

continuo que podamos aprovechar (para mover un molino por ejemplo), están

preparados para moverse a un ángulo fijo en respuesta a una señal de control, y

mantenerse fijos en dicha posición. Estos servomotores son muy frecuentes en

Aero modelismo y en robótica, puesto que su funcionamiento y control son muy

precisos.

Un servo principalmente está formado por un conjunto reductor (engranajes), un

motor de CC y por último por un circuito de control, aunque en la práctica se

comporta como un bloque funcional que posiciona su eje en un ángulo preciso en

función de la señal de control.

Habitualmente los servos tiene un margen de operación, es decir, pueden

moverse entre 0º y ángulo dado, que suele ser de 180º. Normalmente estos

11 Michelone, M. L. (2 de Agosto de 2012). Raspbian: Sistema operativo gratuito para la Raspberry Pi. Recuperado el 23 de Julio de 2017, de Raspbian: Sistema operativo gratuito para la Raspberry Pi: https://www.unocero.com/2012/08/02/raspbian-sistema-operativo-gratuito-para-la-raspberry-pi/

Page 23: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

23

pequeños servos funcionan sobre 5V y el control se realiza mediante una señal de

control PWM, en la que el ancho el pulso indica el ángulo que deseamos que

adopte el eje.

En este proyecto vamos a utilizar un Micro Servo SG90 Tower Pro, puesto que es

ideal para las primeras experiencias de aprendizaje y prácticas con servos, ya que

sus requerimientos de energía son bastante bajos y se permite alimentarlo con la

misma fuente de alimentación que el circuito de control, es decir, si se conecta a

un Arduino, se puede alimentar durante las pruebas desde el puerto USB del PC

sin mayor problema, aunque es recomendable alimentar el Arduino con una fuente

de alimentación externa de más de 700 mA, para evitar problemas de corriente.

Principales características

- Dimensiones (L x W x H) = 22.0 x 11.5 x 27 mm (0.86 x 0.45 x 1.0 pulgadas)

- Peso: 9 gramos

- Longitud de cable de conector: 24.5cm

- Velocidad: 0.10 seg/60° @ 4.8V

- Torque: 1.8 Kg-cm @ 4.8V

- Voltaje de funcionamiento: 3.0-7.2V

- Temperatura de funcionamiento: -30℃ ~ 60℃

- Ángulo de rotación: 180°

- Ancho de pulso: 500-2400 µs”12

6.1.11. BDD

“Behavior-Driven Development o BDD es un proceso de desarrollo software, si

bien se relaciona principalmente con el Testing, que es de donde surge. BDD

busca un lenguaje común para unir la parte técnica y la de negocio, y que sea

desde ese lenguaje común desde donde arranque el Testing y, desde ahí, el

desarrollo.

En BDD, las pruebas de aceptación se escriben usando historias de usuario, ya

sabes aquello tan usado en agilidad (sino léete el anterior post)… “Como [rol]

quiero [característica] para que [los beneficios].”

12 García, M. d. (13 de Enero de 2016). Programar posiciones en un Micro Servo Tower Pro SG90 9G. Recuperado el 23 de Julio de 2017, de Programar posiciones en un Micro Servo Tower Pro SG90 9G: http://miarduinounotieneunblog.blogspot.com.co/2016/01/programar-posiciones-en-un-micro-servo.html

Page 24: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

24

Y, siguiendo con lo anterior, posteriormente escribir criterios de aceptación para

esas historias de usuario, haciéndolo en términos de escenarios:

Dado [contexto inicial], cuando [se produce el evento], entonces [resultados]

Given [initial context], when [event occurs], then [ensure some outcomes].

Así, simplificadamente, el ciclo básico de BDD sería el siguiente…

1 – Escribir las historias de usuario.

2 – Escribir los escenarios.

3 – Automatizar las pruebas de aceptación.

Con la idea final de tener un mismo “framework” de comunicación y colaboración

entre desarrolladores, QA y roles no técnicos, o de negocio, en un proyecto de

software. Y para tener ese punto común entre todos esos actores, algo clave es

tener un lenguaje común, y ahí es donde aparece Gherkin.

Gherkin

Es un lenguaje entendible por el negocio, lo que se llama un DSL (Domain-

Specific Language), más o menos cercano al lenguaje natural. Está pensado para

que lo entienda “negocio”, los usuarios, etc. Su idea es contar como se “comporta”

el software sin entrar en detalles de implementación.

Es un lenguaje muy simple. Sólo tienen 5 sentencias:

- Feature

- Scenario

- Given

- When

- Then”13

13 Garzas, J. (15 de Diciembre de 2014). Enlace permanente a Entendiendo qué es BDD (Behavior-Driven Development) (I). Recuperado el 30 de Julio de 2017, de Enlace permanente a Entendiendo qué es BDD (Behavior-Driven Development) (I): http://www.javiergarzas.com/2014/12/bdd-behavior-driven-development-1.html

Page 25: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

25

6.1.12. Tarjeta inalámbrica ralink 802.1n

“Tambíen llamadas tarjetas Wi-Fi, son tarjetas para expansión de capacidades

que sirven para enviar y recibir datos sin la necesidad de cables en las redes

inalámbricas de área local ("W-LAN "Wireless Local Area Network"), esto es entre

redes inalámbricas de computadoras. La tarjeta de red se inserta dentro de las

ranuras de expansión ó "Slots" integradas en la tarjeta principal ("Motherboard") y

se atornilla al gabinete para evitar movimientos y por ende fallas. Todas las

tarjetas de red inalámbricas integran una antena de recepción para las señales.”14

6.2. Marco histórico

6.2.1. APLICACIÓN WEB PARA EL CONTROL DE ENTRADA Y SALIDA DE

EQUIPOS Y USO DE PARQUEADEROS DE LA UNIVERSIDAD

DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD

TECNOLÓGICA POR MEDIO DE LA LECTURA DEL CÓDIGO DE

BARRAS15

Durante el 2013 se realizó un proyecto con unas características similares para

realizar el control de los diferentes vehículos que ingresan al parqueadero

mediante el uso de lector de barras que se encuentra en los diferentes carnets de

la comunidad estudiantil, pero el cual no fue implementado en la Universidad.

6.2.2. DISEÑO Y CONSTRUCCIÓN DEL PROTOTIPO DE UN SISTEMA

OPTIMIZADO PARA EL INGRESO A PARQUEADEROS

VEHICULARES CON TARJETAS INTELIGENTES

“Descripción y formulación de problema

Debido a que los parqueaderos no poseen un sistema dinámico, el administrador

del parqueadero no tiene la información de los parqueaderos disponibles ni

ocupados, ni la ubicación de los mismos; por lo tanto no puede le brinda al usuario

un óptimo servicio en el que pueda ubicar un sitio disponible para su vehículo en el

14 Informática Moderna. (2017). TARJETA DE RED INALÁMBRICAS. Obtenido de TARJETA DE RED INALÁMBRICAS: http:/www.informaticamoderna.com/Tarjetas_red_inalam.htm 15 Briceño Pinilla, J. S. (2013). Aplicación Web para el control de entrada y salida de equipos y uso de parqueaderos de la Universidad Distrital Francisco José de Caldas Facultad Tecnológica por medio de la lectura del código de barras. Bogotá: Universidad Distrital Francisco José de Caldas.

Page 26: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

26

menor tiempo posible, agilizando la circulación dentro del parqueadero y

permitiendo que el usuario permanezca mayor tiempo en el área de comercio.

¿Cómo un sistema optimizado de ingreso para vehículos a un parqueadero con

tarjetas inteligentes, puede mejorar la organización y control del

establecimiento?”16

6.3. Marco de metodología

Para el desarrollo de esta monografía se desea utilizar como metodología SCRUM

Agile debido a que permite una gestión rápida y ágil frente a la evaluación y

desarrollos de proyectos sin importar su complejidad ni su tamaño, de igual forma

permite desarrollar de manera coordinada, con gran control de las mismas y

siempre buscando maximizar los resultados, para ello se realiza la gestión

mediante los siguientes elementos:

- User Story: todas las actividades que se requieren para la ejecución y

desarrollo del proyecto son asignadas en diferentes User Story (historias de

usuario), tales como: creación de base de datos, desarrollo de front-end de la

plataforma, funcionamiento de back-end.

- Product backlog: permite organizar las diferentes user story de acuerdo a su

prioridad y peso con el fin de dar un orden con respecto a su organización para

futuro desarrollo.

- Sprint planning meeting: el equipo de trabajo se reúne con el fin de definir las

user story que se desarrollaran en el sprint.

- Sprint backlog: las user story que se desean desarrollar durante un sprint

(periodo de tiempo que varía entre 1 a 4 semanas dependiendo de la

dificultad).

- Daily meeting: son reuniones cortas que se realizan todos los días con las

cuales se permite dar a conocer a los diferentes miembros del equipo de las

actividades que se han concluido y las que están en progreso.

16 Andrés Tomas Garzon Ayala, B. E. (noviembre de 2006). DISEÑO Y CONSTRUCCIÓN DEL PROTOTIPO DE UN SISTEMA OPTIMIZADO PARA EL INGRESO A PARQUEADEROS VEHÍCULARES CON TARJETAS INTELIGENTES. Obtenido de DISEÑO Y CONSTRUCCIÓN DEL PROTOTIPO DE UN SISTEMA OPTIMIZADO PARA EL INGRESO A PARQUEADEROS VEHÍCULARES CON TARJETAS INTELIGENTES Recuperado el 1 de Abril de 2017, http://biblioteca.usbbog.edu.co:8080/Biblioteca/BDigital/38007.pdf

Page 27: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

27

Al dar por terminado un sprint se realiza una REVIEW en la cual el equipo muestra

los diferentes avances y desarrollos que se realizaron a lo largo del tiempo de

trabajo junto al acompañamiento de algunos usuarios o interesados en el proyecto

con el fin de que ellos hagan una retroalimentación de lo que se ha realizado.

Una vez se termina la review el equipo procede a realizar una reunión de

retrospectiva para que el mismo equipo se dé una retroalimentación de las

actividades que tomaron lugar durante el sprint que se finalizó. Por último se

realiza nuevamente Sprint Planning meeting para acordar cuales son las

siguientes historias de usuario que entrarán a desarrollarse en el siguiente sprint.

“Scrum es un proceso en el que se aplican de manera regular un conjunto de

buenas prácticas para trabajar colaborativamente, en equipo, y obtener el mejor

resultado posible de un proyecto. Estas prácticas se apoyan unas a otras y su

selección tiene origen en un estudio de la manera de trabajar de equipos

altamente productivos.

En Scrum se realizan entregas parciales y regulares del producto final, priorizadas

por el beneficio que aportan al receptor del proyecto. Por ello, Scrum está

especialmente indicado para proyectos en entornos complejos, donde se necesita

obtener resultados pronto, donde los requisitos son cambiantes o poco definidos,

donde la innovación, la competitividad, la flexibilidad y la productividad son

fundamentales.

Scrum también se utiliza para resolver situaciones en que no se está entregando

al cliente lo que necesita, cuando las entregas se alargan demasiado, los costes

se disparan o la calidad no es aceptable, cuando se necesita capacidad de

reacción ante la competencia, cuando la moral de los equipos es baja y la rotación

alta, cuando es necesario identificar y solucionar ineficiencias sistemáticamente o

cuando se quiere trabajar utilizando un proceso especializado en el desarrollo de

producto.

Ver en detalle cuales son los beneficios de Scrum, sus fundamentos y sus

requisitos.

El proceso

En Scrum un proyecto se ejecuta en bloques temporales cortos y fijos (iteraciones

que normalmente son de 2 semanas, aunque en algunos equipos son de 3 y hasta

4 semanas, límite máximo de feedback y reflexión). Cada iteración tiene que

proporcionar un resultado completo, un incremento de producto final que sea

susceptible de ser entregado con el mínimo esfuerzo al cliente cuando lo solicite.

Page 28: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

28

El proceso parte de la lista de objetivos/requisitos priorizada del producto, que

actúa como plan del proyecto. En esta lista el cliente prioriza los objetivos

balanceando el valor que le aportan respecto a su coste y quedan repartidos en

iteraciones y entregas.

Las actividades que se llevan a cabo en Scrum son las siguientes:

Planificación de la iteración

El primer día de la iteración se realiza la reunión de planificación de la iteración.

Tiene dos partes:

- Selección de requisitos (4 horas máximo). El cliente presenta al equipo la lista

de requisitos priorizada del producto o proyecto. El equipo pregunta al cliente

las dudas que surgen y selecciona los requisitos más prioritarios que se

compromete a completar en la iteración, de manera que puedan ser

entregados si el cliente lo solicita.

- Planificación de la iteración (4 horas máximo). El equipo elabora la lista de

tareas de la iteración necesarias para desarrollar los requisitos a que se ha

comprometido. La estimación de esfuerzo se hace de manera conjunta y los

miembros del equipo se auto asignan las tareas.

Ejecución de la iteración

Cada día el equipo realiza una reunión de sincronización (15 minutos máximos).

Cada miembro del equipo inspecciona el trabajo que el resto está realizando

(dependencias entre tareas, progreso hacia el objetivo de la iteración, obstáculos

que pueden impedir este objetivo) para poder hacer las adaptaciones necesarias

que permitan cumplir con el compromiso adquirido. En la reunión cada miembro

del equipo responde a tres preguntas:

- ¿Qué he hecho desde la última reunión de sincronización?

- ¿Qué voy a hacer a partir de este momento?

- ¿Qué impedimentos tengo o voy a tener?

Durante la iteración el Facilitador (Scrum Master) se encarga de que el equipo

pueda cumplir con su compromiso y de que no se merme su productividad.

- Elimina los obstáculos que el equipo no puede resolver por sí mismo.

- Protege al equipo de interrupciones externas que puedan afectar su

compromiso o su productividad.

Page 29: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

29

Durante la iteración, el cliente junto con el equipo refina la lista de requisitos (para

prepararlos para las siguientes iteraciones) y, si es necesario, cambian o re

planifican los objetivos del proyecto para maximizar la utilidad de lo que se

desarrolla y el retorno de inversión.

Inspección y adaptación

El último día de la iteración se realiza la reunión de revisión de la iteración. Tiene

dos partes:

- Demostración (4 horas máximo). El equipo presenta al cliente los requisitos

completados en la iteración, en forma de incremento de producto preparado

para ser entregado con el mínimo esfuerzo. En función de los resultados

mostrados y de los cambios que haya habido en el contexto del proyecto, el

cliente realiza las adaptaciones necesarias de manera objetiva, ya desde la

primera iteración, re planificando el proyecto.

- Retrospectiva (4 horas máximo). El equipo analiza cómo ha sido su manera de

trabajar y cuáles son los problemas que podrían impedirle progresar

adecuadamente, mejorando de manera continua su productividad. El

Facilitador se encargará de ir eliminando los obstáculos identificados.”17

17 Proyectos agiles. (2015). Recuperado el 1 de Abril de 2017, de Proyectos agiles : https://proyectosagiles.org/que-es-scrum/

Page 30: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

30

7. Desarrollo e implementación

7.1. Definición de Historias de usuario BDD

No. 1

Nombre de la Historia de Usuario Spike de hardware

Descripción

Realizar una investigación referente a los componentes de hardware que son necesarios para el desarrollo e implementación de la lectura de las tarjetas inteligentes.

Validaciones

- Conocer los diferentes componentes que darían la posibilidad de realizar el funcionamiento de lo planteado en el proyecto

Criterios de Aceptación

Dado

Cuando

Entonces

Puntos de Estimación 1

Tabla 1 Spike de hardware

No. 2

Nombre de la Historia de Usuario

Cotización de los componentes de hardware

Descripción

Realizar una cotización de los diferentes componentes de hardware necesarios para lograr la implementación y puesta en marcha para el sistema de lectura de las tarjetas inteligentes.

Validaciones

- Obtener varias cotizaciones y propuestas económicas de los materiales necesarios para el desarrollo del proyecto

Criterios de Aceptación

Dado

Cuando

Page 31: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

31

Entonces

Puntos de Estimación 1

Tabla 2 Cotización de los componentes de hardware

No. 3

Nombre de la Historia de Usuario

Spike de requerimientos de software

Descripción

Realizar una investigación de los posibles lenguajes de programación que nos faciliten desarrolla el proyecto de la forma más viable y con los mejores estándares referentes al código.

Validaciones

- Obtener un listado de los diferentes lenguajes de programación con los cuales se pueda desarrollar el proyecto

Criterios de Aceptación

Dado

Cuando

Entonces

Puntos de Estimación 1

Tabla 3 Spike de requerimientos de software

No. 4

Nombre de la Historia de Usuario

Configuración de componentes de Hardware

Descripción

Configurar el sistema electromecánico de lectura de las tarjetas inteligentes

Validaciones

- El sistema debe ser capaz de obtener la información que poseen las diferentes tarjetas inteligentes

Criterios de Aceptación

Dado Que el usuario desea ingresar al parqueadero de la universidad

Cuando Pase su tarjeta inteligente a través

Page 32: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

32

del lector

Entonces

El lector tomara los valores que se encuentran registrado en la tarjeta inteligente

Puntos de Estimación 5

Tabla 4 Configuración de componentes de Hardware

No. 5

Nombre de la Historia de Usuario

Validación de los datos obtenidos por el lector

Descripción

Realizar una validación de los datos que se obtienen a través del uso del lector junto a la tarjeta inteligente.

Validaciones

- Consultar los datos que se tienen en la tarjeta inteligente

- Consultar en la base de datos si se encuentra valores relacionados a la tarjeta.

- Enviar una respuesta de afirmativo o negativo referente a la consulta de los datos en la BD.

Criterios de Aceptación

Dado Que el usuario desea ingresar al parqueadero de la universidad

Cuando Pase su tarjeta inteligente a través del lector

Entonces

El sistema validara si se encuentran los datos de la tarjeta y el usuario en la BD

Puntos de Estimación 3

Tabla 5 Validación de los datos obtenidos por el lector

No. 6

Nombre de la Historia de Usuario

Simulación de la apertura de las puertas del parqueadero

Descripción

Generar la funcionalidad que permita mover el servo motor con el fin de realizar una simulación de la apertura de las puertas del parqueadero y posterior ingreso

Page 33: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

33

Validaciones

- El servo motor debe permitir abrir las puertas del parqueadero de la universidad después que el usuario haya sido validado

Criterios de Aceptación

Dado Que el usuario desea ingresar al parqueadero de la universidad

Cuando Pase su tarjeta inteligente a través del lector

Entonces El sistema permitirá que el servo motor abra la puerta de ingreso

Puntos de Estimación 5

Tabla 6 Simulación de la apertura de las puertas del parqueadero

No. 7

Nombre de la Historia de Usuario

Instalación y configuración del servidor de aplicaciones linux

Descripción

Instalación, configuración y puesta en marcha de un servidor de aplicaciones basado en linux, con sistema operativo Ubuntu Server 16.04, habilitado para la ejecución de aplicaciones web en lenguaje JAVA, sobre apache tomcat y MySQL, además de los ajustes de seguridad y demás necesarios para la comunicación remota con el sistema electromecánico.

Validaciones

Criterios de Aceptación

Dado

Cuando

Entonces

Puntos de Estimación 5

Tabla 7 Instalación y configuración del servidor de aplicaciones linux

No. 8

Nombre de la Historia de Usuario

Desarrollo del frontend de la plataforma del sistema

Descripción

Page 34: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

34

Planeación, análisis, diseño, desarrollo e implementación de una plataforma web

Validaciones

- El usuario administrador podrá ingresar a la plataforma con el fin de consumir los diferentes servicios que se tienen en esta.

- Visualizar la cantidad de motos inscritas al parqueadero

- Visualizar la cantidad de motos que se encuentran en el parqueadero en tiempo real.

Criterios de Aceptación

Dado Que el usuario ingrese a la plataforma

Cuando Seleccione las diferentes consultas que se tienen en esta

Entonces

Podrá visualizar los diferentes datos relativos al uso del parqueadero

Puntos de Estimación 13

Tabla 8 Desarrollo del frontend de la plataforma del sistema

No. 9

Nombre de la Historia de Usuario

Desarrollo del frontend del formulario de registro para los usuarios (estudiantes/profesores)

Descripción

Desarrollar el formulario que le permita a los profesores y estudiantes poder postularse para utilizar el servicio de parqueadero de la universidad

Validaciones

- El usuario podrá ingresar sus datos básicos con el fin de solicitar el servicio de parqueadero

Criterios de Aceptación

Dado Que el usuario ingrese a la plataforma

Cuando Llene el formulario de registro

Entonces Sus datos serán almacenados

Page 35: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

35

para una posterior aprobación por parte de un usuario administrados

Puntos de Estimación 8

Tabla 9 Desarrollo del frontend del formulario de registro para los usuarios (estudiantes/profesores)

No. 10

Nombre de la Historia de Usuario

Desarrollo de frontend para la validación de los usuario por parte del usuario administrador

Descripción

Permitirle al usuario administrador dar de alta a los usuario que se hayan registrado y de igual manera asignar una tarjeta inteligente

Validaciones

- Visualizar los diferentes usuarios que se han registrado en el formulario de registro

- Permitir dar un estado de “activo” a los usuarios que se hayan registrado

- Ingresar el número de la tarjeta inteligente perteneciente a cada usuario

Criterios de Aceptación

Dado Que el usuario ingrese a la plataforma

Cuando Seleccione los usuarios que se le darán de alta

Entonces Asignara la tarjeta inteligente correspondiente al usuario

Puntos de Estimación 13

Tabla 10 Desarrollo de frontend para la validación de los usuario por parte del usuario administrador

No. 11

Nombre de la Historia de Usuario

Desarrollo del frontend login para el usuario administrador

Descripción

Page 36: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

36

Desarrollar el login de la plataforma para que los usuarios de administración ingresen

Validaciones

- El usuario de administración ingresara su Nick de usuario y contraseña para acceder a los servicios de la aplicación.

Criterios de Aceptación

Dado Que el usuario ingrese a la plataforma

Cuando Complete los datos de login

Entonces

Si son válidos le permitirá ingresar y realizar el consumo de las operaciones

Puntos de Estimación 13

Tabla 11 Desarrollo del frontend login para el usuario administrador

No. 12

Nombre de la Historia de Usuario

Realizar modelo entidad / relación de la BD

Descripción

Desarrolla el modelo de entidad / relación que permita la mejor forma de generar la persistencia de los datos que serán utilizados en la plataforma.

Validaciones

- Obtener el diagrama entidad / relación con los diferentes campos necesarios para la BD

- Desarrollar la normalización de los datos.

Criterios de Aceptación

Dado

Cuando

Entonces

Puntos de Estimación 5

Tabla 12 Realizar modelo entidad / relación de la BD

No. 13

Page 37: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

37

Nombre de la Historia de Usuario Realizar query de la BD

Descripción

Desarrolla el query que permita la creación de la base de datos para el uso de la plataforma

Validaciones

- El query debe permitir crear la base de datos con sus diferentes tablas y sus llaves tanto primarias como los secundarios y los campos correspondientes a cada una de las tablas.

Criterios de Aceptación

Dado Cuando

Entonces

Puntos de Estimación 2

Tabla 13 Realizar query de la BD (toptechboy, 2015)

No. 14

Nombre de la Historia de Usuario

Realizar la instalación de la BD en MySQL

Descripción

Ejecutar el query que permita la creación de la BD

Validaciones

- Obtener la base de datos necesaria para el uso de la aplicación.

Criterios de Aceptación

Dado

Cuando

Entonces

Puntos de Estimación 1

Tabla 14 Realizar la instalación de la BD en MySQL

No. 15

Nombre de la Historia de Usuario

Desarrollo del Vacíen resumen de la página

Descripción

Page 38: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

38

Construcción del modelo vista-controlador, además de funcionar en las capas, de Seguridad, repositorio, entidad, modelo, configuración y componentes.

Validaciones

- Desarrollo de los diferentes componentes necesarios para la utilización de la aplicación visualizar la cantidad de motos inscritas y el número de motos que se encuentran en tiempo real

Criterios de Aceptación

Dado Que el usuario administrador ingrese a la página e inicie sesión

Cuando Cargue el landing de la página

Entonces

Visualizara la cantidad de motos inscritas y el número de motos que se encuentran en tiempo real.

Puntos de Estimación 20

Tabla 15 Desarrollo del Backend resumen de la página

No. 16

Nombre de la Historia de Usuario

Registro formulario de usuario estudiante / profesor

Descripción

Mediante el formulario de registra obtener y almacenar los datos pertenecientes a cada uno de los usuarios

Validaciones

- Darle funcionalidad al formulario de almacenar los datos ingresados en la base de datos

Criterios de Aceptación

Dado Que los usuarios ingresen a la aplicación

Cuando Ingresen sus datos en el formulario de registro

Entonces

Los datos serán almacenados en la BD de la aplicación para un futura activación de los usuarios

Puntos de Estimación 13

Tabla 16 Registro formulario de usuario estudiante / profesor

Page 39: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

39

No. 17

Nombre de la Historia de Usuario

Activación de los usuarios registrado

Descripción

Posterior al registro realizado por el usuario (estudiante / profesor) el usuario administrador podrá visualizar los registros y activarlos o desactivarlos

Validaciones

- Permitir al rol de administrador activar/ desactivar a los usuarios (estudiantes / profesores)

Criterios de Aceptación

Dado

Que el administrador ingrese a la aplicación a activar los usuarios registrado a través del formulario

Cuando Seleccione algún usuario

Entonces

Podrá activar o desactivar al usuario seleccionado según corresponda

Puntos de Estimación 13

Tabla 17 Activación de los usuarios registrado

No. 18

Nombre de la Historia de Usuario

Integración de frontend y backend landing de resumen

Descripción

Mediante el frontend consumir los diferentes servicios que prestan los componentes del backend con respecto a la zona de resumen de la aplicación en donde se visualiza la cantidad de motos registradas y las que se encuentran en tiempo real dentro del parqueadero

Validaciones

- Permitir visualizar los datos correspondientes a las motos

Criterios de Aceptación

Dado Que el usuario Administrador inicie sesión

Cuando Haya ingresado sus datos y sean correctos

Entonces Podrá visualizar la cantidad de

Page 40: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

40

motos que se tienen registradas y la cantidad de las mismas que se encuentran en el parqueadero

Puntos de Estimación 20

Tabla 18 Integración de frontend y backend landing de resumen

No. 19

Nombre de la Historia de Usuario

Integración de frontend y backend landing de resumen generar reportes

Descripción

Permitirle al usuario administrador generar reportes a cerca de los datos que son mostrados en la aplicación

Validaciones

- El usuario administrador debe poder generar reportes, es decir imprimirlos mismos

Criterios de Aceptación

Dado Que el usuario Administrador inicie sesión

Cuando Haya ingresado sus datos y sean correctos

Entonces

Podrá visualizar la cantidad de motos que se tienen registradas y la cantidad de las mismas que se encuentran en él y generar un reporte de los datos correspondientes.

Puntos de Estimación 20

Tabla 19 Integración de frontend y backend landing de resumen generar reportes

No. 20

Nombre de la Historia de Usuario Construcción de la maqueta

Descripción

Desarrolla una maqueta con el fin de simular como sería el procedimiento de funcionamiento del ingreso al parqueadero

Validaciones

Page 41: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

41

- Las puertas deben abrirse en el momento en que un usuario registrado pase su tarjeta inteligente

Criterios de Aceptación

Dado

Que un usuario (estudiante / profesor) desee ingresar al parqueadero y se encuentra registrado para el uso del mismo

Cuando Pase su tarjeta inteligente a través del lector

Entonces Se abrirán las puertas permitiéndole el ingreso

Puntos de Estimación 3

Tabla 20 Construcción de la maqueta

7.2. Diagrama entidad/relación

Ilustración 1 Diagrama Entidad / Relación

7.3. Configuracón y cableado raspberry

Page 42: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

42

Ilustración 2 Servo Connected to Raspberry Pi GPIO Pins18

“El cable de tierra es negro, el cable rojo es de 5 voltios, y el cable amarillo es la

línea de control. Si está utilizando un servo diferente, tendrá que leer las

instrucciones para ver cuál es el código de color para sus tres cables, pero es

probable que sea similar al mío. El esquema a continuación muestra cómo debe

enganchar el servo. Obsérvese que tengo el 5V enganchado al pin físico 2, el

servo de tierra enganchado al pin físico 9 de Pi, y la línea de control de servo

conectada al pin físico 11 de Pi.

18 Toptechboy. (2 de Junio de 2015). RASPBERRY PI LESSON 28: CONTROLLING A SERVO ON RASPBERRY PI WITH PYTHON. Recuperado el 26 de Julio de 2017, de RASPBERRY PI LESSON 28: CONTROLLING A SERVO ON RASPBERRY PI WITH PYTHON: http://www.toptechboy.com/raspberry-pi/raspberry-pi-lesson-28-controlling-a-servo-on-raspberry-pi-with-python/

Page 43: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

43

hora con el servo conectado, estamos listos para tratar de controlarlo. Para este

ejemplo, trabajaremos en el shell de Python. Para ingresar al shell de python, abra

una ventana Terminal y, en el símbolo del sistema, escriba:

$ Sudo python

Es importante incluir sudo, ya que el Raspberry Pi sólo permite el acceso a los

pines GPIO al superusuario. Por lo tanto, debe introducir el shell de python como

un superusuario. Cuando escriba el comando anterior, debe moverse al shell de

Python, y debería ver el indicador de shell de python de:

>>> import RPi.GPIO como GPIO Ahora necesitamos decirle al Pi qué esquema de numeración de pines queremos

usar. Por lo tanto, tenemos que emitir el comando:

>>> GPIO.setmode (GPIO.BOARD)

Ahora necesitamos decirle al Pi que el pin físico 11 será un pin de salida:

>>> GPIO.setup (11, GPIO.OUT)

La posición de los servos es controlada por la amplitud de pulso de una señal

PWM de 50 Hz. Por lo tanto, necesitamos activar la secuencia PWM a 50 Hz.

Tenga en cuenta que para una señal de 50 Hz, el Periodo de la señal es 1/50 =

.02 segundos o 20 milisegundos. Tenga presente este Período ya que volveremos

a él más adelante. Comenzamos por crear un objeto PWM en el Pin 11 con una

señal de 50 Hz con el comando:

>>> pwm = GPIO.PWM (11,50)

Ahora podemos iniciar la secuencia pwm dando un comando para especificar el

DutyCycle de la señal.”19

19 Toptechboy. (2 de Junio de 2015). RASPBERRY PI LESSON 28: CONTROLLING A SERVO ON RASPBERRY PI WITH PYTHON. Recuperado el 26 de Julio de 2017, de RASPBERRY PI LESSON 28: CONTROLLING A SERVO ON RASPBERRY PI WITH PYTHON: http://www.toptechboy.com/raspberry-pi/raspberry-pi-lesson-28-controlling-a-servo-on-raspberry-pi-with-python/

Page 44: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

44

RC522 con Raspberry

Ilustración 3 RC522 con Raspberry20

En la tabla acontinuacuón se muestra la conexión entre RC522 y Rpi2

RC522 pin Rpi2 pin nr Nombre del pin

SDA 24 GPIO8

SCK 23 GPIO11

MOSI 19 GPIO10

MISO 21 GPIO9

IRQ Observacón no conectado

Tierra Tierra Tierra

RST 22 GPIO25

3.3 V 1 3V3

Tabla 21Conexión entre RC522 t RPi221

20 martijnschut. (4 de Abril de 2016). RC522 with Raspberry Pi 2. Recuperado el 26 de Julio de 2017, de RC522 with Raspberry Pi 2: http://www.martijnschut.nl/rc522-with-raspberry-pi-2/ 21 martijnschut. (4 de Abril de 2016). RC522 with Raspberry Pi 2. Recuperado el 26 de Julio de 2017, de RC522 with Raspberry Pi 2: http://www.martijnschut.nl/rc522-with-raspberry-pi-2/

Page 45: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

45

“Necesitamos habilitar todas las bibliotecas de python y la interfaz SPI en el RPi2

para que funcione.

Para instalar el entorno python:

Sudo apt-get install python-dev

Habilitar la interfaz spi, para ello edite el achivo /boot/config.txt y agregue las dos

lineas siguientes:

device_tree_param=spi=on

dtoverlay=spi-bcm2708

Para comprobar si la interfaz esta funcionando, reinicie el Rpi y ejecute las

siguientes instrucciones

$ dmesg I grep spi

La salida se verá así:

[ 10.886588] bcm2708_spi 3f204000.spi: master is unqueued, this is deprecated

[ 10.901487] bcm2708_spi 3f204000.spi: SPI Controller at 0x3f204000 (irq 80)

Ahora descargue e instale la librería SPI python:

git clone https://github.com/lthiery/SPI-Py.git

$ cd SPI-Py

$ sudo python setup.py install

Ahora descargue y ejecute la librería RC522:

$ git clone https://github.com/rasplay/MFRC522-python.git

$ cd MFRC522-python

$ python read.py

La salida se verá así:

Card detected

Page 46: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

46

Card read UID: 98,40,242,197,125”22

22 martijnschut. (4 de Abril de 2016). RC522 with Raspberry Pi 2. Recuperado el 26 de Julio de 2017, de RC522 with Raspberry Pi 2: http://www.martijnschut.nl/rc522-with-raspberry-pi-2/

Page 47: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

47

8. Aplicación en Funcionamiento

A continuación se presnetaran pruebas del correcto funcionamiento de la

aplicación:

Puesta en marcha del servicio a través del servidor linux

Ilustración 4 Puesta en marcha desde el servidor linux

Page 48: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

48

Ilustración 5 Ejecución de la instalación

Ilustración 6 Ejecución de la instalación parte 2

Instalación y empaquetamineto de los archivos correspondientes

Page 49: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

49

Ilustración 7 Instalación y empaquetamiento de los archivos correspondientes

Ilustración 8 Instalación y empaquetamiento de los archivos correspondientes - exitoso

Page 50: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

50

Ilustración 9 Empaquetamiento de la aplicación

Ilustración 10 Empaquetamiento de aplicación - exitoso

Ingreso a la aplicación

Page 51: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

51

Ilustración 11 Login de la aplicación

Resumen general de los usuarios registrados para utilizar el servicio del

parqueadero de la facultad junto a la visualización en tiempo real de las motos que

se encuentran en el parqueadero.

Page 52: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

52

Ilustración 12 Resumen de la aplicación parte 1

Ilustración 13 Resumen de la aplicación parte 2

Para cada una de las graficas se puede generar los reportes pertenecientes a las

motos como un archivo de imagen .jpg

Page 53: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

53

Ilustración 14 Exportar graficas

Ilustración 15 Guardar graficas / histórico de datos

Posteriormente en le menu lateral del lado izquierdo dentro de la opción de

Gestión de estudiantes se podran encontrar a cada uno de los usuarios

registrados a través de la aplicación

Page 54: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

54

Ilustración 16 Usuarios registrado

En donde se pondra visualizar la información ingresada para cada uno de los

usuarios

Ilustración 17 Módulo de modificación - datos del estudiante

Page 55: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

55

Y lo más importante el estado de activo o inactivo para el uso del parqueadero

Ilustración 18 Campo de texto estado del usuario

Dentro de la gestión de los estudiantes se le podra agregar las motos acada uno

de los usuarios, en donde se seleccionar el color de la moto, placa y se agregar un

archivo digital perteneciente a la tarjeta de propiedad

Ilustración 19 Input especial para seleccionar el color de la moto

Page 56: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

56

Ilustración 20 Formulario de asignación de moto a un usuario ya existente

Posteriormente se podra visualizar que la operación fue realizada con éxito

Ilustración 21 Confirmación exitosa de asociación de moto

En la parte inferior de la sección de gestión de estudiantes se encuentra un boton

que nos permitira ingresar a los nuevos usuarios

Ilustración 22 Botón de creación de nuevo estudiante

Mediante el cual se accedera al formulario de registro

Page 57: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

57

Ilustración 23 Formulario de registro de estudiantes

Page 58: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

58

9. Conclusiones

- Se logran desarrollar mediante python y utilizando raspberry un sistema que

permite la lectura de las tarjetas inteligentes.

- Se plantea y contruye el prototipo con el cual se demuestra el funcionamiento

de la aplicación y la puesta en marcha del mismo.

- Se aplicacan y se profundizan los conocimientos adquiridos a lo largo de la

carrera y de igual forma se abarca nuevos sectores de conocimiento mediante

la implementación y uso de otro tipo de plataformas con las cuales no se habia

tenido contacto a lo largo de lo transcurrido en la facultad.

- Se cumple a cabalidad con las diferentes historias de usuario y con las

practicas dadas por la metodologia de Scrum Agile.

- Finalmente se logra dar por completsado cada uno de los objetivos que se

plantearon al inicio del proyecto.

Page 59: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

59

10. Bibliografía

Castro, A. (23 de Enero de 2014). ¿Qué es Raspberry Pi, dónde comprarla y cómo

usarla? Recuperado el 23 de Julio de 2017, de ¿Qué es Raspberry Pi, dónde

comprarla y cómo usarla?: http://computerhoy.com/noticias/hardware/que-es-

raspberry-pi-donde-comprarla-como-usarla-8614

Caules, C. Á. (8 de Marzo de 2016). ¿Qué es Spring Boot? Recuperado el 23 de

Julio de 2017, de ¿Qué es Spring Boot?: http://www.arquitecturajava.com/que-es-

spring-boot/

Caules, C. Á. (20 de Noviembre de 2013). Spring MVC Configuración. Recuperado

el 23 de Julio de 2017, de Spring MVC Configuración:

http://www.arquitecturajava.com/spring-mvc-configuracion/

García, M. d. (13 de Enero de 2016). Programar posiciones en un Micro Servo

Tower Pro SG90 9G. Recuperado el 23 de Julio de 2017, de Programar posiciones

en un Micro Servo Tower Pro SG90 9G:

http://miarduinounotieneunblog.blogspot.com.co/2016/01/programar-posiciones-

en-un-micro-servo.html

Hetpro Store. (25 de Abril de 2014). Módulo RFID-RC522 RF con Arduino UNO

SPI. Recuperado el 23 de Julio de 2017, de Módulo RFID-RC522 RF con Arduino

UNO SPI: https://hetpro-store.com/TUTORIALES/modulo-lector-rfid-rc522-rf-con-

arduino/

Michelone, M. L. (2 de Agosto de 2012). Raspbian: Sistema operativo gratuito para

la Raspberry Pi. Recuperado el 23 de Julio de 2017, de Raspbian: Sistema

operativo gratuito para la Raspberry Pi:

https://www.unocero.com/2012/08/02/raspbian-sistema-operativo-gratuito-para-la-

raspberry-pi/

Wikipedia. (28 de Junio de 2016). Maven. Recuperado el 23 de Julio de 2017, de

Maven: https://es.wikipedia.org/wiki/Maven

Wikipedia. (22 de Julio de 2017). Python. Recuperado el 23 de Julio de 2017, de

Python: https://es.wikipedia.org/wiki/Python

Wikipedia. (20 de Julio de 2017). Raspberry Pi. Recuperado el 23 de Julio de

2017, de Raspberry Pi: https://es.wikipedia.org/wiki/Raspberry_Pi

Page 60: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

60

Wikipedia. (24 de Marzo de 2015). Thymeleaf. Recuperado el 23 de Julio de 2017,

de Thymeleaf: https://es.wikipedia.org/wiki/Thymeleaf

Andrés Tomas Garzon Ayala, B. E. (noviembre de 2006). DISEÑO Y

CONSTRUCCIÓN DEL PROTOTIPO DE UN SISTEMA OPTIMIZADO PARA EL

INGRESO A PARQUEADEROS VEHÍCULARES CON TARJETAS

INTELIGENTES. Obtenido de DISEÑO Y CONSTRUCCIÓN DEL PROTOTIPO DE

UN SISTEMA OPTIMIZADO PARA EL INGRESO A PARQUEADEROS

VEHÍCULARES CON TARJETAS INTELIGENTES Recuperado el 1 de Abril de

2017, http://biblioteca.usbbog.edu.co:8080/Biblioteca/BDigital/38007.pdf

Briceño Pinilla, J. S. (2013). Aplicación Web para el control de entrada y salida de

equipos y uso de parqueaderos de la Universidad Distrital Francisco José de

Caldas Facultad Tecnológica por medio de la lectura del código de barras. Bogotá:

Universidad Distrital Francisco José de Caldas.

DOINTECH SAS. (2015). Control de Acceso Vehicular. Obtenido de Control de

Acceso Vehicular Recuperado el 1 de Abril de 2017,

http://www.dointech.com.co/control-acceso-vehicular.html

PENALVA, J. (25 de Enero de 2011). NFC: qué es y para qué sirve. Recuperado

el 1 de Abril de 2017, de NFC: qué es y para qué sirve:

https://www.xataka.com/moviles/nfc-que-es-y-para-que-sirve

Piñero, I. A. (15 de Abril de 2013). NFC (I): Explicación, tutorial básico.

Recuperado el 1 de Abril de 2017, de NFC (I): Explicación, tutorial básico:

http://androcode.es/2013/04/nfc-i-explicacion-tutorial-basico-y-sorteo/

Proyectos agiles. (2015). Recuperado el 1 de Abril de 2017, de Proyectos agiles:

https://proyectosagiles.org/que-es-scrum/

Softeng. (2017). Metodología Scrum para desarrollo de software - aplicaciones

complejas. Recuperado el 1 de Abril de 2017, de Metodología Scrum para

desarrollo de software - aplicaciones complejas: https://www.softeng.es/es-

es/empresa/metodologias-de-trabajo/metodologia-scrum.html

ISO. (Abril de 2011). ISO/IEC 14443-3:2011. Obtenido de ISO/IEC 14443-3:2011:

https://www.iso.org/standard/50942.html

Garzas, J. (15 de Diciembre de 2014). Enlace permanente a Entendiendo qué es

BDD (Behavior-Driven Development) (I). Recuperado el 30 de Julio de 2017, de

Enlace permanente a Entendiendo qué es BDD (Behavior-Driven Development)

(I): http://www.javiergarzas.com/2014/12/bdd-behavior-driven-development-1.html

Page 61: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

61

Wikipedia. (20 de Julio de 2017). Raspberry Pi. Recuperado el 23 de Julio de

2017, de Raspberry Pi: https://es.wikipedia.org/wiki/Raspberry_Pi

Hetpro Store. (25 de Abril de 2014). Módulo RFID-RC522 RF con Arduino UNO

SPI. Recuperado el 23 de Julio de 2017, de Módulo RFID-RC522 RF con Arduino

UNO SPI: https://hetpro-store.com/TUTORIALES/modulo-lector-rfid-rc522-rf-con-

arduino/

Castro, A. (23 de Enero de 2014). ¿Qué es Raspberry Pi, dónde comprarla y cómo

usarla? Recuperado el 23 de Julio de 2017, de ¿Qué es Raspberry Pi, dónde

comprarla y cómo usarla?: http://computerhoy.com/noticias/hardware/que-es-

raspberry-pi-donde-comprarla-como-usarla-8614

Caules, C. Á. (8 de Marzo de 2016). ¿Qué es Spring Boot? Recuperado el 23 de

Julio de 2017, de ¿Qué es Spring Boot?: http://www.arquitecturajava.com/que-es-

spring-boot/

Wikipedia. (28 de Junio de 2016). Maven. Recuperado el 23 de Julio de 2017, de

Maven: https://es.wikipedia.org/wiki/Maven

Caules, C. Á. (20 de Noviembre de 2013). Spring MVC Configuración. Recuperado

el 23 de Julio de 2017, de Spring MVC Configuración:

http://www.arquitecturajava.com/spring-mvc-configuracion/

Wikipedia. (22 de Julio de 2017). Python. Recuperado el 23 de Julio de 2017, de

Python: https://es.wikipedia.org/wiki/Python

García, M. d. (13 de Enero de 2016). Programar posiciones en un Micro Servo

Tower Pro SG90 9G. Recuperado el 23 de Julio de 2017, de Programar posiciones

en un Micro Servo Tower Pro SG90 9G:

http://miarduinounotieneunblog.blogspot.com.co/2016/01/programar-posiciones-

en-un-micro-servo.html

Wikipedia. (24 de Marzo de 2015). Thymeleaf. Recuperado el 23 de Julio de 2017,

de Thymeleaf: https://es.wikipedia.org/wiki/Thymeleaf

Michelone, M. L. (2 de Agosto de 2012). Raspbian: Sistema operativo gratuito para

la Raspberry Pi. Recuperado el 23 de Julio de 2017, de Raspbian: Sistema

operativo gratuito para la Raspberry Pi:

https://www.unocero.com/2012/08/02/raspbian-sistema-operativo-gratuito-para-la-

raspberry-pi/

Garzas, J. (15 de Diciembre de 2014). Enlace permanente a Entendiendo qué es

BDD (Behavior-Driven Development) (I). Recuperado el 30 de Julio de 2017, de

Page 62: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

62

Enlace permanente a Entendiendo qué es BDD (Behavior-Driven Development)

(I): http://www.javiergarzas.com/2014/12/bdd-behavior-driven-development-1.html

Toptechboy. (2 de Junio de 2015). RASPBERRY PI LESSON 28: CONTROLLING

A SERVO ON RASPBERRY PI WITH PYTHON. Recuperado el 26 de Julio de

2017, de RASPBERRY PI LESSON 28: CONTROLLING A SERVO ON

RASPBERRY PI WITH PYTHON: http://www.toptechboy.com/raspberry-

pi/raspberry-pi-lesson-28-controlling-a-servo-on-raspberry-pi-with-python/

martijnschut. (4 de Abril de 2016). RC522 with Raspberry Pi 2. Recuperado el 26

de Julio de 2017, de RC522 with Raspberry Pi 2: http://www.martijnschut.nl/rc522-

with-raspberry-pi-2/

Informática Moderna. (2017). TARJETA DE RED INALÁMBRICAS. Obtenido de

TARJETA DE RED INALÁMBRICAS:

http:/www.informaticamoderna.com/Tarjetas_red_inalam.htm

Page 63: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

63

11. Anexos

Cronograma

Page 64: SISTEMA TELEMÁTICO PARA EL REGISTRO, CONTROL DE …repository.udistrital.edu.co/bitstream/11349/6820/1/MartinezGalvisJ… · joan sebastiÁn martÍnez galvis wilber david amaya cruz

64

Manual de usuario(adjunto)

Manual del programador(adjunto)

Articulo IEE (adjunto)