Programación interfaz web con el microcontrolador ESP32

Hola, estoy monitoreando sensores con el microcontrolador ESP32, sin embargo estoy usando varios ESP32 cada uno monitoreando sus propios sensores, mi duda es como puedo integrar el monitoreo de cada ESP32 con sus propios sensores a una sola interfaz web.
 
Es decir, ¿vos querés que desde una única página web te informe sobre todos los sensores?

Si es así, deberías hacer que uno de los ESP funcione como "master" y que además de funcionar como servidor web/lectura de sensores propios, tenga que pedirle al resto de los ESP información sobre sus mediciones.
 
Exacto, pero tiene material guia para realizar ese proceso, solo encuentro una interfaz web desde un solo ESP32, como realizo esa petición o conexión de varios ESP32?
Es decir, ¿vos querés que desde una única página web te informe sobre todos los sensores?

Si es así, deberías hacer que uno de los ESP funcione como "master" y que además de funcionar como servidor web/lectura de sensores propios, tenga que pedirle al resto de los ESP información sobre sus mediciones.
Exacto, pero tiene material guia para realizar ese proceso, solo encuentro una interfaz web desde un solo ESP32, como realizo esa petición o conexión de varios ESP32?
 
Material no, porque las veces que usé el Esp fue con comandos "AT" mediante otro micro.

Pero yo encararía el proyecto separándolo en dos partes:

1- Conexión de red y comunicación entre el master y el resto de los esp.
2- Interfaz de página web.

Respecto al punto uno, deberías definir si vas a trabajar con la red propia de los esp (el master como access point "ap") o si vas a tener la posibilidad de usar una red ya existente (con acceso a internet). Esto será importante definirlo porque de la primera forma podrías trabajar fácilmente en forma "estática" predefiniendo las direcciones de los equipos desde el código. En cambio en la segunda podrías encontrarte con direcciones (si bien estáticas) impuestas por una red externa, entonces de alguna forma deberías considerar esas direcciones como variables y desarrollar una interfaz de configuración (por ej. desde la web) para el master y tener algún método que te permita saber la dirección de cada dispositivo.

Luego de tener definida la red, deberías desarrollar el protocolo de comunicación entre el master y los distintos esclavos (en este punto, ya el master tiene una lista de las direcciones de cada esclavo). Esto es relativamente sencillo.

Hasta este punto, te recomendaría empezar de forma sencilla, es decir, trabajar en forma estática y asegurarte que el protocolo de comunicación funcione. Luego, si fuera necesario, trabajar en una red que sea más dinámica.

Respecto al punto dos, si nunca hiciste una interfaz web con estos dispositivos, empezaría con algo sencillo como encender un led, luego varios leds en forma dinámica mediante un casillero en la página, finalmente mostrar en pantalla la lectura de un puerto.

La rutina de interfaz web, se reduce al análisis de un string (html) que te envía el navegador de la pc y vos deberías responderle con otro string (html) que muestre en el navegador de la pc tu página.

Cuando tengas eso básico, empezar con la red "estática" a pedir los datos a los diferentes equipos y mostrarlo en una web "estática". Asi al aire, se me ocurre, conectarte a una página que te muestre un mensaje de "Obteniendo datos", en ese momento usar el protocolo que definiste previamente y obtener cada uno de los datos, al finalizar la comunicación, actualizar la página con una tabla que contenga los valores obtenidos de cada equipo.

Luego de resolver eso, implementar en la página web, una opción de configuración que te permita definir en el master, las direcciones de cada equipo y asi puedas trabajar en redes dinámicas.

Finalmente, podría darse que la cantidad de "esclavos" también sea variable, entonces tu tabla de configuración de las direcciones de cada equipo también deberá ser dinámica, al igual que la página con la tabla que informe las mediciones de los distintos equipos.

Como veras, lo más complicado del proyecto, en realidad no es tanto la comunicación entre los dispositivos y la muestra de valores en una página web, sino la configuración de la estructura al momento de hacerla dinámica.

Después cuando tenga a mano, te puedo pasar una rutina sencilla para mostrar una página web, pero si buscás en internet, vas a encontrar un montón de ejemplos.

Si eligís la opción de una red estática, previamente definida, no debería ser muy complicado el proyecto.
 
A ver, ¿Los sensores están en un entorno próximo o están distribuidos?
Osea:
a) Tengo digamos cinco esp32 en distintos sitios de mi casa o negocio y quiero supervisarlos desde una página web
b) Tengo cinco casas o cinco sucursales de mi negocio en distintas localidades y quiero mostrar esos sensores en una página web

Si el escenario es el a) une todos ls esp en una LAN, que compartan datos entre ellos como creas conveniente, sockets, bluetooth etc y que uno de ellos se conecte a internet y haga de servidor web.
Si es el b) no lo tengo claro del todo, supongo que el que haga de servidor web hará peticiones a los otros, en este caso solamente vía sockets o algo así, configurando los puertos etc en los routers correspondientes.
 
Atrás
Arriba