Está en la página 1de 84

ÁREA DE TECNOLOGÍAS EMERGENTES INDUSTRIALES E INFORMÁTICAS

PROGRAMA ACADÉMICO DE MECATRÓNICA

TÍTULO DE LA ESTADÍA
Diseño de interfaz para el control de acceso por medio de QR

PARA LA EMPRESA

PRESENTA
Alvaro Alejandro Ornelas Martínez

PARA OBTENER EL TÍTULO DE INGENIERO MECATRÓNICO

ASESOR ACADÉMICO: J. Guadalupe Santos Gómez


ASESORA ORGANIZACIONAL: Diana Mireles Martínez

GENERACIÓN: colocar el periodo que corresponde


LEÓN, GUANAJUATO. ABRIL 2022
RESUMEN

Interlap® es una empresa dedicada a brindar y proveer servicios de


telecomunicaciones, servicios de seguridad, automatización y control de acceso
en diferentes niveles tanto para casa-habitación como para el rubro
empresarial. La empresa presenta un problema en los costos de los sistemas
de control de acceso por QR y ha perdido muchos clientes Este el proyecto,
implementará una interfaz de control de acceso por QR propia con la cual la
empresa podrá tener un mayor control de las necesidades del cliente. En
respuesta a la necesidad de la empresa se planteó a la administración una
interfaz que cubra las necesidades que solicitan sus clientes finales
AGRADECIMIENTOS

Se dan cordiales agradecimientos a las siguientes personas:


De parte de la empresa.
• Asesora organizacional Diana Mireles Martínez, gracias por darme la
confianza y la oportunidad de realizar mis estadías y por el apoyo brindado.
• A todos los colaboradores en general de la empresa Interlap por la
colaboración y disposición para apoyar en la realización del proyecto.
De parte de la universidad.
• A mi asesor académico J. Guadalupe Santos Gómez por el apoyo, así
como la asistencia en redacción para el correcto desarrollo del informe.
• Al coordinador de carrera Federico Aguayo por su asesoría a través del
proyecto de estadía y durante la carrera.
• A el personal administrativo de la Universidad Tecnológica de León por el
seguimiento a mi proceso de estadía, así como a toda mi actividad académica.
ÍNDICE

INTRODUCCIÓN………………………………………………………………..……..1
1. ANTECEDENTES..........................................................................................2
2. PROBLEMÁTICA...........................................................................................3
3. JUSTIFICACIÓN............................................................................................4
4. OBJETIVOS...................................................................................................5
4.1. OBJETIVO GENERAL.............................................................................5
4.2. OBJETIVOS METODOLÓGICOS...........................................................5
4.2.1 Presentar una propuesta de diseño de GUI para el control de
acceso……………………………………………………………………….....5
4.2.2 Desarrollar la GUI …………………………………………………...…5
4.2.3 Realizar pruebas y/o mejoras al sistema……………………………..5
4.3 ALCANCE ……………………………………………………………...………5
5. MARCO TEÓRICO……………………………………………………………..
….7
5.1 LENGUAJES DE PROGRAMACIÓN ……………………………………….7
5.1.1 C++……………………………………......…………………….…......7
5.1.2 Python…………………………………………………………………..9
5.1.3 Java……………………………………………………………………11
5.2 CONTROL DE ACCESO…………………………………………………….14
5.2.1 Control de acceso autónomo……………………………………….15
5.2.2 Control de acceso
centralizado……………………………………..17
5.2.3 Control de acceso con Inteligencia Distribuida…………………...19
5.3 TECNOLOGIAS PARA EL CONTROL DE ACCESO………………….….21
5.3.1 RFID……………………………………………………………………21
5.3.2 Sistemas biométricos…………………………………………………
25
5.3.3 QR
…………………………………………………………………….30
6. METODOLOGÍA……………………………………………..................35
6.1 PRESENTACIÓN DE LA PROPUESTA DE DISEÑO DE GUI PARA
EL CONTROL DE ACCESO……………………………………………....35
6.2 DESARROLLO DE LA GUI…………………………………………….
….38
6.3 PRUEBAS Y MEJORAS DE LA GUI………………………………….
…..44
7. RESULTADOS……………………………………………………………….……
49
7.1 PROPUESTA DE DISEÑO DE GUI PARA EL CONTROL DE
ACCESO…………………………………..…………………………………49
7.2 GUI……………………………………………………………………………52
7.3 PRUEBAS Y MEJORAS DEL SISTEMA…………………………………62
CONCLUSIONES..................................................................................................
REFERENCIAS.....................................................................................................
GLOSARIO............................................................................................................
ANEXOS................................................................................................................
INTRODUCCIÓN

1
1. ANTECEDENTES

Interlap® es una empresa que se dedica a brindar y proveer servicios de


telecomunicaciones, servicios de seguridad, automatización y control de acceso
en diferentes niveles tanto para casa-habitación como para el rubro
empresarial, esta empresa nace y se mantiene de origen 100% leonesa que
abre sus puertas en 2009, actualmente se encuentra ubicada la sucursal matriz
en cerro de sanganguey #322, León, Guanajuato. En la colonia cerrito de jerez,
hoy día la empresa cuenta con 16 colaboradores directos y algunos
colaboradores externos que dependen de las necesidades del proyecto en el
cual se encuentren laborando.

Al tiempo que la empresa empezó a implementar el departamento o área


de control de acceso las tecnologías que lo conformaban presentaron un
avance tecnológico significativo, al ser una PyME opto por iniciar con sistemas
perfeccionados como lo son el control de acceso por medio de lectores RFID
entonces empezaron a instalar antenas y sistemas que intercomunicaran los
lectores con los actuadores que en ocasiones son plumas o pistones que
controlan la acción mecánica de apertura y cierre del acceso.

2
2. PROBLEMÁTICA

La empresa Interlap® se ha visto en la necesidad de rechazar los


proyectos de control de acceso que no le representen una ganancia
significativa, al pasar el tiempo noto que los proyectos que decide no realizar
han sumado un numero significantes de clientes rechazados trayendo consigo
una reputación de resignación hacia la actualización tecnológica de los métodos
populares o en tendencia que arrastran también muchas nuevas
recomendaciones que los clientes que perdió pudieran proporcionar.

Al tratar de competir con las últimas tendencias en tecnologías para el


control de acceso como lo son por medio de QR o biométricos , la empresa noto
que el margen de ganancia al tratar de competir con los precios de la
competencia arrojaban un margen de ganancia muy corto ya que los
proveedores de equipos, materiales y mano de obra externa que tiene al
alcance no son capaces de competir directamente con los de la competencia,
sin mencionar el costo por licencias de la interfaz que reducen las ganancias del
proyecto aun más.

3
3. JUSTIFICACIÓN

La pérdida de clientes nuevos, la afectación de la imagen de la empresa


por negarse a actualizar los métodos o tecnologías que provee, así como el
atraso tecnológico que vive en comparación con la competencia han sido
algunas de las repercusiones que ha vivido la empresa interlap® derivado del
problema que surgió al querer competir en el mercado de control de acceso por
QR, así como la diferencia de precios que manejan los proveedores con los que
la empresa cuenta son parte del entorno en el que la empresa se encuentra.

Este proyecto ofrece beneficios tanto a la empresa como para el cliente


final ya que la interfaz puede ser modificada o acondicionada de acuerdo a las
necesidades del cliente como de la empresa, siendo así una opción bastante
atractiva para clientes que buscan funciones específicas en un mismo sistema
trayendo así una buena reputación a la interfaz y a la imagen de la empresa sin
mencionar el margen de ganancia más atractivo y un control total del diseño y
funciones de la interfaz.

4
4. OBJETIVOS
4.1 OBJETIVO GENERAL
Al finalizar el proyecto, implementar una interfaz de control de acceso por
QR propia con la cual la empresa pueda tener un mayor control de las
necesidades del cliente.

4.2 OBJETIVOS METODOLÓGICOS


4.2.1 Presentar una propuesta de diseño de GUI para el control
de acceso
4.2.2 Desarrollar la GUI
4.2.3 Realizar pruebas y/o mejoras al sistema

4.3 ALCANCE
La propuesta de diseño de la GUI para el control de acceso por medio de
código QR constara con elementos o ventanas clásicas interactivas de una
interfaz como lo son en primera instancia un login que correspondería a la
ventana uno en la cual introduciremos un usuario y contraseña previamente
establecidos, si son los correctos se destruirá esa ventana y aparecerá la
segunda ventana que corresponderá a el menú principal en donde tendremos
varias opciones a elegir como lo son historial de eventos, registros, usuarios,
configuración de puertas, horarios, y niveles de accesos, cada una de esas
opciones con su propia ventana.

El desarrollo de GUI se realizará en primera instancia por medio de Qt


Designer en el cual se diseñará cada ventana por separado que conformaran la
interfaz en las cuales integraremos los elementos que conformaran cada
ventana como lo son cuadros de texto, push botons, radio botons, etiquetas,
tablas, imágenes etc, las cuales importaremos en Python y con las cuales
interactuaremos por medio de las librerías de “pyside6”

5
El proyecto propuesto se contempla para la aplicación especifica en un
fraccionamiento pequeño en donde el número de lotes es de 120 en donde
aproximadamente hay 100 casas habitadas y el numero de usuarios por casa
que ocupan el control de acceso por QR promedia en 2, es decir existirán 200
códigos QR que controlarán el acceso del fraccionamiento ya que se limita a la
entrada por medio de plumas y motores en la fase de pruebas y mejora del
sistema se contemplaran las ideas y necesidades del cliente final y se
modificara de acuerdo a sus términos agregando o quitando funciones como lo
requiera.

6
5. MARCO TEÓRICO

5.1 LENGUAJES DE PROGRAMACIÓN

En términos generales, un lenguaje de programación se puede


definir como una herramienta que permite desarrollar software o programas
para computadora. Los lenguajes de programación son empleados para diseñar
e implementar programas encargados de definir y administrar el
comportamiento de los dispositivos físicos y lógicos de una computadora. lo
anterior se logra mediante la creación e implementación de algoritmos de
precisión que se utilizan como una forma de comunicación humana con la
computadora.

5.1.1 C++

Rio (2019) en su publicación fundamentos básicos de programación


en C++ nos dice que:

C++ deriva del lenguaje C. El lenguaje C ha sido, y sigue


siendo, uno de los lenguajes de programación más utilizados. Al
existir una gran cantidad de código escrito en C ´ se consideró
interesante que C++ fuera compatible con C, en el sentido de que se
pudiera ´ utilizar cualquier código C previo en un programa escrito en
C++. Esta compatibilidad se ha conseguido casi al cien por cien. Sin
embargo, C++ es más moderno y mejor que C, permitiendo un estilo
de programación más sencillo y seguro que el estilo de C. En
aquellos aspectos en los que C++ ofrece alternativas más elegantes
que C como en la entrada y salida, en los flujos o en las cadenas de
caracteres se ha preferido estudiar únicamente ´ la interfaz de
programación de C++.

7
C++ es un claro ejemplo que podemos encontrar de uno de los
múltiples lenguajes de programación compilado, multiparadigma, y orientado
a objetos, incluyendo así mismo también programación genérica y funcional.
“Un programa escrito en un lenguaje imperativo es un conjunto de
instrucciones que indican al computador cómo realizar una tarea” (Rio,
2019)

Figura 5.1 Ejemplo de programa en C++

Tipos de datos básicos en C++

La siguiente tabla enumera los principales tipos de datos básicos o


primitivos del lenguaje C++.

Tabla 5.1 Principales tipos de datos básicos de C++

Seudocódigo C++
entero int
real float y double
carácter char
lógico bool

En cuanto a los tipos de datos, se identifica que un tipo de dato


básico o primitivo es aquel que está nativamente respaldado por el lenguaje
de programación. El intervalo de valores que puede representar cada tipo

8
está determinado por la arquitectura del ordenador en el cual se ejecuta el
programa. Como se puede notar, hay dos variantes de datos para
representar números reales. El tipo double tiene una capacidad de
representación más amplia que el float, lo que significa que puede abarcar
un rango más extenso de números y requiere más espacio de
almacenamiento.

5.1.2 Python

Python es un lenguaje de programación interpretado de alto nivel y


multiplataforma (Windows, MacOS, Linux). Creado por Guido van Rossum
(1991). Python es un lenguaje muy expresivo, es decir, los programas
Python son muy compactos: un programa Python suele ser bastante más
corto que su equivalente en lenguajes como C. (Python llega a ser
considerado por muchos un lenguaje de programación de muy alto nivel.)
Python es muy legible. La sintaxis de Python es muy elegante y permite la
escritura de programas cuya lectura resulta más fácil que si utilizáramos
otros lenguajes de programación.

Tipos de datos

Los programas están formados por código y datos. Pero a nivel


interno de la memoria del ordenador no son más que una secuencia de bits.
La interpretación de estos bits depende del lenguaje de programación, que
almacena en la memoria no sólo el puro dato sino distintos metadatos.

Tabla 5.2 Tipos de datos en Python

Nombre Tipo Ejemplo


Booleano Bool True, False
Entero Int 21, 38456, 34_500
Flotante Float 3.1416, 1.5e3
Complejo Comple 2j, 3 + 5j

9
x
Cadena Str ‘tfn’, ‘‘‘tenerife – islas canarias’’’
Tupla Tuple (1, 3, 5)
Lista List [‘Chrome’, ‘Firefox’]
Conjunto Set Set ([2, 2, 6])
Diccionario Dict {‘Chrome’ : ‘v79’ , ‘Firefox’ : ‘v71’}

Variables

Las variables son fundamentales ya que permiten definir nombres


para los valores que tenemos en memoria y que vamos a usar en nuestro
programa. Una variable es un sitio donde guardamos una determinada
información. En función del tipo de información que guardemos (texto,
números, booleanas, etc.), la variable será de uno u otro tipo. Cada variable
tiene que tener un nombre con el que referirnos a ella. Python tiene en
cuenta si escribimos en mayúsculas o minúsculas la variable (lo que se
conoce como case sensitive). No es lo mismo una variable que se llame f1
que una que se llame F1.

Como es lógico y, para evitar confusiones, el nombre de la variable no


puede coincidir con los nombres de los «comandos» de Python (if, for, etc.).
Tampoco podremos usar nombres de variables con tildes o con ñ. Los
nombres de las variables pueden tener una longitud arbitraria. Pueden estar
formados por letras y números, pero deben comenzar con una letra. Aunque
es aceptable usar mayúsculas. El lenguaje usa las palabras reservadas para
definir sus reglas y estructura, y no pueden usarse como nombres de
variables.

10
Figura 5.2 Palabras reservadas en Python (keywords)

5.1.3 Java

Java es un lenguaje de programación desarrollado por Sun


Microsystems. Java fue presentado en la segunda mitad del año 1995 y
desde entonces se ha convertido en un lenguaje de programación muy
popular. Java es un lenguaje muy valorado porque los programas Java se
pueden ejecutar en diversas plataformas con sistemas operativos como
Windows, Mac OS, Linux o Solaris. James Gosling, el director del equipo de
trabajo encargado de desarrollar Java, hizo realidad la promesa de un
lenguaje independiente de la plataforma.

Existen distintos entornos de desarrollo de aplicaciones Java. Este


tipo de productos ofrecen al programador un entorno de trabajo integrado
para facilitar el proceso completo de desarrollo de aplicaciones, desde el
diseño, la programación, la documentación y la verificación de los
programas. Estos productos se denominan IDE (Integrated Development
Environment).

Estructura de un programa en java

11
Un programa describe como un ordenador debe interpretar las
órdenes del programador para que ejecute y realice las instrucciones dadas
tal como están escritas. Un programador utiliza los elementos que ofrece un
lenguaje de programación para diseñar programas que resuelvan problemas
concretos o realicen acciones bien definidas. El siguiente programa Java
muestra un mensaje en la consola con el texto "Hola Mundo". En este
programa se pueden identificar los siguientes elementos del lenguaje Java:
comentarios, definiciones de clase, definiciones de método y sentencias.

Figura 5.3 Ejemplo de un programa en java

Elementos de un programa en Java

A continuación, se describe la definición léxica y sintáctica de los


elementos de un programa Java: comentarios, identificadores, variables y
valores, tipos primitivos, literales, operadores, expresiones y expresiones
aritmeticológicas.

Comentarios

12
 Comentario de bloque. Empieza por /* y termina por */. El compilador
ignora todo el texto contenido dentro del comentario.
 Comentario de documentación. Empieza por / ** y termina por */. Java
dispone de la herramienta javadoc para documentar automáticamente
los programas. En un comentario de documentación normalmente se
indica el autor y la versión del software.
 Comentario de línea. Empieza con //. El comentario comienza con
estos caracteres y termina al final de la línea.

Identificadores

El programador tiene libertad para elegir el nombre de las variables,


los métodos y de otros elementos de un programa. Existen reglas muy
estrictas sobre los nombres que se utilizan como identificadores de clases,
de variables o de métodos. Todo identificador debe empezar con una letra
que puede estar seguida de más letras o dígitos. Una letra es cualquier
símbolo del alfabeto y el carácter '_'. Un digito es cualquier carácter entre '0'
y '9'. Cualquier identificador que empiece con una letra seguida de más
letras o dígitos es válido siempre que no forme parte de las palabras
reservadas del lenguaje Java. El lenguaje Java distingue entre letras
mayúsculas y minúsculas.

Variables y valores

Un programa Java utiliza variables para almacenar valores, realizar


cálculos, modificar los valores almacenados, mostrarlos por la consola,
almacenarlos en disco, enviarlos por la red, etc. Una variable almacena un
único valor. Una variable se define por un nombre, un tipo y el rango de
valores que puede almacenar. El nombre de una variable permite hacer

13
referencia a ella. Este nombre debe cumplir las reglas aplicables a los
identificadores. El tipo indica el formato de los valores que puede almacenar
la variable: cadenas de caracteres, valores lógicos, números enteros,
números reales o tipos de datos complejos. El rango indica los valores que
puede tomar la variable. Para declarar una variable en Java se indica el tipo
y su nombre como en el siguiente ejemplo.

Int mesNacimiento = 2;

La siguiente tabla resume los tipos primitivos de variables en Java.

Tabla 5.3 Tipos de variables en Java

Tipo Descripción Valor mínimo y máximo

Byte Entero con signo -128 a 127

Short Entero con signo -32768 a 32767

Int Entero con signo -2147483648 a 2147483647

Long Entero con signo -922117036854775808 a


+922117036854775807

Float Real de precisión simple ±3.40282347e+38 a


±1.40239846e-45

Doubl Real de precisión doble ±1.7976931348623157e+309


e a
±4.94065645841246544e-324

14
Char Caracteres Unicode \u0000 a \uFFFF

Bolean Valores lógicos True, False

5.2 Control de acceso

Un sistema de control de acceso es un dispositivo que permite autorizar


y registrar a las personas o vehículos que acceden a unas instalaciones. Con
los avances de la tecnología existen múltiples tipos de control de acceso y
presencia que contribuye a mejorar la seguridad de los complejos donde se
instalan. El control de acceso se refiere al conjunto de medidas y tecnologías
diseñadas para regular y gestionar quién tiene permiso para acceder a recursos
o información dentro de una organización, edificio o sistema. Este control se
aplica tanto a personas como a dispositivos, y su objetivo principal es garantizar
la seguridad, protección y privacidad de los activos y recursos.

5.2.1 Control de acceso autónomo

El control de acceso autónomo es un campo en rápido crecimiento en


el ámbito de la seguridad y la protección. Se refiere al uso de tecnología
para controlar el acceso a un espacio físico o recurso sin necesidad de
intervención humana. Este sistema utiliza una combinación de hardware y
software para autenticar la identidad de las personas que intentan acceder a
un lugar específico. Estos sistemas ofrecen una serie de ventajas, como un
mayor nivel de seguridad, registros detallados de acceso y la capacidad de
gestionar fácilmente los derechos de acceso de los usuarios.

Los sistemas de control de acceso autónomos vienen en diversas


formas, incluidas biométricas, tarjetas inteligentes e identificación por
radiofrecuencia (RFID). Los sistemas biométricos utilizan características

15
físicas únicas, como huellas dactilares o reconocimiento facial, para
identificar a las personas. Las tarjetas inteligentes, por otro lado, utilizan
microchips integrados para almacenar y transmitir datos. Los sistemas RFID
utilizan ondas de radio para identificar y rastrear objetos o personas.

Cada tipo de sistema tiene sus propias ventajas y desventajas. Por


ejemplo, los sistemas biométricos ofrecen un alto nivel de seguridad, pero su
implementación y mantenimiento pueden resultar costosos. Las tarjetas
inteligentes son más asequibles, pero pueden perderse o ser robadas. Los
sistemas RFID ofrecen comodidad y velocidad, pero pueden ser vulnerables
a la piratería. Además, los sistemas de control de acceso autónomos se
pueden integrar con otros sistemas de seguridad, como el circuito cerrado
de televisión (CCTV) y los sistemas de alarma. Esta integración permite una
solución de seguridad más completa y eficaz.

Uno de los principales beneficios del control de acceso autónomo es


la mejora de la seguridad y la protección. Al eliminar la posibilidad de error
humano y negligencia, estos sistemas proporcionan un método de control de
acceso más confiable y consistente. Esto, a su vez, reduce el riesgo de
violaciones de seguridad y ayuda a mantener un entorno seguro para las
personas y los activos. Otro beneficio del control de acceso autónomo es
una mayor eficiencia y comodidad para los usuarios.

Estos sistemas se pueden programar para otorgar acceso a


personas específicas en momentos específicos, reduciendo la necesidad de
intervención manual. Esto ahorra tiempo y esfuerzo tanto a los usuarios
como al personal de seguridad. Además, el control de acceso autónomo
puede resultar más rentable a largo plazo al reducir la necesidad de
personal de seguridad.

A pesar de los beneficios, los sistemas autónomos de control de


acceso también plantean preocupaciones éticas y legales. Una de esas

16
preocupaciones es la privacidad. La recopilación y el almacenamiento de
datos personales, como la información biométrica, puede constituir una
violación de los derechos de privacidad de un individuo. Por lo tanto, es
esencial que las organizaciones que implementan estos sistemas tomen
medidas adecuadas para proteger la privacidad de las personas.

Otra preocupación es el potencial de mal uso y abuso de los sistemas


autónomos de control de acceso. Estos sistemas pueden ser pirateados o
manipulados, lo que da lugar a accesos no autorizados o violaciones de
seguridad. Por lo tanto, es fundamental implementar medidas de seguridad
adecuadas para prevenir este tipo de incidentes. Finalmente, los sistemas
autónomos de control de acceso deben cumplir con las normas y leyes de
protección de datos. Las organizaciones deben asegurarse de recopilar y
almacenar datos de manera legal y ética, y de que sean transparentes sobre
sus prácticas de recopilación y uso de datos.

5.2.2 Control de acceso centralizado

El control de acceso centralizado es un aspecto crítico de la gestión


de seguridad moderna. Implica el uso de un único punto de control para
gestionar el acceso a recursos, como edificios, redes y bases de datos. En
otras palabras, permite el control de accesos desde múltiples entradas y
salidas. Es decir, todo está centralizado en un mismo sistema y se controla a
través de un software de control, que permite desde gestionar las
credenciales de acceso hasta realizar auditorías para conocer quién ha
realizado ciertas entradas y salidas.

El control de acceso centralizado se refiere a un enfoque de


seguridad que emplea un sistema centralizado para gestionar el acceso a
los recursos. Implica el uso de un único punto de control, como un servidor o

17
un controlador, para gestionar los privilegios de acceso de usuarios o
grupos. Este sistema proporciona una vista integral de las actividades de
acceso y permite a los administradores controlar quién tiene acceso a qué
recursos. Ejemplos de sistemas de control de acceso centralizados incluyen
Active Directory, LDAP y RADIUS. Estos sistemas se utilizan ampliamente
en organizaciones de todos los tamaños y en diversas industrias para
gestionar el acceso a los recursos.

Características y Beneficios

 Gestión Unificada: Con un sistema centralizado, los administradores


pueden gestionar los permisos de acceso, las políticas de seguridad y
los registros de actividad de todas las ubicaciones desde una sola
consola de administración. Esto simplifica la gestión y reduce la
posibilidad de errores.
 Mayor Seguridad: Al tener una visión global de todos los accesos,
los administradores pueden implementar políticas de seguridad
coherentes en todas las ubicaciones, lo que reduce las lagunas en la
seguridad y minimiza el riesgo de acceso no autorizado.
 Eficiencia Operativa: La centralización del control de acceso puede
mejorar la eficiencia operativa al reducir la necesidad de personal
dedicado en cada ubicación para gestionar los accesos. Además,
simplifica las tareas de mantenimiento y actualización de los
sistemas.
 Flexibilidad y Escalabilidad: Un sistema centralizado es altamente
escalable y puede adaptarse fácilmente a las necesidades
cambiantes de una organización, ya sea debido a la adición de
nuevas ubicaciones o al aumento en el número de usuarios.
 Análisis y Reportes Avanzados: Los sistemas centralizados suelen
ofrecer capacidades avanzadas de análisis y generación de informes,

18
lo que permite a los administradores obtener insights sobre los
patrones de acceso, identificar tendencias y tomar decisiones
informadas sobre la seguridad.
Componentes de un Sistema de Control de Acceso Centralizado

 Servidor Central: Es el corazón del sistema, donde se almacenan y


procesan los datos de acceso, así como donde se realizan las
decisiones de autorización.
 Software de Gestión: Proporciona la interfaz para que los
administradores gestionen los accesos, configuren políticas de
seguridad, generen informes y realicen otras tareas relacionadas con
el control de acceso.
 Dispositivos de Acceso: Incluyen lectores de tarjetas, cerraduras
electrónicas, torniquetes u otros dispositivos que controlan el acceso
a áreas protegidas.
 Red de Comunicación: Conecta todos los dispositivos de acceso con
el servidor central, permitiendo la comunicación bidireccional para la
autenticación y la transmisión de datos.
 Fuentes de Identificación: Pueden incluir tarjetas de proximidad,
dispositivos biométricos (como lectores de huellas dactilares o
reconocimiento facial) o códigos PIN, que se utilizan para autenticar a
los usuarios y permitirles el acceso.

5.2.3 Control de acceso con Inteligencia Distribuida

Imaginemos un sistema de control de acceso con Inteligencia


Distribuida como una evolución sofisticada de los sistemas tradicionales.
Implica el uso de tecnología para restringir el acceso a áreas o recursos
específicos en función de reglas predeterminadas. En los últimos años, los
sistemas de control de acceso han evolucionado hasta incorporar
inteligencia distribuida, que se refiere al uso de múltiples dispositivos

19
interconectados para realizar tareas complejas. Este ensayo explorará el
concepto de control de acceso con inteligencia distribuida, sus aplicaciones
y tendencias futuras.

Los sistemas de control de acceso con inteligencia distribuida están


diseñados para proporcionar un mayor nivel de seguridad que los sistemas
tradicionales. Estos sistemas utilizan múltiples dispositivos, como sensores,
cámaras y paneles de control de acceso, para recopilar y procesar datos en
tiempo real. Los dispositivos están conectados a través de una red, lo que
les permite comunicarse entre sí y realizar tareas complejas. Esta
inteligencia distribuida permite que el sistema tome decisiones inteligentes y
responda rápidamente a las amenazas de seguridad. Uno de los beneficios
de utilizar el control de acceso con tecnología de inteligencia distribuida es
que proporciona un mayor nivel de seguridad.

Concepto de Inteligencia Distribuida

 Distribución de la Inteligencia: En lugar de depender únicamente


de un servidor central para tomar decisiones, la inteligencia se
distribuye en múltiples dispositivos de acceso y puntos de control
dentro de la red.
 Autonomía de los Nodos: Cada dispositivo de acceso tiene
capacidades de procesamiento local y toma decisiones de forma
autónoma en tiempo real, lo que permite respuestas rápidas y
reducción de la carga en el servidor central.
 Colaboración entre Dispositivos: Los dispositivos de acceso
pueden comunicarse entre sí para compartir información y coordinar
acciones, lo que mejora la eficiencia y la seguridad del sistema en su
conjunto.

20
Funcionalidades Avanzadas:

 Detección de Amenazas en Tiempo Real: Los dispositivos de


acceso pueden detectar y responder a situaciones de riesgo de forma
proactiva, como intentos de intrusión, comportamientos sospechosos
o anomalías en los patrones de acceso.
 Adaptabilidad y Resiliencia: El sistema es capaz de adaptarse
dinámicamente a cambios en el entorno o en las condiciones de
operación, manteniendo la seguridad incluso en situaciones adversas
o emergencias.
 Optimización de Recursos: La inteligencia distribuida permite una
gestión más eficiente de los recursos, minimizando el tráfico de red y
reduciendo la dependencia del ancho de banda, lo que mejora la
escalabilidad y el rendimiento del sistema.

5.3 TECNOLOGIAS PARA EL CONTROL DE ACCESO


Normalmente, los sistemas de control de acceso constan de un sistema
de lectura, de un software de gestión y de una central de control. El uso de
tecnologías de control de acceso ha crecido enormemente en los últimos años.
Sin embargo, existen en el mercado muchas soluciones que no cumplen con
los requisitos mínimos de seguridad, confiabilidad y estabilidad que estos
sistemas requieren.

5.3.1 RFID
El sistema de identificación por radiofrecuencia o RFID (Radio
Frequency Identification) es un sistema inalámbrico de almacenamiento y
recuperación de datos que usa ondas de radio para determinar la
identificación de pequeños dispositivos denominados etiquetas o tags RFID.

Componentes básicos en un sistema de RFID

21
 El tag, etiqueta o transponder de RFID: consiste en un pequeño
circuito, integrado con una pequeña antena, capaz de transmitir un
número de serie único hacia un dispositivo de lectura, como
respuesta a una petición. Algunas veces puede incluir una batería.

Figura 5.4 Ejemplo de tag o transponder de RFID

 El lector: (el cual puede ser de lectura o lectura/escritura) está


compuesto por una antena, un módulo electrónico de radiofrecuencia
y un módulo electrónico de control.

Figura 5.5 Ejemplo de lector RFID

22
 Un controlador o un equipo anfitrión: comúnmente una PC o
Workstation, en la cual corre una base de datos y algún software de
control.

Figura 5.6 Ejemplo de equipo anfitrión

Clasificación de la tecnología RFID

Las tecnologías de auto identificación por radio frecuencia se


clasifican en 3 tipos según el tipo del tag:

 Sistemas pasivos: En los cuales las etiquetas de RFID no cuentan


con una fuente de poder. Su antena recibe la señal de
radiofrecuencia enviada por el lector y almacena esta energía en un
capacitor. La etiqueta utiliza esta energía para habilitar su circuito
lógico y para regresar una señal al lector. Éstas etiquetas pueden
llegar a ser muy económicas y pequeñas, pero su rango de lectura es
muy limitado.
 Sistemas activos: Utilizan etiquetas con fuentes de poder
integradas, como baterías. Este tipo de etiquetas integra una

23
electrónica más sofisticada, lo que incrementa su capacidad de
almacenamiento de datos, interfaces con sensores, funciones
especializadas, además de que permiten que exista una mayor
distancia entre lector y etiqueta (20m a 100m). Este tipo de etiquetas
son más costosas y tienen un mayor tamaño.
 Sistemas Semi-Activos: Emplean etiquetas que tienen una fuente
de poder integrada, la cual energiza al tag para su operación, sin
embargo, para transmitir datos, una etiqueta semiactiva utiliza la
potencia emitida por el lector.
En este tipo de sistemas, el lector siempre inicia la comunicación. La
ventaja de estas etiquetas es que al no necesitar la señal del lector para
energizarse (a diferencia de las etiquetas pasivas), pueden ser leídas a
mayores distancias, y como no necesita tiempo para energizarse, Éstas
etiquetas pueden estar en el rango de lectura del lector por un tiempo
substancialmente menor para una apropiada lectura. Esto permite obtener
lecturas positivas de objetos moviéndose a altas velocidades.

Frecuencias de la Tecnología

Las frecuencias de RFID pueden ser divididas en 4 rangos:

1. Baja Frecuencia (9-135 KHz). Los sistemas que utilizan este rango de
frecuencia tienen la desventaja de una distancia de lectura de sólo
unos cuantos centímetros. Sólo pueden leer un elemento a la vez.
2. Alta Frecuencia (13.56 MHz). Esta frecuencia es muy popular y cubre
distancias de 1cm a 1.5 m. Típicamente las etiquetas que trabajan en
esta frecuencia son de tipo pasivo.
3. Ultra High Frecuency (0.3-1.2GHz). Este rango se utiliza para tener
una mayor distancia entre la etiqueta y el lector (de hasta 4 metros,
dependiendo del fabricante y del ambiente). Estas frecuencias no
pueden penetrar el metal ni los líquidos a diferencia de las bajas

24
frecuencias, pero pueden trasmitir a mayor velocidad y por lo tanto
son buenos para leer más de una etiqueta a la vez.
4. Microondas (2.45-5.8GHz). La ventaja de utilizar un intervalo tan
amplio de frecuencias es su resistencia a los fuertes campos
electromagnéticos, producidos por motores eléctricos, por lo tanto,
estos sistemas son utilizados en líneas de producción de automóviles.
Sin embargo, Éstas etiquetas requieren de mayor potencia y son más
costosas, pero es posible lograr lecturas a distancias de hasta 6
metros.
5.3.2 Sistemas biométricos
El concepto biometría viene de las palabras bio (vida) y metría
(medida), consiste en técnicas que miden e identifican las características
físicas únicas de organismos vivos o patrones de su comportamiento, que
permiten identificar los diferentes individuos, como por ejemplo las clásicas
huellas digitales. Dentro de los principales métodos utilizados en la biometría
se encuentran: la cara, la huella, la geometría de la mano, el iris, la voz, las
venas, las orejas, el pulso cardiaco, la radiografía dental, el ADN, la forma
de escribir a mano y la forma de digitar en el computador.

El sistema más común en la práctica, es el reconocimiento de huellas


digitales, y como en cualquier otro método siempre existirá un margen de
error, siendo considerado menor en este. El método de las huellas digitales
se encuentra entre las diez tecnologías emergentes que cambiarán el
mundo según un informe realizado por el Massachussets Institute of
Technology

Técnicas de identificación biométrica

Reconocimiento de firmas. Es la tecnología biométrica menos


problemática, en la actualidad resulta la más difundida en el mundo ya que,
entre otras ventajas, es muy económica si se requiere implementar. Un

25
sistema de este tipo solo necesita una tableta de escritura conectada al
computador. El escaneo de la firma se analiza desde dos puntos de vista,
siendo estos la firma en sí y el modo en que se efectúa. Los datos
almacenados incluyen la velocidad, la presión, la dirección, el largo del
trazado y las áreas donde el lápiz se levanta. El gran inconveniente de este
método es que una persona nunca firma de manera idéntica dos veces.

Figura 5.7 Ejemplo de hardware para el reconocimiento de firmas

Reconocimiento facial o de rostro. De todos los rasgos anatómicos,


el rostro es el elemento que con más frecuencia utilizamos los seres
humanos para identificar a otro individuo. Para ello, el cerebro comienza por
establecer los aspectos físicos de una cara, a continuación, determina si
estas facciones son conocidas o no y, por último, procede a otorgar un
nombre a lo que ve. Este proceso tan aparentemente sencillo para
nosotros puede resultar muy difícil para una máquina.

26
Figura 5.8 Ejemplo de hardware para reconocimiento facial

Mapa de la retina del ojo. Mide el patrón de venas en el fondo del


ojo, que se obtiene proyectando una luz infrarroja a través de la pupila, este
sistema de seguridad biométrica no es muy fiable ya que se ha comprobado
que es susceptible a cambios producidos por irritaciones oculares

Patrón del iris. La identificación basada en el reconocimiento de iris


es más moderna que la basada en patrones retinales. Para ello, se captura
una imagen del iris en blanco y negro, en un entorno correctamente
iluminado, esta imagen se somete a deformaciones pupilares (el tamaño de
la pupila varía enormemente en función de factores externos, como la luz) y
de ella se extraen patrones, que a su vez son sometidos a transformaciones
matemáticas hasta obtener una cantidad de datos (típicamente 256 KBytes)
suficiente para los propósitos de autenticación.

27
Figura 5.9 Ejemplo de hardware para el reconocimiento de iris

Esa muestra, denominada iriscode es comparada con otra tomada


con anterioridad y almacenada en la base de datos del sistema, de forma
que si ambas coinciden el usuario se considera autenticado con éxito; la
probabilidad de una falsa aceptación es la menor de todos los modelos
biométricos.

Figura 5.10 Partes del ojo humano

28
Reconocimiento de la voz. En los sistemas de reconocimiento de
voz no se intenta, como mucha gente piensa, reconocer lo que el usuario
dice, sino identificar una serie de sonidos y sus características para decidir si
el usuario es quien dice ser. Para autenticar a un usuario utilizando un
reconocedor de voz se debe disponer de ciertas condiciones para el correcto
registro de los datos, como ausencia de ruidos, reverberaciones o ecos;
idealmente, estas condiciones han de ser las mismas siempre que se
necesite la autenticación

Figura 5.11 Ejemplo de hardware para el reconocimiento de voz

Reconocimiento de huellas dactilares. El primer paso del proceso


de autenticación consiste en capturar las huellas biométricas de todos los
usuarios del sistema, estas se procesan y se almacena una plantilla de la
huella, posteriormente se captura la huella biométrica del individuo que se
desea identificar, y a continuación se compara con las huellas almacenadas
en la base de datos del sistema.

29
Figura 5.12 Ejemplo de hardware para reconocimiento de huella dactilar

Para la toma de decisiones el resultado de cualquiera de las


comparaciones que se hagan puede presentar una de tres posibilidades
dependiendo de la puntuación que se alcance en la comparación de la
plantilla y el dato biométrico y del umbral que se haya dado al sistema.

Figura 5.13 Líneas de una huella dactilar

5.3.3 QR
La utilización del código QR tiene un gran impacto a nivel mundial en
diversas áreas de implementación que van desde la fabricación, el
almacenamiento, inventariado de productos hasta la utilización como
método de pago móvil, envío exprés, cadena de venta al por menor, entre
otros. Ante tales demandas nacen los lectores QR, de igual forma de
distintas dimensiones, velocidades y alcance. Los códigos QR son una
30
mejora a los códigos de barras, almacenan información en matrices de
puntos o códigos de barras de forma bidimensional.

Figura 5.14 Elementos de un código QR

Componentes de un sistema de control de accesos

 Lector o terminal: es aquel dispositivo cuya función es identificar a la


persona, recoge la información y no es necesario que se conecte
directamente con el controlador. Según los modelos y tipos tienen
distintas características.

31
Figura 5.15 Ejemplo de hardware para reconocimiento de código QR

 Credencial: es aquel elemento o información que se confía a una


persona, que permite su identificación, éstos pueden ser tarjetas,
claves de seguridad, parámetros biométricos, etc.
 Servidor: es el dispositivo o equipo donde se almacenan los registros,
información sobre si el ingreso es válido o no y normalmente es una
computadora, donde además están las instrucciones de los
programas o sistema que se usa.

Figura 5.16 Ejemplo de servidor en un sistema de control de acceso

 Controlador: Es el elemento que decide si es válido o no un ingreso,


se comunica con el servidor para almacenar la información requerida.
Este puede ser un software con respuesta de luces o notificaciones

32
que permite la rápida identificación y en caso no sea válido no se
proceda con el ingreso.

Figura 5.17 Ejemplo de controlador en un sistema de control de acceso

 Mecanismo de apertura: Este componente se “activa” cuando se da


permiso de acceso, este puede darse como la apertura de una puerta
que puede ser mediante un contacto magnético, pulsores eléctricos,
etc.

Figura 5.18 Ejemplo de mecanismo de apertura en un sistema de control de acceso

33
Figura 5.19 Diagrama de flujo de un control de acceso por QR

34
Diferencias entre QR y RFiD
En las tecnologías de auto identificación resaltan justamente las más
utilizadas que son la RFID (tecnología por radiofrecuencia) y el QR (código
de barras bidimensionales), los cuales tienen ventajas y desventajas
respecto a algunos criterios, los cuales ayudan a decidir qué opción es más
factible de implementar dependiendo al uso que se quiere dar.
Tabla 5.4 Diferencias entre QR y RFID

 Visibilidad del código: mientras que el código QR es notorio, para el


RFID se debe notificar qué información conlleva.
 Facilidad de creación y bajo costo: Existen varias formas de poder
generar un código QR en consecuencia el costo para generarlo es
bajo.
 RFID requiere equipamiento especializado: básicamente se refiere al
lector que se usa, puesto que para el RFID debe ser uno de
radiofrecuencias, mientras que para poder leer un código QR es
sencillo encontrar aparatos y aplicaciones de celular.
 Para el RFID es indispensable contar con una base de datos
anexada, mientras que con el código QR, no.

35
6. METODOLOGÍA
6.1 PRESENTACIÓN DE LA PROPUESTA DE DISEÑO DE GUI PARA EL
CONTROL DE ACCESO
En respuesta a la necesidad de la administración del fraccionamiento se
planteó a la administración una interfaz que contara con elementos básicos de
cualquier interfaz como lo son:
 En primera instancia un login el cual contaría con elementos como lo
son el apartado de usuario en donde la administración pudiera elegir
el deseado, y una contraseña, así como un botón de ingresar, en
caso de que la contraseña o el usuario estuvieran erróneos lanzaría
un cuadro de texto informando el problema.
 Una vez introducidos los datos correctos cerraría esa ventana, dando
paso a la segunda que se designó fuera un menú principal en donde
se encontrarían elementos como lo son:
 Dispositivos: En donde se pudiera establecer el dispositivo de
salida que actuara como conexión entre la interfaz y el
dispositivo actuador, es decir una pluma o unos pistones,
tanto de entrada y salidas vehiculares como de peatonales,
así mismo se agregarían botones básicos como lo son
minimizar ventana, cerrar y regresar al menú principal.
 Personal: En donde se encontrará la base de datos de los
usuarios autorizados en la cual se encontrarían submenús
como lo son:
 Agregar: Al entrar en este submenú se desplegaría una
ventana en la cual se podrá ingresar un usuario nuevo
con datos como lo son id de usuario, nombre, apellido,
no. de teléfono, calle, numero, código y estado así
como un par de botones que corresponderían a generar
36
qr y añadir, el botón añadir agregara a la base de
datos un nuevo usuario, mientras el botón generar qr
lanzara una nueva ventana en la cual se podrá generar
un qr con dos espacios donde se podrá introducir un
código y el id de usuario, se contempló que el código a
ingresar seria la calle y numero de casa del colono y al
presionar el botón que se encuentra ahí llamado
generar guardaría una imagen tomando los datos de id
de usuario y código como el nombre de la imagen y la
guardaría en la extensión png.
 Editar: En donde la administración podrá editar
usuarios a su conveniencia y cambiar cualquier valor
que se haya introducido con anterioridad.
 Eliminar: En donde la administración podrá eliminar
algún usuario a su conveniencia que se haya
introducido con anterioridad.
 Buscar: En donde la administración podrá filtrar y
localizar con facilidad cualquier usuario y conocer los
datos que lo conforman para poder editar o eliminar a
su conveniencia.
 Exportar: En donde la administración podrá exportar el
contenido de la base de datos en un archivo Excel para
los usos que más les convengan.
 Regresar al menú principal: En donde se podrá
regresar al menú.
 Escaneo: En este submenú se habilitara la función de
escanear el código qr tanto de entrada como de salida por
medio de cámaras y obtendrá los datos de nombre, apellido,
dirección y código, mismos que se almacenaran en otra base

37
de datos que se designó como registro, así mismo usara el
dato código para cotejarlo con la base de datos de usuario y si
aparece ahí revisara el apartado estado de la base de datos y
si el estado se encuentra como OK dará paso a la activación
de la señal que accionara el mecanismo de automatización
con el que se cuente, así mismo se agregaron botones de
minimizar ventana y cerrar.
 Nivel de acceso: Este submenú se pensó para el control de
visitas y el control de niveles de los diferentes usuarios como
lo son guardias o trabajadores internos del fraccionamiento en
donde se podrá controlar los horarios en los que ciertos
códigos funcionaran dependiendo del código asignado al
usuario.
 Horarios: En donde se contará con la opción de establecer la
fecha y hora, así como la designación de horarios de los
cuales hará uso el submenú niveles de acceso para los
diferentes tipos de usuarios que ingresan o salen del
fraccionamiento
 Reportes: En este submenú la administración podrá ver el
historial de entradas y salidas del fraccionamiento por medio
de la interfaz, contando con los datos completos del usuario
que hizo uso de la interfaz para un mayor control y tendrá la
opción de descargarlo en un archivo EXCEL para el uso que
mas le convenga a la administración.
 Eventos: En donde se podrá ingresar recordatorios de eventos
de cualquier tipo y programar la fecha y horario en el cual el
recordatorio se mostrará en la pantalla como un mensaje.

38
 Botón de cerrar y boto de minimizar : Con los cuales podrán
minimizar la ventana del menú para hacer uso de las demás
funciones del pc y cerrar el programa.

6.2 DESARROLLO DE LA GUI.


El desarrollo de las ventanas que conforman la interfaz se hizo con la
ayuda de Qt designer en el cual guardamos el archivo con extensión .ui que
después convertimos a extensión de Python para poder hacer uso de los
recursos que creamos.

Figura 6.1 Programa Qtdesigner para diseño de interfaces

El primer elemento diseñado fue el login donde se incluyeron elementos


como lo son etiquetas y line edit en donde el usuario ingresara un nombre de
usuario y contraseña asi como un botón de ingresar, para mejorar el diseño
visual de la interfaz se agregaron imágenes y se hicieron traslucidos los fondos
con la finalidad de que sea más agradable visualmente para el usuario.

39
Figura 6.2 Login

Después se diseñó el menú principal que cuenta con submenús en


donde la administración hace uso de las funciones de la interfaz como lo son un
botón de dispositivos en donde se selecciona el dispositivo que actuara como
controlador entre la interfaz y el mecanismo con el cuente el fraccionamiento, el
botón personal en donde puede agregar usuarios y modificarlos, el botón
escaneo en donde se da paso a la lectura de los códigos QR y donde se guarda
la información que detecte el sistema de lectura, el botón nivel de acceso en
donde la administración gestiona permisos para los diferentes niveles de
usuario, el botón horarios en donde se modificara fecha y hora y se puede elegir
un rango de horarios que se pueden asignar en el menú de niveles e acceso, el
botón reportes donde se puede ver los reportes del día, filtrar resultados y
descargar reportes, y por último el botón eventos en donde se puede registrar
eventos con el fin de fungir como recordatorios.

40
Figura 6.3 Menú principal

Figura 6.4 Ventana de dispositivos

41
En la ventana de personal se cuenta con opciones como lo son agregar,
editar, eliminar, buscar y exportar, en esta ventana podremos ver la lista de los
usuarios y las opciones que pueden ser aplicadas a los mismos

Figura 6.5 Ventana de personal

En la sub ventana agregar de la pestaña personal se puede agregar


usuarios nuevos introduciendo datos domo lo son el id de usuario, nombre,
apellido, numero de teléfono, calle, numero, código y estado, así mismo tendrá
opción de generar un código QR para un nuevo usuario y al añadir un usuario
se guardará en la base de datos.

Figura 6.6 Subventana agregar usuario

42
Al generar un código nos pedirá el id de usuario y el codigo que
corresponde a la calle y numero del colono y se guardará automáticamente en
una carpeta del sistema con el nombre combinado de ambos elementos para
así poder ser distribuido al colono.

Figura 6.7 Ventana generar QR

La ventana escaneo empezara a tomar las lecturas del código de entrada


y de salida, así mismo, al detectar algún código rellenara los campos de datos
del código leído y guardara el registro en una base de datos que pertenece al
registro de reportes en donde se puede consultar las entradas y salidas de los
colonos por medio de la interfaz

Figura 6.8 Ventana escaneo

43
El código con que integró las ventanas que conforman la interfaz fue
realizado en visual studio code, se programó en lenguaje Python.

Figura 6.9 Compilador Visual Studio Code

se instaló la librería pyside en su sexta versión y se importaron las


herramientas necesarias que vienen con la extensión para poder hacer uso de
los elementos que conforman cada ventana, así como otras extensiones que
necesitábamos a lo largo del desarrollo como lo son MySQL para las bases de
datos necesarias en donde se almacenaran los datos, cv2 para el uso de la
visión artificial y reconocimiento de imágenes y qrcode para la creación de
códigos qr como se muestra a continuación.
from PySide6 import QtCore
from PySide6.QtWidgets import QApplication, QMainWindow,
QMessageBox, QLineEdit, QWidget
from ui_login import Ui_MainWindow
from ui_menu2 import Ui_Form
from ui_personal import Ui_Personal
from ui_añadir import Ui_anadir
from ui_genqr import Ui_qr

44
from ui_dispositivos import Ui_dispositivos
from ui_escaneo import Ui_escaneo
import mysql.connector
import cv2
import qrcode
import sys

6.3 PRUEBAS Y MEJORAS DE LA GUI.


Para la prueba del login se designó el usuario “Alvaro” y la contraseña
“1234”, se programó un mensaje de error en caso de que alguno de los
elementos fuera incorrecto o detectara un campo vacío informando del
problema y pidiendo la corrección del mismo

Figura 6.10 Prueba de login con datos designados

45
Una de las mejoras que se implemento en esta ventana fue el numero
maximo de caracteres permitidos en el renglon “usuraio” y que el renglon
“pasword” ocultara de la vista los caracteres que se introducen en el.

Figura 6.11 Mejora la ventana login

Figura 6.12 Prueba de mensaje de error en campo contraseña vacío

46
Figura 6.13 Prueba de nombre o contraseña incorrectos

Figura 6.14 Prueba de campo usuario vacío

47
Figura 6.15 Prueba de añadir usuario

Figura 6.16 Prueba de usuario añadido

48
Figura 6.17 Prueba de generar QR

Figura 3

Figura 6.18 Prueba de QR generado para su distribución

49
7. RESULTADOS
7.1 PROPUESTA DE DISEÑO DE GUI PARA EL CONTROL DE ACCESO

La propuesta de diseño se realizó en una junta que se tuvo con la mesa


directiva de la administración en conjunto con la empresa en donde se
acordaron y pactaron los elementos y funciones que llevarían la interfaz,
mismos que se fueron definiendo y modificando al transcurso del tiempo se
fueron delimitando y puntualizando todo tipo de aspectos y funciones de
acuerdo a las necesidades del fraccionamiento teniendo en cuenta las
limitaciones de conocimientos y posibilidades actuales, así como de los
recursos y presupuestos con los que contaba la administración y la empresa, lo
pactado y aceptado por ambas partes en su fase de prueba fue lo siguiente:

El login sería la primera ventana de la interfaz en la cual la


administración definió el usuario y contraseña con la cual tendría acceso a las
funciones que la interfaz ofrece incluyendo dos tipos de usuario con permisos
diferentes como lo son el administrador que tenía la posibilidad de agregar y
modificar usuarios así como todas las funciones con las que un administrador
goza y un usuario reservado que solo tenga funciones básicas de
administración como lo son el control de acceso, registros y lectura de códigos
para que el personal de seguridad pudiera manejar sin dar opción a alguna
alteración de accesos o registros no autorizados.

En el menú principal se encuentran las funciones principales de la


interfaz se elige el dispositivo que funge como interconexión entre la interfaz y
el mecanismo de acceso con el cuenta el fraccionamiento que en este caso son
unas plumas de control vehicular de día que por las noches se deshabilitan para
dar paso a los portones mismos que están automatizados con un par de
pistones, el cambio entre estos mecanismos se habilita de forma manual siendo
responsabilidad de la seguridad a cargo el cambio entre estas, tomando en

50
cuenta que el pulso para el accionamiento es el mismo par ambos mecanismos
solo se considero un pulso para apertura y un pulso para cierre.

En la ventana de personal la administración únicamente tiene los


permisos necesarios para agregar, modificar y eliminar los usuarios que
cuentan con la autorización para poder accesar por medio de la interfaz, ya que
el fraccionamiento cuenta con colonos a los que se denomina como “morosos”
este tipo de colonos son los que por decisión propia optaron por no contribuir al
proyecto, mismos que quedaron excluidos del uso de la aplicación y no se
consideran en la interfaz y su método de acceso difiere del resto que opto por
ser parte del proyecto, cabe mencionar que solo la administración cuenta con el
poder de modificar el apartado de personal.

La ventana escaneo está habilitada para ambos usuarios autorizados


(administrador y operador) ya que es una función básica de la interfaz en donde
el usuario con el que se ingrese sea o no la administración tendrá acceso a la
función de la interfaz que controla y registra el acceso de los usuarios
previamente autorizados que al ser validaos dará paso al accionamiento del
mecanismo de control que se encentre en funcionamiento al momento del
registro dependiendo de la hora, en cualquiera de los escenarios previstos la
interfaz registrara y evaluara el código leído y dependiendo del estatus del
colono dará o no paso acceso por medio de la interfaz.

En la venta reportes la interfaz ofrece la función de un registro tanto de


entradas como de salidas que se efectúen por medio de la aplicación, cabe
destacar que todas aquellas entradas o salidas que se efectúen fuera de la
interfaz no se registraran en el apartado de reportes quedando a cargo de su
registro por completo de la seguridad en turno, este apartado se crea debido a
la necesidad de la administración por tener un mayor control del uso de la
interfaz, mismo que se utiliza con la finalidad de poder aclarar cualquier evento

51
desafortunado o de algún evento de naturaleza cuestionable o de percance que
pudiera presentar el fraccionamiento.

El apartado niveles de acceso se creo con la finalidad de delimitar los


permisos o niveles de acceso de las cuales gozan los diferentes tipos de
usuarios autorizados aunque aun no se delimita o se define exactamente como
la administración espera que funcione se queda pendiente para su próximo
desarrollo y como este afectara al resto de la plataforma, provisionalmente se
crean dos tipos de usuarios uno con el control total de la interfaz y otro con
permisos de funciones básicas, pero se queda agregado para cualquier idea
que la administración pueda tener y así poder agregar la función deseada sin
necesidad de tener que modificar por mucho el diseño de la interfaz.

El apartado horarios se creo con la finalidad de que la interfaz pudiera


almacenar datos como lo son fecha y hora mismos que obtiene del ordenador,
para poder ser interpretados por la interfaz y así extraer los datos necesarios
para poder obtener ser usados en el registro de los accesos autorizados y
plasmar en la base de datos mismos que la administración usara para tener un
control más completo y exacto de todos los eventos en donde la interfaz
interactuará para poder tener bases ante cualquier evento que el
fraccionamiento pudiera presentar en la cual la administración necesitara
efectuar alguna aclaración por motivo de algún evento imprevisto.

Para los reportes la administración gozara de total libertad y tendrá la


posibilidad de sustentar cualquier tipo de evento que se pudiera presentar en el
fraccionamiento producto de algún acceso por medio de la interfaz como lo
pudieran ser eventos de tipo sabotaje o robo por medio del personal de
seguridad o de algún colono que se encuentre rentando alguna propiedad en el
fraccionamiento ya que se han sufrido siniestros de causa aparente por tal
motivo la administración opto por esta función para un mayor control de este
tipo de eventos.

52
7.2 GUI
El login desarrollado se presenta como una ventana sin marcos para una
presentación visual más atractiva con elementos traslucidos que son más
atractivos para el usuario y mejoran la imagen de la empresa en comparación
con las interfaces comerciales que presentan diseños de interfaces simples y
muy comunes, done el usuario ingresa datos de validación como lo son usuario
y contraseña que la administración proporciono para poder acceder a todas las
funciones que la interfaz ofrece, dichos datos dados por la administración se
validan y de ser correctos dan paso a la siguiente ventana.

Figura 7.1 Login final de interfaz con datos de validación dados por la administración

El menú principal desarrollado presenta las funciones pactadas entre la


administración y la empresa que previamente se pactaron en las juntas que
cubren las necesidades que solicito el fraccionamiento en primera instancia

53
teniendo en cuenta que se presenta como un proyecto prototipo con paso a
posibilidad de modificaciones de acuerdo a como la administración lo solicite
dependiendo del monitoreo del monitoreo del funcionamiento en su fase inicial.

Figura 7.2 Menú principal final de la interfaz

En el apartado de dispositos se selecciona el dispositivo que actua de


conexxion entre la interfaz y los mecanismos de accionamiento asi como el
tiempo del pulso y el pin de salida. En la fase actual del proyecto se considero
el microcontrolador arduino por la accesibilad que presenta y la facilidad de la
programacion que ofrece el disposito aunque se siguen considerado otras
opciones como lo son “ESP32” para la interconexion entre la interfaz y los
mecanismos de accionamiento asi como un micro ordenador como lo es una
“raspberry” esta ultima opcion se considera para que sea tanto el servidor como
el dispositivo de interconexion entre la interfaz y los mecanismos, detalles que
se siguen tratando por la administracion.

54
Figura 7.3 Ventana dispositivos para configurar el microcontrolador de interconexión

La ventana personal ofrece los servicios de autorización de usuarios


permitidos para el uso de la interfaz en el cual se cuenta con opciones de
agregar usuarios nuevos, editar usuarios previamente ingresados, eliminar
usuarios que se hayan ingresado en la base de datos, buscar algún usuario e
importar la base de datos en un archivo Excel para los usos que a la
administración más le convenga en esta se puede visualizar el total de usuarios
registrados en la interfaz y modificar cualquier característica que se desee, cabe
mencionar que solo el usuario “administrado” tiene acceso a esta función con la
finalidad de evitar modificaciones no deseadas por parte de la administración
del fraccionamiento .

55
Figura 7.4 Ventana personal para agregar, modificar y eliminar usuarios

Al querer agregar un usuario nuevo se abre una ventana donde se


registra usuarios nuevos agregando los datos necesarios para su correcta
identificación e interpretación por medio de la interfaz dichos datos constan de
Id de usuario, nombre, apellido, teléfono, calle, numero código y estado, estos
datos son los mismos que capturara la interfaz para el registro de entradas y
salidas y que podrán ser consultados por el usuario para cualquier aclaración
ante cualquier tipo de evento, aquí mismo se cuenta con la opción de generar el
código QR que se entregara al colono designado para su uso, mismo que será
su credencial de identificación ante la interfaz.

56
Figura 7.5 Ventana agregar usuario para registro de nuevos usuarios

Al agregar un usuario nuevo se tendrá que generar un código QR que


identifique al usuario, se optó por que el código de dicho usuario fuera el
nombre de la calle más el numero de casa el código se genera en la misma
interfaz al hacer clic en el botón generar QR, en la venta que se muestra
ingresaremos el ID del usuario a registrar y el código que le corresponde,
automáticamente la interfaz generara y guardara una imagen con el nombre
que corresponda al ID de usuario más el código que se ingreso para poder ser
distribuida al colono, en la fase actual se pretende generar un código por
semana y distribuirlo manualmente, aunque después se pretende se genere
automáticamente y se envié al colono de forma automática en una siguiente
fase del proyecto.

57
Figura 7.6 Ventana para generar códigos QR

En la ventana editar se puede filtrar los usuarios por ID, nombre, apellido,
numero de teléfono, numero de casa o código en esta ventana se puede
modificar cualquier usuario que se haya registrado previamente y cambiar o
actualizar cualquier dato que este registrado en la interfaz por cualquier motivo
que la administración más le convenga

Figura 7.7 Ventana editar para modificar usuarios registrados

58
La ventana eliminar dispone de la posibilidad de eliminar cualquier
usuario previamente registrado y al igual que la ventana editar ofrece la
posibilidad de filtrar la búsqueda del usuario a eliminar por ID, nombre, apellido,
numero de teléfono, numero de casa, o código al introducir cualquier de estos
datos mostrara el usuario que se desea eliminar y al presionar el botón eliminar
el usuario seleccionado será eliminado de a base de datos y su código quedara
deshabilitado y no podrá acceder al fraccionamiento por medio de la interfaz
hasta que sea nuevamente habilitado por la administración.

Figura 7.8 Ventana eliminar para eliminar usuarios registrados

La ventana buscar filtra usuarios de acuerdo al criterio de búsqueda que


ingresemos esta ventana a diferencia de las anteriores no se limita a un solo
usuario si no que busca y muestra todos los usuarios que coincidan con el
criterio de búsqueda que ingresemos, los permitidos para esta aplicación son
ID, nombre, calle y estado, al ingresar cualquier de estos datos nos mostrara
todos los elementos que coincidan con el criterio de búsqueda dado para una
fácil localización o filtrado de resultados que se requieran al momento de la
búsqueda.

59
Figura 7.9 ventana buscar para filtrar usuarios según sus datos

La ventana escaneo del menú principal es donde se inicia el proceso de


lectura de códigos QR por medio de los dispositivos periféricos que se
configuren en la interfaz, tanto el usuario administrador como el usuario con
funciones limitadas pueden hacer uso de esta función, en la fase actual del
proyecto se optó por cámaras web para las pruebas siendo estas en esta fase
las que se colocaran para pruebas de funcionamiento y dependiendo del
desempeño que las mismas presenten se decidirá si se cambia de método de
captura o se conserva el dispositivo ya que son un recurso muy económico y de
fácil accesibilidad.

60
Figura 7.10 Ventana escaneo para la captura de credenciales

En la ventana horarios se programó un reloj que toma la hora del


ordenador misma que la interfaz captura para hacer uso del dato al momento
del registro, así como la fecha actual que de igual manera toma del ordenador
para poder hacer uso del dato y así ser usado en los registros de entradas o
salidas que se efectúan por medio de la interfaz, cabe mencionar que si el
ordenador donde se inicialice el programa tiene la hora o fecha errónea la
interfaz tomara ese dato y podrá crear confusiones o errores al momento de
capturar la información, por ello es importante validar de manera manual

61
Figura 7.11 Reloj donde la interfaz toma los datos para los registros

La ventana reportes es donde se registra y accede a todos los registros


de entradas y salidas que han sido efectuadas por medio de la interfaz, en esta
ventana se tiene la posibilidad de filtrar los registros con una fecha y hora de
inicio hasta una fecha y hora de final, al presionar el botón refrescar nos
mostrara los eventos ocurridos en el lapso de tiempo que se estableció
previamente y nos mostrara todos los datos del usuario que hizo uso de la
interfaz en el tiempo dado para cualquier aclaración o ajuste que la
administración necesite, así mismo se tiene la posibilidad de importar los
registros filtrados en un documento de Excel para el uso que más le convenga a
la administración.

62
Figura 7.12 Ventana de reportes de entradas y salidas

7.3 PRUEBAS Y MEJORAS DEL SISTEMA


Las pruebas se iniciaron registrando un usuario con datos inventados
excepto la calle y numero de casa que si corresponden a una del
fraccionamiento donde se implementara el sistema, se llenaron los datos
necesarios, pero antes de añadir al usuario se creó el código QR que
correspondería al usuario registrado como se menciono previamente para la
creación de código se usan los datos de Id de usuario y calle y numero al dar
clic en generar la interfaz genera el código y lo guarda en la carpeta raíz.

63
Figura 7.13 Generación del código QR del primer usuario registrado

Figura 7.14 Código QR generado del primer usuario registrado

Una vez generado el código QR completamos los datos necesarios en el


formulario de registro y presionamos el botón añadir para añadir a la base de
datos el registro generado, cabe mencionar que si se comete algún tipo de error
en los datos de registro la base de datos lo capturara tal cual, pero se tiene la
opción de modificar cualquier dato introducido una ves que se haya registrado
el usuario.

64
Figura 7.15 Prueba de registro del primer usuario

Una vez añadido el usuario veremos reflejado en la ventana de personal


el usuario que acabamos de introducir con todos los datos que nos solicitaba el
formulario, es importante llenar los campos que mas se pueda ya que entre mas
claro se tenga el usuario, más claro será identificarlo así como poder ponerse
en contacto con él para cualquier aclaración o evento que presente el usuario
en cuestión, así como serán mas legibles los registros y se podrá identificar de
manera oportuna cualquier situación que se presente.

65
Figura 7.16 Ventana de personal con el registro del usuario nuevo

Una ves realizado el registro del usuario verificamos que el código QR se


haya guardado correctamente y que el código generado sea correcto esto lo
hacemos con ayuda de una pagina web que lee los códigos QR y así podemos
verificar si al generarlo se logró con éxito y corresponde al dato capturado en la
casilla código, este proceso solo se tiene que hacer una ves para confirmar la
correcta ejecución del código.

Figura 7.17 Verificación que el código se guardo correctamente

66
Figura 7.18 Verificación de código cifrado

Una vez que se verifico que la interfaz genera y guarda el código


correctamente agregamos más usuarios para hacer pruebas en la lectura de los
códigos, los usuarios ingresados como el primero serán inventados en la etapa
de prueba para verifica que el sistema trabaje de forma optima y no presente
errores a la hora de leer o generar los códigos así mismo verificaremos que
coteje el código leído con la base de datos y si se encuentra en la base de
datos revise el estado del usuario, si el estado del usuario se encuentra en “ok”
dará acceso al colono y registrara su entrada o salida sea cual sea el caso en
caso de que sea código incorrecto o el estatus del colono sea diferente de “ok”
no realizara ninguna acción.

67
Figura 7.19 Usuarios de prueba

Después se realizan pruebas de la función editar en la ventana de


personal al hacer clic en el botón arroja la ventana “editar” donde nos pide
ingresar un dato para poder identificar el usuario y poder editar cualquier dato
que se necesite, para esta prueba elegimos el usuario 6, una vez filtrado nos
arroja los datos y da paso a modificar cualquier casilla del usuario, para esta
prueba se cambio el estatus del usuario de “ok” a “moroso”, una vez cambiado
el ítem deseado se presiona el botón “ok” y se guardan los cambios en la base
de datos

68
Figura 7.20 Prueba de búsqueda de usuario por ID

Figura 7.21 Casilla “estado” cambiado a “moroso”

69
Figura 7.22 Verificación de cambio de estado con la función editar

Ahora se probará la función eliminar que funciona prácticamente igual, se


busca el usuario a eliminar por cualquiera de los filtros de búsqueda, una vez
identificado nos rellena los campos con su información y da la opción de
eliminar el usuario, para esta prueba se selecciono el usuario 10, una vez
identificado se presiona el botón de eliminar y el usuario queda eliminado de la
base de datos.

Figura 7.23 Prueba de búsqueda en función eliminar por nombre

70
Figura 7.24 Usuario eliminado de base de datos

Para probar la lectura de código se usó provisionalmente la cámara


integrada del equipo ya que aun no se cuenta con los equipos con los que se
arrancara la prueba directa en el fraccionamiento por tal motivo solo se pudo
probar el lado de entrada para iniciar la captura de imagen se presiona el botón
“run” y da paso a la imagen, el resultado ha sido satisfactorio, la interfaz detecta
y lee el código QR, después lo coteja con la base de datos, revisa el estatus del
usuario y rellena los campos de la ventana, lo que denota que el estatus es
correcto y da paso a mandar la señal al controlador que manda el pulso de
accionamiento al mecanismo de apertura que este en función en ese momento.

71
Figura 7.25 Prueba de inicio de imagen al presionar botón “run”

Presentamos el código ante la cámara para la prueba de captura, en la


prueba se nota que si el código por uno u otro motivo tiene una mancha o no
esta completo por muy pequeña que sea la obstrucción no es capas de leerlo
pues el código toma como referencia los elementos completos que componen el
código, sin embargo la lectura por muy tenue que sea o incluso la lejanía del
código con la cámara es bastante eficiente, no necesita estar muy cerca ni estar
muy enfocado, solo necesita estar completo y es capaz de detectarlo en
movimiento.

72
Figura 26 Prueba de lectura de código QR

73
CONCLUSIONES

Es un título de primer orden sin numeración.

En el contenido de la conclusión se presenta lo novedoso de tu trabajo,


concebido como una deducción lógica de lo desarrollado en tu proyecto. Así, en
esta etapa debes evaluar el cumplimiento o no de lo propuesto en la
introducción. En el caso en que no se logren los resultados esperados, deberás
proponer una posible respuesta que explique por qué sucedió esto o las
falencias de la argumentación o del modelo teórico revisado.

No existen formas establecidas del contenido de las conclusiones, por lo


que es importante considerar que:
- Se deben señalar los resultados que se hayan logrado.
- Se debe evidenciar como se han logrado los resultados.

Por otro lado, en ocasiones se redactan las conclusiones en función a los


objetivos metodológicos, procurando seguir la secuencia de los mismos e incluir
una conclusión por cada uno de ellos, en función a los logros o limitaciones que
se tuvieron para llevar a cabo cada uno de ellos. Al terminar, se incluye una
conclusión general relacionada con el objetivo general.

También se pueden incluir recomendaciones o futuras líneas de trabajo


sobre el proyecto.

NOTA. Se debe evitar redactar experiencias o percepciones de índole personal en las


conclusiones. Por ej. Lo fácil del proyecto como estudiante fue..., esto me permitirá titularme o
esto me permitió aprender..., etcétera.

74
REFERENCIAS

Este apartado incluye una lista de todas las fuentes de consulta


utilizadas para el desarrollo del proyecto. Estas fuentes de consulta pueden
incluir: libros, revistas, periódicos, enciclopedias, folletos, artículos, ponencias,
seminarios, congresos, documentos electrónicos, videos, etc. La forma de
incluir las referencias es de acuerdo al estilo APA en su última versión y por
orden alfabético correspondiente al apellido del autor(a); si no se dispone del
nombre del autor, se utilizará el título del documento consultado.

Para mayor información, consulta la Guía de Forma para el Informe Final


de Estadía (Padilla, 2021) y el Anexo 2. Citas y Referencias

Padilla Gutiérrez, L. A. (2021). Guía de Forma para el Informe Final de


Estadía. México: Universidad Tecnológica de León.
Palomares Salazar, E. (2014) Guía para elaborar el Informe Final de Estadía.
México: Universidad Tecnológica de León.
Isidro Jorge Zertucha González
(González, Sistema de control de acceso mediante código QR, 2022)
Jorge Martínez Ladrón Guevara
(Guevara)
Dr. Alejandro Mendoza Gamiño
(Gamiño, 2020)
Sergio Delgado Quintero (Quintero, 2024)
CORTÉS OSORIO Sistemas de Seguridad basados en Biometría.
(OSORIO, 2010)

75
Allen Downey Aprenda a Pensar Como un Programador, con Python
(Downey, 2002)
Juan Carlos Herrera Lozada Tecnología RFID Aplicada al Control de Accesos
(Lozada, 2009)
ING. DARIO HUILCAPI SUBIA “Sistema de con Control de Acceso y Monitoreo
con la Tecnología RFID (RFID, 2013)
Sistema de control de acceso autónomo (ResearchGate, 2007)
Andrés Marzal Introducción a la programación con Python (Marzal, 2023)
Pedro Corcuera Introducción a la programación en Python (Corcuera)
Challenger-Pérez El lenguaje de programación Python (El lenguaje de
programación Python, 2014)
Carmen Sánchez Ávila Aplicaciones de la Biometría a la Seguridad (Ávila)

76
ANEXO 1
CRONOGRAMA DE ACTIVIDADES

1
ANEXO 2
TABLA DE IMÁGENES
Figura 5.1 Ejemplo de programa en C++......................................................................................8
Figura 5.2 Palabras reservadas en Python (keywords)...............................................................10
Figura 5.3 Ejemplo de un programa en java...............................................................................12
Figura 5.4 Ejemplo de tag o transponder de RFID......................................................................22
Figura 5.5 Ejemplo de lector RFID.............................................................................................. 22
Figura 5.6 Ejemplo de equipo anfitrión .......................................................................................23
Figura 5.7 Figura 5.6 Ejemplo de equipo anfitrión.......................................................................26
Figura 5.8 Ejemplo de hardware para reconocimiento facial ………………………………………26
Figura 5.9 Ejemplo de hardware para el reconocimiento de iris..................................................27
Figura 5.10 Partes del ojo humano ............................................................................................28
Figura 5.11 Ejemplo de hardware para el reconocimiento de voz...............................................28
Figura 5.12 Ejemplo de hardware para reconocimiento de huella dactilar .................................29
Figura 5.13 Líneas de una huella dactilar ..................................................................................29
Figura 5.14 Elementos de un código QR ...................................................................................30
Figura 5.15 P Ejemplo de hardware para reconocimiento de código QR ...................................31
Figura 5.16 Ejemplo de servidor en un sistema de control de acceso .......................................31
Figura 5.17 Ejemplo de controlador en un sistema de control de acceso …...…………………...32
Figura 5.18 Ejemplo de mecanismo de apertura en un sistema de control de acceso ...…..….. 32
Figura 5.19 Diagrama de flujo de un control de acceso por QR ………………………………......33
Figura 6.1 Programa Qtdesigner para diseño de interfaces
Figura 6.2 Login
Figura 6.3 Menu principal
Figura 6.4 Ventana de dispositivos
Figura 6.5 Ventana de personal
Figura 6.6 Subventana agregar usuario
Figura 6.7 Ventana generar QR
Figura 6.8 Ventana escaneo
Figura 6.9 Compilador Visual Studio Code
Figura 6.10 Prueba de login con datos designados
Figura 6.11 Mejora de la ventana login
Figura 6.12 Prueba de mensaje de error en campo contraseña vacio
Figura 6.13 Prueba de nombre o contraseña incorrectos
Figura 6.14 prueba de campo usuario vacio
Figura 6.15 Prueba de añadir usuario
Figura 6.16 Prueba de usuario añadido Figura 6.17 Prueba de generar QR
Figura 6.18 Prueba de QR generado para su distribucion
Figura 7.1 Login final de interfaz con datos de validación dados por la administración
Figura 7.2 Menu principal final de la interfaz ..................................................................................
Figura 7.3 Ventana dispositivos para configurar el microcontrolador de interconexión
Figura 7.4 Ventana personal para agregar, modificar y eliminar usuarios
Figura 7.5 Ventana agregar usuario para registro de nuevos usuarios
Figura 7.6 Ventana para generar codigos QR
Figura 7.7 Ventana editar para modificar usuarios registrados
Figura 7.8 Ventana eliminar para eliminar usuarios registrados
Figura 7.9 ventana buscar para filtrar usuarios según sus datos

2
Figura 7.10 Ventana escaneo para la captura de credenciales
Figura 7.11 Reloj donde la interfaz toma los datos para los registros
Figura 7.12 Ventana de reportes de entradas y salidas
Figura 7.13 Generación del código QR del primer usuario registrado
Figura 7.14 Código QR generado del primer usuario registrado
Figura 7.15 Prueba de registro del primer usuario
Figura 7.16 Ventana de personal con el registro del usuario nuevo Figura 7.17 Verificación que
el código se guardó correctamente
Figura 7.18 Verificación de código cifrado
Figura 7.19 Usuarios de prueba
Figura 7.20 Prueba de búsqueda de usuario por ID
Figura 7.21 Casilla “estado” cambiado a “moroso
Figura 7.22 Verificación de cambio de estado con la función editar
Figura 7.23 Prueba de búsqueda en función eliminar por nombre
Figura 7.24 Usuario eliminado de base de datos
Figura 7.25 Prueba de inicio de imagen al presionar botón “run”
Figura 7.26 Prueba de inicio de imagen al presionar botón “run nuevo

También podría gustarte