Pues aquí viene una actualización grande. He tardado un poco más de lo esperado pero quería tener bastantes cosillas que mostrar.
Aviso de que viene tocho..sorry
Ya tengo todo el código funcionando 100% , tanto el ESP32 como la interfaz de usuario. Como ya había comentado, la interfaz es web por lo que es compatible con todos los equipos, móviles, tablets, etc. Os pongo capturas y una pequeña explicación para que veáis las funciones que he puesto y me deis opiniones:
La pantalla de configuración del Wifi:
Cuando el equipo arranca por primera vez lo hace en modo AP, es decir, generando su propia red wifi. Una vez conectados a el, desde está ventana podremos meter la configuración wifi de nuestro router para poder acceder a el desde cualquier equipo o móvil de la casa. La aplicación es la misma tengamos el equipo conectado a la wifi de casa o en modo AP por lo que no es un requisito necesario tenerlo conectado al router. Si alguien por cualquier motivo no quiere enganchar el equipo a su red wifi podrá seguir usándolo y configurándolo de igual forma.
Pantalla de reset:
Para que algunos cambios surtan efecto, por ejemplo la configuración wifi, debemos reiniciar el equipo. Desde esta ventana lo podremos hacer.
Pantalla de fecha/hora:
En esta ventana configuraremos la fecha y hora del equipo. El equipo cuenta con un cliente NTP para configurar la hora a través de internet (opción solamente válida si tenemos el equipo conectado a nuestro router) y un reloj interno para almacenarla si se va la corriente. El cliente NTP es la opción más cómoda pero siempre es posible deshabilitar el servicio NTP y configurar la hora manualmente. Tanto si configuramos la hora manualmente, como si lo hacemos con NTP, podremos indicar nuestra zona horaria y el equipo ajustará automáticamente los cambios de hora de verano e invierno.
Configuración de canales:
El equipo podrá tener desde 1 hasta 8 canales. los pantallazos están hechos con 3 canales pero es fácil imaginar como quedará con 8.
En esta ventana configuraremos todo lo relativo a los canales. La configuración es independiente por canal. Da un poco más de trabajo pero se gana mucha flexibilidad. Cada canal podremos habilitarlo o deshabilitarlo. Si lo desactivamos, deshabilitará la salida PWM y no podremos realizar ningún cambio en toda la aplicación.
Por otra parte en cada canal podremos configurar el PWM mínimo y máximo. Por defecto viene 0-1023 que es el rango completo pero imaginaros que cuando bajamos un canal al 10% ya se queda totalmente apagado y no queremos este comportamiento, pues podríamos subir el PWM mínimo para que el rango sea el deseado. Hay que tener en cuenta que, en el resto de la aplicación, al configurar un canal en porcentaje lo estamos haciendo sobre el rango aquí definido.
Por último sobre los canales, podremos configurar los led que tenemos en cada canal. Estos valores se usarán para unas gráficas de espectro.
Pantalla de inicio:
Está es la pantalla inicial. Podremos ver la potencia del ventilador, la temperatura de la sonda, el estado del wifi, la potencia de cada canal y su modo de funcionamiento.
Pantalla de programación:
El equipo admite hasta 50 puntos de programación. Cada punto de programación contiene: hora, un indicador de si queremos que el cambio sea progresivo o de golpe a la hora indicada y el porcentaje de potencia para cada canal. En esta pantalla podremos añadir, eliminar o editar cada punto y vemos una gráfica de como queda cada canal en las 24h del día. Cuando pulsamos sobre el botón editar, vamos a la siguiente pantalla:
En esta pantalla cambiaremos los valores deseados y pulsaremos en guardar. Si hemos configurado los leds de cada canal, veremos una gráfica del espectro en función de la potencia que estamos dando a cada canal. Por último, si queremos ver como queda la configuración que estamos haciendo, pulsaremos sobre el botón "test" y el equipo cambiará a esta configuración durante 30segundos.
Pantalla manual:
Si no queremos hacer uso del programador, aquí podremos cambiar la configuración de forma manual. Cuidado que si habilitamos el modo manual el equipo se quedará con la configuración que hagamos, no es el modo test de la programación. En esta pantalla, según vayamos cambiando los deslizadores de cada canal, el cambio será efectivo de forma inmediata pudiendo ver los resultado más fácilmente. Nuevamente, si tenemos configurado los leds de cada canal, podremos ver un espectro aproximado en función del porcentaje de cada canal.
Pantalla de ventilador:
En esta pantalla configuraremos las opciones del ventildor. Lo primero es elegir si queremos modo automático o manual. En modo manual pondremos una potencia y esta será mantenida sin cambios a lo largo del tiempo. Si elegimos el modo automático tendremos que configurar una temperatura mínima, temperatura máxima, potencia mínima y potencia máxima. Con estos valores, el equipo creará un escalado e irá variando la potencia en función de la temperatura. Para que sea más visual, en la parte superior hay una gráfica con la potencia que obtendrá el ventilador en función de la temperatura.
Pues esto es todo! Espero que os guste y que lo veais útil. Cualquier opinión, crítica, mejora es bienvenida!