Desarrollo de una aplicación web para la gestión de un laboratorio remoto para prácticas de control automático - D’Agostino, Mauro (My University, 2018)
En este proyecto se describe el desarrollo de una aplicación web que servirá como una herramienta docente para alumnos de diversas carreras. Se trata de una manera de poder realizar ciertas prácticas de control automático a distancia, a través de la aplicación web, eliminando con ello cualquier uso de circuitos o aparatos de medida o generación de señales. Se propone una infraestructura de bajo coste utilizando las famosas Raspberry Pi y placas Arduinos, así como software gratuito y open-source. El backend está desarrollado con Python, un lenguaje que está de moda, y los frameworks Flask y Jinja. El frontend se ha realizado con HTML, CSS, Bootstrap, JavaScript y jQuery. Resalta la utilización de una librería llamada Spacebrew que sirve para comunicarse con las placas Arduino, encargadas de simular los circuitos y devolver los resultados. La aplicación ha sido desarrollada de la manera más robusta posible y la experiencia usuario se ha intentado que sea intuitiva. Además, se ha dado importancia al comportamiento responsive de la aplicación web, asegurándose de que se pueda utilizar correctamente en móviles y tablets. Se ha añadido también una gestión administrativa de los usuarios. Los administradores serán capaces de marcar a los usuarios como activos o inactivos, así como asignarles permisos a unas prácticas u otras. Todo esto desemboca en una manera elegante y moderna de desplegar la aplicación: Docker. La aplicación se ejecuta a través de un script que lanza la imagen Docker como un contenedor. Se incluye, además, un script para correr MySQL como un contenedor. El proyecto está explicado con el máximo detalle posible y los pasos para su ejecución han sido simplificados.
Developing a web app for managing a remote laboratory for practical works of automatic control
Keywords: Aplicaciones (Software); Raspberry Pi (Ordenador); Arduino (Controlador programable); Control automático; Informática - Trabajos Fin de Grado; Grado en Ingeniería Informática - Trabajos Fin de Grado; Laboratorio remoto; Control automático; Aplicación web; Flask; Spacebrew; Docker; Nginx