Problema: El uso de dispositivos embebidos se ha vuelto esencial en el último tiempo, sin embargo, poseen de algunas limitaciones a la hora de codificar con ellos. Limitaciones en memoria, en lenguaje de programación y se suele necesitar eficiencia energética (es decir usar la menor implementación posible).

Solución: Implementar un sistema servidor-cliente, en donde datos tomados por un microcontrolador (ESP32 en este caso) sean trasmitidos vía HTTP hasta una plataforma de más alto nivel (QT creator en este caso), para ahí generar una interfaz grafica donde poder desarrollar interacción con los datos tomados. Se crean servicios en el microcontrolador y la interfaz de QT actúa como un socket donde se recibe la información. La solución implementada considera una red local, donde los datos son enviados vía WiFi.

En palabras más simples, el microcontrolador hace toma de mediciones de datos y espera que un cliente se conecte a la IP y puerto del servidor, establecido por el dispositivo embebido. Una vez que se conecte un cliente, se procede a hacer envío ESP32 Wifi - Bluetooth - BLE 30 Pinesde los datos actuales tomados mediante un archivo JSON.

 

Conceptos exentos al proyecto:

-Servidor-Cliente.

-Socket.

-JSON.

-Microcontrolador.

 

Link a repositorio con el proyecto:   Sebastian Madariaga / Madariaga.Sebastian_Proyecto_ELO329 · GitLab

 

Posibles mejoras:

-Mantener una escucha activa del cliente a posibles cambios en el estado del microcontrolador.

-Generar una comunicación punto a punto donde la interfaz también genere cambios en el microcontrolador.

-No depender de una red local y establecer una conexión a través de un servidor web como aws.

-Mejoras en interfaz grafica y funcionalidades de esta.

 

   

 

IMPORTANTE: por falla en word al generar los htm, los botones con los cuales se redirige a las demás páginas están desfasados, es decir que por ejemplo para acceder a

casos de uso no se debe apretar directamente el botón correspondiente, sino que el espacio vacío entre casos de uso y diagramas UML así respectivamente para cada

botón. El botón inicio es el único que funciona como se espera.