Proyecto 2 2018 I

Titulo

Participantes

-Brayan Martinez
-Oscar Sanabria
-Daniel Fajardo

Abstract

The main objective of this project is to allow control of access to the door of the faculty room of the faculty of telecommunications engineering, through the RapsBerry card, which is programmed in Python language, complying with the action of sending 1s and 0s to another link which is a soneloid that is embedded in the door lock, in order to control access to the ETM 12.

Problema

En nuestro proyecto queremos optimizar la apertura del ETM 12 por medio de un sistema de acceso, realizando una aplicación web que pueda realizar la acción nombrada anteriormente mediante un dispositivo accionado por el usuario que se encuentra conectado a Internet. Así lograr generar un estado estadístico con los datos obtenidos por esta aplicación y usarlo para analizar la entrada de los usuarios al ETM 12, de igual manera facilitar el acceso mediante el sistema y facilitar la apertura, evitar de igual modo el esfuerzo físico y poder remotamente abrir la puerta. Controlamos de igual forma el acceso de las personas a este salón y así se crea una seguridad con esta app web.

Diseño (Arquitectura HW)

MIJO

Diseño detallado (Casos de uso)

Casos de usos

Desarrollo

Funcionamiento

Desde la pagina Web que se creo para que los usuarios (Docentes y personas autorizadas) ingresen dando su nombre de usuario y contraseña correspondiente, lo cual debe concordar con el registro que realizo el administrador en la base de datos creada. Posterior a esto cuando el Usuario desee abrir la puerta y de la orden desde la pagina web, se generara un POST de envió hacia el Bucket, lo cual generara un 1 que se envía por medio de la tarjeta RaspBerry para generar el suficiente voltaje para que por medio del solenoide genere la acción de abrir la puerta, constantemente se esta generando un Get el cual cumple con la función de comparar la hora del ultimo POST que se envió con la hora actual en el momento, realizando un conteo de 15 segundos para posterior a esto cerrar la puerta. Este proceso se genera cada vez que un Usuario desee y que utilizando la aplicación web ordene esta acción.

Es muy importante tener en cuenta que para que el proceso sea el optimo y adecuado, el usuario que desee realizar este proceso debe contar con el Nombre de Usuario y Contraseña correctos, es decir que sean los mismos con los que el Administrador realizo el registro.

Esquemático del montaje

En la imagen que se muestra a continuación, se detalla el diseño de la parte física virtual del proyecto en la cual se ven dos módulos, Modulo 1 y Modulo 2.

Modulo 1: Se observa el Solenoide el cual va incrustado en la puerta muy cerca de la cerradura para la apertura y cierre de la puerta.
Modulo 2: Se observa la tarjeta Raspberrry la cual va conectada al solenoide y es la encarga de enviar los 1s para abrir la puerta y 0s para cerrarla.

FISICO.jpg

En las dos imágenes que se muestran a continuación, son la parte física real del proyecto, la cual se utilizo e implemento para el proyecto, se observa los dos módulos de la imagen anterior ya unidas y debidamente conectadas para su uso.

En esta imagen se observa la caja que contiene el sistema dentro, es decir los dos módulos, ya lista para instalar a la cerradura de la puerta.

end1.jpg

En esta imagen se observa la caja destapada en donde esta todo el sistema, en donde se observa el solenoide fijo a la caja y este conectado a la tarjeta Raspberry, también se observa un Switch Relevo (de color azul) que son los elementos del sistema implementado para la apertura y cierre de la puerta.

end2.jpg

Posibles aplicaciones

La aplicación de este proyecto vista de la forma como acción es permitir la apertura y cierre de una puerta desde Internet para los usuarios que estén registrados en la base de datos.
Si se ve desde el punto de vista de utilizar esta acción como aplicación en general, podrían ser varias, ya que se dejaría a gusto del fin que se necesite. Un ejemplo podría ser para facilitar el acceso a cualquier lugar simplemente entrando a la pagina web y abriendo la puerta, otro seria como seguridad, si en determinado lugar solo se necesita que ingresen algunas personas y no varias, esta seria una muy buena forma de que solo las personas autorizadas para ingresar al lugar lo puedan hacer, ya que este proyecto permite que accediendo por la pagina web solo los usuarios que estén registrados en la base de datos que maneja el administrador lo puedan hacer y de esta forma se tenga un registro de hora y fecha junto con estadísticas del movimiento de los usuarios.

Dificultad encontrada

Configuración - paso a paso

Para el desarrollo del proyecto como se ve en la primera imagen en la que muestra todo el diseño implementado, se puede observar que son varios los elementos que conforman dicho diseño, por tal razón existen varias configuraciones y diferentes, esto en cada uno de los elementos, es decir al momento de crear la Base datos y para tener la información allí se debía trabajar directamente con AWS, para la creación de la aplicación Web que va a realizar la interacción con el Usuario y Administrador se trabajo en HTML5 y para el manejo del Solenoide se trabajo por medio de la tarjeta Raspberry programando en lenguaje Python.

Cada una de estas configuraciones unidas una a la otra, es decir una en función de la otra, son las que realizan el objetivo final conjuntamente.

Configuración en HTML5 para la pagina Web.

En la siguiente imagen se puede detallar el código fuente HTML5 implementado para la creación de la pagina web, esto es mas exactamente el código que se implemento para realizar el Login de los usuarios y del administrador, básicamente en donde se guardan las variables cargadas con lo que escriba el Usuario, para posteriormente ser enviado y comparado con la base de datos para su verificación.

login.jpg

En la siguiente imagen se puede detallar el código fuente PHP implementado para el envió de las variables cargadas de la imagen anterior, para posterior esto ser comparadas con la base de datos y validar la información.

loginphp.jpg

Configuración en AWS.

-En la siguiente imagen se puede observar la configuración del API-GETWAY.

API.jpg

-En la siguiente imagen se puede observar la función LAMBDA dentro del Api-Gatway.

LAMBDA.jpg

-En la siguiente imagen se puede observar las Funciones lambda para controlar las tablas.

BD1.jpg

-En la siguiente imagen se puede observar las Bases de datos.

BD2.jpg

-En la siguiente imagen se puede observar la Base de datos llamada Datos_estadísticos.

BD3.jpg

-En la siguiente imagen se puede observar la Base de datos llamada Registro_usuarios.

BD4.jpg

Configuración en Raspberry Pi Zero

Configuración en PC

sudo screen /dev/ttyUSB0 115200

Código fuente - Scripts en Raspberry Pi Zero

sudo apt-get install python3.1
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License