Mandar datos desde Arduino a una página web

Desde un principio lo han dejado muy claro:


Respuesta rapida.... No se puede...

Puedes hacer lo contrario... desde una pagina web puedes leer el arduino, tambien puedes hacer que el arduino envie datos a algun programa residente en la memoria de un servidor y que se mantenga corriendo como un demonio de linux (o servicio de windows) y de alli guarde los datos en alguna base mysql o fichero txt para que despues la pagina pueda leerlo...


Lo propio es proporcionar la información y la experiencia de como lograr el cometido del que origina el Tema, utilizando el camino/técnica correcto, en varias partes de la discusión se ha comentado o sugerido. Dr. Zoidberg en el post #15 lo deja muy claro y Yo dejo mi experiencia al respecto, con un ejemplo, utilizando varias capas de software en un web server y dejando al arduino solo la tarea de enviar los datos que se deben modificar en el web server; invocando un programa PHP que reside en en el propio web server y en ese mismo web server dejar las paginas WEB disponibles para que muestren los datos que el arduino envío, que es mucho mejor que decir que no se a leído y no comprender que por esta vía se puede llegar al resultado que busca el compañero que origina el tema.

Obviamente existen técnicas de escribir/generar directamente en código HTML para mostrar lo que se plazca....pero ya también se discutió el tema de que no es lo propicio para un microcontrolador como un arduino.

Saludos
 
NO necesita ni escribir ni generar codigo html, la propia página debe ser preparada, para que haga estos cambios, con librerias que existen y son de uso libre se puede hacer muy fácilmente para que los cambios se produzcan sin recargar la página y en tiempo real.
Por ese motivo un arduino puede hacerlo, por ese mimso motivo se lo propusieron como ejercicio, porque hoy es viable
Y yo posteo en base a mi experiencia y no algo que supongo

Tu hablas de base de datos, y el forista habla que se le pidio que el arduino tras presiona un boton, cambie en la página un atributo de la misma, como color

Ahora bien primero se me pidió una simple interfaz para prender un rele desde un servidor web, y hasta ahí no tuve problema alguno. pero luego de presentarlo se me pidió hacer el proceso inverso que desde un pulsador cambie ya sea un palabra, color o fondo en la interfaz del servidor.
Esto es lo que necesita hacer y no tiene nada que ver con una base de datos

Aqui dejo un pequeño ejemplo

https://es.stackoverflow.com/questions/49700/bot%C3%B3n-para-cambiar-el-color-del-background-y-texto
 
Última edición:
Con todo respeto que usted merece pandacba, en toda su disertación no he visto ni una sola linea de código que de un indicio de como un switch o boton conectado en un Arduino interactue con una pagina web (donde sea que esta resida), solo como es posible usando HTML, CSS e incluso Java Script montados en un sitio web, para que se pueda presentar o modificar información en una pagina web, pero codigo C++ del arduino, nada de nada.

A mi personalmente me a intrigado como lo ha logrado pandacba y si le fuera posible regalarnos un ápice de código C++ utilizable en un arduino que nos ilustre y de pauta a concluir el tema que nos ocupa. Quizás, Yo al ser de la "vieja guarda" haya quedado con los métodos que en mi época fueron vigentes y este cerrado con tremendo velo en los ojos.

Si bien es cierto que hay ejemplos de como "embeber" un web server en un arduino y de ahí mostrar lo que se "plasca" a través de generar codigo HTML, pero como ya se dijo no es lo mejor, ya que nunca jamas un arduino podrá brindar las prestaciones que en contra parte un servidor formal si tiene disponible; como son seguridad, control de usuarios, poder contener la información; no de un arduino, sino de dos, diez, cien o mil arduinos y desde el servidor podrán ser presentada la información generada por estos arduinos con toda la calidad y eficiencia que los que son especialistas en desarrollo de sitios web pueden lograr. Y de ahí que lo que a nosotros como especialistas en electrónica nos comprometa que de manera "minimalista", lograr poner un dato en una base de datos, que es lo mejor que al menos personalmente me ha funcionado desde hace mucho años y en su momento los desarrolladores de paginas web lograron, tomando los datos de las bases de datos; impresionantes resultados.

Saludos.
 
En tu servidor web y en el codigo html de la pagina debes incluir:
<div id="mensaje" ></div>

y este script en el head:

Código:
<script type="text/javascript" src="Scripts/jquery-1.9.0.min.js"></script>

Y este en el body:

$(document).ready( function(){
$('#mensaje').load('load.php');
refresh();
});
 
function refresh()
{
	setTimeout( function() {
	  $('#mensaje').load('load.php');
	  refresh();
	}, 500);
}
 
facepalm-emoticon.png


En tu servidor web y en el codigo html de la pagina debes incluir:
<div id="mensaje" ></div>

y este script en el head:

Código:
<script type="text/javascript" src="Scripts/jquery-1.9.0.min.js"></script>

Y este en el body:

$(document).ready( function(){
$('#mensaje').load('load.php');
refresh();
});
 
function refresh()
{
	setTimeout( function() {
	  $('#mensaje').load('load.php');
	  refresh();
	}, 500);
}



No, pues de plano dejo un Ejemplo completo y funcional para el ambiente Arduino (ESP8266):

PHP:
#include <WiFiClient.h>// inluimos libreria para manejar un cliente WiFi
#include <ESP8266WebServer.h>// incluimos libreria para manejar un webserver en un modulo ESP8266
#include <DHT.h>// incluimos la libreria para utilizar un sensor DHT
#include <Adafruit_BMP085.h> // incluimos libreria para utilizar un sensor atmosferico BMP05

#define ssid      "Infinitum_3010"       // Definimos el nombre de nuestro SSID
#define password  "1484349071"  // definimos la key para conectarse a nuestro SSID
#define DHTTYPE   DHT22       // definimos que nuestro sensor de temeperatura es un DHT22
#define DHTPIN    D4          // Definimos en que pin conectamos nuestro sensor de temperatura
const uint8_t GPIOPIN[4] = {D5,D6,D7,D8};  // Led
float   t = 0 ; //Variable que contendrá la Temperatura
float   h = 0 ;// Variable que contendrá la Humedad
float   p = 0;//Variable que contendrá la presión Atmosférica
String  etatGpio[4] = {"OFF","OFF","OFF","OFF"};

// Creamos los objetos
DHT dht(DHTPIN, DHTTYPE);
Adafruit_BMP085 bmp;
ESP8266WebServer server ( 80 );

String getPage(){ // se genera codigo HTML para el cliente
  String page = "<html lang='eng'><head><meta http-equiv='refresh' content='60' name='viewport' content='width=device-width, initial-scale=1'/>";
  page += "<link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css'><script src='https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js'></script><script src='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js'></script>";
  page += "<title>Foros de Electronica ESP8266 como Web server</title></head><body>";
  page += "<div class='container-fluid'>";
  page +=   "<div class='row'>";
  page +=     "<div class='col-md-12'>";
  page +=       "<h1>Foros de Electronica</h1>";
  page +=       "<h3>Mostrando datos de sensor DHT22;o</h3>";
  page +=       "<ul class='nav nav-pills'>";
  page +=         "<li class='active'>";
  page +=           "<a href='#'> <span class='badge pull-right'>";
  page +=           t;
  page +=           "</span> Temperatura</a>";
  page +=         "</li><li>";
  page +=           "<a href='#'> <span class='badge pull-right'>";
  page +=           h;
  page +=           "</span> Humedad;</a>";
  page +=         "</li><li>";
  page +=           "<a href='#'> <span class='badge pull-right'>";
  page +=           p;
  page +=           "</span> Pression atmosferica</a></li>";
  page +=       "</ul>";
  page +=       "<table class='table'>";  // tabla de valores
  page +=         "<thead><tr><th>Transductor</th><th>Medida</th><th>Valor</th><th>Valor Anterior</th></tr></thead>"; //Encabezado de la tabla
  page +=         "<tbody>";  // contenido de la tabla
  page +=           "<tr><td>DHT22</td><td>Temperatura</td><td>"; // Presentamos la primera linea de temperatura
  page +=             t;
  page +=             "°C</td><td>";//presentamos el simbolo de grados centigrados
  page +=             "-</td></tr>";
  page +=           "<tr class='active'><td>DHT22</td><td>Humedad;</td><td>"; // Segunda linea de Humedad
  page +=             h;
  page +=             "%</td><td>"; // presentamos el simbolo de %
  page +=             "-</td></tr>";
  page +=           "<tr><td>BMP180</td><td>Pression Atmosferica</td><td>"; //tercera Linea: presion Atsmosferica (BMP180)
  page +=             p;
  page +=             " mbar</td><td>";// presntamos el simbolo de Milibars
  page +=             "-</td></tr>";
  page +=       "</tbody></table>";
  page +=       "<h3>GPIO</h3>";
  page +=       "<div class='row'>";
  page +=         "<div class='col-md-4'><h4 class ='text-left'>D5 ";
  page +=           "<span class='badge'>";
  page +=           etatGpio[0];
  page +=         "</span></h4></div>";
  page +=         "<div class='col-md-4'><form action='/' method='POST'><button type='button submit' name='D5' value='1' class='btn btn-success btn-lg'>ON</button></form></div>";
  page +=         "<div class='col-md-4'><form action='/' method='POST'><button type='button submit' name='D5' value='0' class='btn btn-danger btn-lg'>OFF</button></form></div>";
  page +=         "<div class='col-md-4'><h4 class ='text-left'>D6 ";
  page +=           "<span class='badge'>";
  page +=           etatGpio[1];
  page +=         "</span></h4></div>";
  page +=         "<div class='col-md-4'><form action='/' method='POST'><button type='button submit' name='D6' value='1' class='btn btn-success btn-lg'>ON</button></form></div>";
  page +=         "<div class='col-md-4'><form action='/' method='POST'><button type='button submit' name='D6' value='0' class='btn btn-danger btn-lg'>OFF</button></form></div>";
  page +=         "<div class='col-md-4'><h4 class ='text-left'>D7 ";
  page +=           "<span class='badge'>";
  page +=           etatGpio[2];
  page +=         "</span></h4></div>";
  page +=         "<div class='col-md-4'><form action='/' method='POST'><button type='button submit' name='D7' value='1' class='btn btn-success btn-lg'>ON</button></form></div>";
  page +=         "<div class='col-md-4'><form action='/' method='POST'><button type='button submit' name='D7' value='0' class='btn btn-danger btn-lg'>OFF</button></form></div>";
  page +=         "<div class='col-md-4'><h4 class ='text-left'>D8 ";
  page +=           "<span class='badge'>";
  page +=           etatGpio[3];
  page +=         "</span></h4></div>";
  page +=         "<div class='col-md-4'><form action='/' method='POST'><button type='button submit' name='D8' value='1' class='btn btn-success btn-lg'>ON</button></form></div>";
  page +=         "<div class='col-md-4'><form action='/' method='POST'><button type='button submit' name='D8' value='0' class='btn btn-danger btn-lg'>OFF</button></form></div>";
  page +=       "</div>";
  page +=     "<br><p><a href='http://www.forosdeelectronica.com'>www.forosdeelectronica.com</p>";
  page += "</div></div></div>";
  page += "</body></html>";
  return page;
}
void handleRoot(){ 
  if ( server.hasArg("D5") ) {
    handleD5();
  } else if ( server.hasArg("D6") ) {
    handleD6();
  } else if ( server.hasArg("D7") ) {
    handleD7();
  } else if ( server.hasArg("D8") ) {
    handleD8();
  } else {
    server.send ( 200, "text/html", getPage() );
  }  
}

void handleD5() {
  String D5Value; 
  updateGPIO(0,server.arg("D5")); 
}

void handleD6() {
  String D6Value; 
  updateGPIO(1,server.arg("D6")); 
}

void handleD7() {
  String D7Value; 
  updateGPIO(2,server.arg("D7")); 
}

void handleD8() {
  String D8Value; 
  updateGPIO(3,server.arg("D8")); 
}

void updateGPIO(int gpio, String DxValue) {
  Serial.println("");
  Serial.println("Actualizar GPIO "); Serial.print(GPIOPIN[gpio]); Serial.print(" -> "); Serial.println(DxValue);
  
  if ( DxValue == "1" ) {
    digitalWrite(GPIOPIN[gpio], HIGH);
    etatGpio[gpio] = "On";
    server.send ( 200, "text/html", getPage() );
  } else if ( DxValue == "0" ) {
    digitalWrite(GPIOPIN[gpio], LOW);
    etatGpio[gpio] = "Off";
    server.send ( 200, "text/html", getPage() );
  } else {
    Serial.println("Valor incorrecto de Led");
  }  
}

void setup() {
  for ( int x = 0 ; x < 5 ; x++ ) { 
    pinMode(GPIOPIN[x],OUTPUT);
  }  
  Serial.begin ( 115200 );
  // Inicializamos el sensor BMP180
  if ( !bmp.begin() ) {
    Serial.println("BMP180 No se pudo inicializar");
    while(1);
  } else {
    Serial.println("BMP180 Listo y en servicio");
  }
  
  WiFi.begin ( ssid, password );
  // Iniciamos Conexion a router
  while ( WiFi.status() != WL_CONNECTED ) {
    delay ( 500 ); Serial.print ( "." );
  }
  // OK si la conexion se realiza
  Serial.println ( "" ); 
  Serial.print ( "Conectado a: " ); Serial.println ( ssid );
  Serial.print ( "Direccion Ip de escucha " ); Serial.println ( WiFi.localIP() );

  // Liga para la funcion que maneja la pagina de lanzamiento 
  server.on ( "/", handleRoot );

  server.begin();
  Serial.println ( "Servidor HTTP iniciado en el puerto 80" );
  
}

void loop() {
  // aqui debemos incluir el codigo que consideremos deba estar corriendo repetidamente
  // en este caso mantenemos la atencion a un posible cliente, leemos la temperatura y humedad del DHT y por ultimo la presion atmosferica del BMP180
  server.handleClient();
  t = dht.readTemperature();
  h = dht.readHumidity();
  p = bmp.readPressure() / 100.0F;

  delay(1000);// este delay es meramente opcional y solo sirve para efectos de depurar el programa
}


Como se puede apreciar en el Código C++, con esta Técnica se puede emular un servicio WEB SERVER (interactivo), donde el código tiene como característica la de "generar" una pagina WEB (HTML) dependiendo de los valores obtenidos de diferentes sensores y estados de los GPIO. En donde se evita tener diferentes capas de Software o no interactuar directamente con un Servidor WEB Formal.


Comentario con respecto a este programa.-La razón por la que no apoyo que se use un arduino como web server, es porque en un solo programa quedan inmersos tal cantidad de conceptos que no es para nada didáctico para el que se inicia en este mundo; listo algunos de ellos.

  • Programacion C++ (arduino)
  • Programacion HTML
  • Uso de script CCS
  • Uso de script Java Script
  • Uso de script Ajax
  • TCP/IP
  • Conceptos de servicios WEB
  • Electronica
  • Librerías de terceros
  • Mucha habilidad para mezclar todo lo anterior.


Hasta aquí todo luce muy Bonito, sin embargo, si se considera que nuestra tarjeta debiera entrar en producción en un numero considerable, y que es necesario implementar características de seguridad, conectividad asegurada, auditar datos, fechas, firewalls, acceso de control a cada una de estas tarjetas e incluso modificar el Firmware contenido "en este caso en el Arduino (esp8266) " pues es cuando debemos considerar que es mejor hacer las cosas mucho mas "minimalistas" y sencillas para el microcontrolador. y de ahí que sea mas factible que desde el microcontrolador se invoque una pagina o servicio residente en un servidor formal que reciba los datos que se quieren registrar , de tal suerte que una vez entregada la información y almacenada en una base de datos; esta sea gestionada y presentada de mejor manera desde otras instancias.

Con esto dejo terminados mis comentarios y ejemplos que cubren las dos formas de Implementar una aplicación funcional que cubre el origen del presente Tema.

Reciban un cordial saludo.
 
Última edición:
Debemos recordar que quien pidió ayuda se le solicito a modo de ejercicio, al apretar un botón arduino pudiera cambiar un atributo de la pag.
Es decir tan solo un simple ejercicio.
No veo en parte alguna que hable de hacer tarjetas en masa, es solo un ejercicio, que le permitirá aprender expandir las posibilidades, investigar para obtener resultados, y de eso se trata aprender a dar respuesta a los desafíos investigando.
De echo no son nuevos este tipo de cosas, asi como los sistemas envevidos o los servidores web embevidos, hace más de 20 años que ya he visto eso en la práctica, incluso una empresa de nuestro país ofrecía sistemas de control para utilizar vía internet o vía una intranet.
Inclluso una afamada marca de compresores a tornillo ofrecía en sus equipos la posiblidad que al ocurrir una falla, se comunicaba via internet al fabricante, dandole la alerta del fallo, asistimos a la demostración y era posible ver como generaba en la pantalla web las señales de alerta, con cambios de colores intermitentes, al igual que sonido, haciendo aparecer ventanas y texto para indicar en que cliente habia sucedido la falla y que pieza era la que había falllado.

De igual forma existen hace mucho productos, para alarma que trabajan vía internet y producen eventos semejantes incluso mediante dispositivos gsm.
Por ello se fuern desarrollando protocolos de comunicación como el MQTT IOT Y M2M entre otros para cubrir todas las necesidades.
Y hay librerias para arduino para implementar estos protocolos.
Uno de los problemas de arduino suele ser su baja potencia y escasa memoria, las cuales pueden ser suplicas aplicando ciertas formas de hacer las cosas que ahorran memoria y recursos.
No olvidar que arduino es útil para desarrollar proyectos con facilidad, para aprender, etc.
Pero también deben saber que una vez que se ha desarrollado algo nad impide la utilización del micro más acorde a nuestras necesidades para implementar un proyecto de carácter comercial.
Arduino es importante pero no lo es todo.
Hay que saber aprovechar las posibilidades que nos ofrece, pero no debe ser un techo, todo lo contrariom más bien un piso desde donde arrancar
 
Consulta, en algun lugar me paso que al acceder al wifi que me ofrecian ( casa de comidas rapidas ) y al abrir el explorador arranca una pagina por default que no era la que tenia configurada en mi explorador, si no la de la casa de comidas.
Por otro lado vi que esto se logra ( en el caso de los ESP8266 ) es nombrando tu pagina generada por el ESP y usando wifi direct de una forma especial que reconoce tu explorador osea en vez de llamarse index.html se llama xxxx.html, el problema es que no recuerdo y no encuentro este nombre xxxx si alguno puede ayudarme seria muy agradecido
 
Búscalo en internet como "captive portal", es una página que alojas en un servidor web, puedes usar algunos routers que tiene esa capacidad, o un WIFI ESP8266 con alojamiento de la pagina web en tarjeta SD, mas que nada para tenerla con mejores características.
Américo
 
Buenas tardes , tengo realizado un sistema de enclavamiento (control de esclusas) que necesitaria monitorear.
Cada placa o modulo puede manejar 5 puertas , necesito integrar varios de esos modulos a una sola pagina web que me muestre de cada sector el estado de cada una de esas 5 puertas . Hasta el momento pude hacer un web server con el arduino , mostrando temperatura , humedad, el estado de entradas , salidas, pude manipular las mismas, pero no se como hacer para mostar mas de 1 aurduino en la misma pagina, alguien sabe? como escalar los arduinos, por ethernet ? o algo que se les ocurra...
Desde ya muchas gracias , saludos, Javier
 
Hay muchas formas de hacerlo, tenés Arduino con red o solo USB/serial?

Voy de nuevo porque apreté cancelar 🤦

Entiendo que si tienen red, opciones que se me ocurren pensando rápido:


Hacer un simple HTML con iframes apuntando a los Arduinos (chanchullo como para un MVP o mostrar algo pero podría andar)

Hacer un servidor web con un API para que reciba y almacene los datos de los Arduinos, luego tiene una interfaz gráfica que muestra esos datos, es bastante más flexible y un poco más caro de implementar, esto correría en algún PC o Raspberry.

También podrías hacer un software de escritorio en Python u otro lenguaje que se comunique por IP directamente con los Arduinos y presente esa información en pantalla.
 
Última edición:
tengo el shield grande, vi que venden solo un modulo pequeño para el cable ethernet,
La verdad es que pense en ethernet porque seria una forma mas fácil de conectar los equipos cuando estan en lugares complicados y pasa un cable de red cerca como para " colgar " el equipo de ese router y no tener que cablear especialmente para esa placa, se entiende....
 
E
tengo el shield grande, vi que venden solo un modulo pequeño para el cable ethernet,
La verdad es que pense en ethernet porque seria una forma mas fácil de conectar los equipos cuando estan en lugares complicados y pasa un cable de red cerca como para " colgar " el equipo de ese router y no tener que cablear especialmente para esa placa, se entiende....
edite la respuesta
 
Hay muchas formas de hacerlo, tenés Arduino con red o solo USB/serial?

Voy de nuevo porque apreté cancelar 🤦

Entiendo que si tienen red, opciones que se me ocurren pensando rápido:


Hacer un simple HTML con iframes apuntando a los Arduinos (chanchullo como para un MVP o mostrar algo pero podría andar)

Hacer un servidor web con un API para que reciba y almacene los datos de los Arduinos, luego tiene una interfaz gráfica que muestra esos datos, es bastante más flexible y un poco más caro de implementar, esto correría en algún PC o Raspberry.

También podrías hacer un software de escritorio en Python u otro lenguaje que se comunique por IP directamente con los Arduinos y presente esa información en pantalla.
jajja a veces pasa...

la verdad es que no estoy muy "ducho con el tema de python" (tengo un amigo que si sabe de eso pero no se como puede hacer para relacionar python con arduino).

Tampoco tiene que ser algo muy complicado, es como un monitoreo en tiempo real de las puertas... a lo sumo que arranque una alerta por sector cuando estan mucho tiempo alguna de las 5 puertas abiertas
 
jajja a veces pasa...

la verdad es que no estoy muy "ducho con el tema de python" (tengo un amigo que si sabe de eso pero no se como puede hacer para relacionar python con arduino).

Tampoco tiene que ser algo muy complicado, es como un monitoreo en tiempo real de las puertas... a lo sumo que arranque una alerta por sector cuando estan mucho tiempo alguna de las 5 puertas abiertas

Es un proyecto personal o comercial?, si es algo básico prueba hacer un html con un iframe que apunte a cada arduino para probarlo, para hacerlo prolijo deberías programar algo un poco mas complejo, que lenguaje manejas?.
 
Mi idea es poder comercializarlo, yo particularmente toco de oído en programación, soy técnico electrónico y me metí a hacer algunos trabajos con el arduino y más directamente con el micro 328...
20230704_124047.jpg
Mi idea es mejorarlo para venderlo a más de 1 cliente ( que es lo.que tengo ahora)
 
En mi poca experiencia trabaje con algunos sistemas similares comerciales, que funcionaban asi:
Tienen una "central" la cual tiene red y a su vez un software de control, varias entradas a los cuales conectar diferentes modulos que se comunican por el protocolo wiegand.

Creo que de desarollar un software de control no vas a escapar, después tenes que ver que es mas redituable si ponerle a cada placa de esas que tenes una interfaz de red o hacer una sola "central" que tenga la placa de red y se comunique con el software.
 
En mi poca experiencia trabaje con algunos sistemas similares comerciales, que funcionaban asi:
Tienen una "central" la cual tiene red y a su vez un software de control, varias entradas a los cuales conectar diferentes modulos que se comunican por el protocolo wiegand.

Creo que de desarollar un software de control no vas a escapar, después tenes que ver que es mas redituable si ponerle a cada placa de esas que tenes una interfaz de red o hacer una sola "central" que tenga la placa de red y se comunique con el software.
Quizás, la realidad es que mi intención es que se pueda ver desde cualquier pc..
 
El tema es simple:
Necesitas un MAESTRO que reciba toda la información de cada esclavo (los Arduino o los Atmega328) y que la presente en una página web todo lo bonita que se te ocurra.
El maestro conviene que sea algo como el Nodemcu ESP32 que ya viene listo para conexión WiFi, Bluetooth y todo lo que se te ocurra, tiene dos núcleos a 240MHz, es de 32 bits y se programa con el mismo IDE del Arduino. Ademas tiene parvas de I/O y 4 Megas de RAM...
 
El tema es simple:
Necesitas un MAESTRO que reciba toda la información de cada esclavo (los Arduino o los Atmega328) y que la presente en una página web todo lo bonita que se te ocurra.
El maestro conviene que sea algo como el Nodemcu ESP32 que ya viene listo para conexión WiFi, Bluetooth y todo lo que se te ocurra, tiene dos núcleos a 240MHz, es de 32 bits y se programa con el mismo IDE del Arduino. Ademas tiene parvas de I/O y 4 Megas de RAM...

Quizás, la realidad es que mi intención es que se pueda ver desde cualquier pc..

Esa es otra buena opción, he usado el esp32 como web server y si bien no es un Raspberry funciona correctamente.
 
Yo la verdad recomendaría más que tengas uno como servidor y los nodos se conecten por RS-485, eso facilita el cableado porque pueden ir al mismo par en lugar de tener que poner ethernet y un switch para conectar todo, además de también eliminar un poco de carga al no tener que meterle un protocolo de red.

Si la opción del ethernet es porque el cable ya está ahí igual podrías enviar los datos por UDP al maestro, si no pues, como ya indicaron, la opción más tonta con un iframe, puedes hacer el archivo html, poner bloques de iframes que apunten a la dirección de cada dispositivo, y cuando abres el archivo se consultan todos los Arduinos en la misma página.
 
Atrás
Arriba