Arduino Nano - Servidor web
En esta guía, te mostraremos cómo programar una placa Arduino Nano con un módulo Ethernet para actuar como servidor web. Podrás ver datos y controlar el Arduino Nano a través de páginas web accesibles desde tu computadora o teléfono inteligente. Empezaremos con tareas simples y pasaremos a tareas más avanzadas, como se describe a continuación:
- Servidor Web de Arduino Nano - ¡Hola, Mundo!
- Servidor Web de Arduino Nano - Monitoreo de valores de sensores a través de una página web.
- Servidor Web de Arduino Nano - Valores que se actualizan automáticamente en la página web.
- Servidor Web de Arduino Nano - Separando HTML, CSS y JavaScript del código de Arduino.
- Servidor Web de Arduino Nano - Controlando el Arduino Nano a través de una página web.

Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Diagrama de cableado entre Arduino Nano y el módulo Ethernet W5500

This image is created using Fritzing. Click to enlarge image
Ver La mejor forma de alimentar Arduino Nano y otros componentes.
Servidor Web de Arduino Nano - Hola Mundo
Esto es relativamente simple. El código para Arduino Nano realiza las siguientes tareas:
- Crear un servidor web que escuche solicitudes HTTP desde un navegador web.
- Al recibir una solicitud de un navegador web, el Arduino Nano responde con la siguiente información:
- Cabecera HTTP
- Cuerpo HTTP: incluye "Hello World!".
- Conecta el Arduino Nano al módulo Ethernet según el diagrama de cableado anterior.
- Conecta un cable Ethernet al módulo Ethernet.
- Conecta el Arduino Nano a un PC usando un cable USB.
- Abre el IDE de Arduino en tu PC.
- Selecciona la placa Arduino Nano y el puerto COM correspondiente
- Haz clic en el icono Bibliotecas en la barra izquierda del IDE de Arduino.
- Busca “Ethernet”, luego encuentra la librería Ethernet de Various
- Haz clic en el botón Instalar para instalar la biblioteca Ethernet.
- Copia el código anterior y ábrelo con Arduino IDE
- Haz clic en el botón Subir en Arduino IDE para cargar el código al Arduino Nano
- Abre el Monitor Serial
- Revisa el resultado en el Monitor Serial.
- Anota la dirección IP que se muestra e introduce la dirección IP en la barra de direcciones de un navegador web en tu teléfono inteligente o PC.
- A continuación verás la siguiente salida en el Monitor Serial.
- Una vez que accedas al navegador web usando la dirección IP, verás una página web simple que mostrará "¡Hola, mundo!". La página se verá así:
A continuación se muestra el código de Arduino Nano que realiza las tareas anteriores:
Pasos R\u00e1pidos


Arduino Nano Servidor Web - Monitoreo de valores de sensores a través de una página web.
El código de Arduino Nano a continuación realiza las siguientes tareas:
- Crear un servidor web que escuche las solicitudes HTTP de un navegador web.
- Al recibir una solicitud de un navegador web, el Arduino Nano responde con la siguiente información:
- Cabecera HTTP
- Cuerpo HTTP: Esto incluye contenido HTML y CSS y el valor leído desde el sensor.
- Copia el código anterior y ábrelo en el IDE de Arduino.
- Haz clic en el botón Subir en el IDE de Arduino para subir el código al Arduino Nano.
- Recarga la página web anterior (Ctrl + F5), y la verás como se muestra a continuación:
Pasos R\u00e1pidos

Con el código proporcionado, para actualizar la temperatura, necesitas recargar la página en el navegador web. En la próxima sección, aprendamos cómo hacer que la página web actualice automáticamente el valor de la temperatura en segundo plano sin recargarla.
Servidor Web de Arduino Nano - Valores que se actualizan automáticamente en la página web
Cómo funciona la actualización automática
- El usuario ingresa la dirección IP del Arduino Nano en el navegador web.
- El navegador envía una solicitud HTTP a la página de inicio del Arduino Nano (/).
- El Arduino responde con HTML, CSS y JavaScript.
- El navegador muestra la página web utilizando el HTML y CSS recibidos.
- Cada 3 segundos, el navegador ejecuta el código JavaScript, que realiza una solicitud HTTP al punto final /temperature.
- El Arduino lee el valor del sensor y lo envía de vuelta como respuesta.
- El navegador recibe el valor del sensor y actualiza la página web en consecuencia.

A continuación se muestra el código de Arduino Nano que realiza las tareas anteriores:
Pasos R\u00e1pidos
- Copia el código anterior y ábrelo en el IDE de Arduino.
- Haz clic en el botón Subir en el IDE de Arduino para subir el código al Arduino Nano.
- Recarga la página web anterior (Ctrl + F5), y la verás como se muestra a continuación:

Verás que el valor se actualiza automáticamente cada 3 segundos.
Separar contenido HTML en otro archivo en el IDE de Arduino
Si quieres crear una página web simple con contenido mínimo, puedes incrustar el código HTML directamente en el código para Arduino Nano, como se explicó anteriormente.
Sin embargo, para páginas web más complejas y ricas en funciones, incrustar todo el HTML, CSS y JavaScript directamente en el código del Arduino Nano puede volverse engorroso. En tales casos, es mejor utilizar un enfoque diferente para gestionar el código:
- El código de Arduino Nano seguirá almacenándose en un archivo .ino como de costumbre.
- El contenido de la página web (HTML, CSS, JavaScript) se colocará en un archivo .h separado. Esta separación facilita la gestión y actualización de la página web sin desordenar el código de Arduino.
Pasos R\u00e1pidos
- Abre el IDE de Arduino y crea un nuevo sketch. Ponle un nombre, por ejemplo, newbiely.com.ino.
- Copia el código proporcionado a continuación y pégalo en el archivo creado.
- Crea el archivo index.h en el IDE de Arduino mediante:

- Haz clic en el botón justo debajo del icono del monitor serie y elige Nueva pestaña, o usa las teclas Ctrl+Shift+N.
- Indica el nombre del archivo index.h y haz clic en el botón Aceptar

- Copia el código que aparece a continuación y pégalo en el index.h.
- Ahora tienes el código en dos archivos: newbiely.com.ino y index.h
- Haz clic en el botón Subir en el IDE de Arduino para subir el código al Arduino Nano
- Recarga la página web (usando Ctrl + F5), y se verá igual que antes
※ Nota:
- Si actualizas el contenido HTML en el archivo index.h sin cambiar nada en el archivo newbiely.com.ino, el IDE de Arduino no actualizará ni incluirá el contenido HTML actualizado cuando compiles y cargues el código al Arduino Nano.
- Para asegurar que el IDE de Arduino actualice el contenido HTML, debes hacer un pequeño cambio en el archivo newbiely.com.ino, como añadir una línea en blanco o un comentario. Esto obliga al IDE a detectar los cambios, asegurando que el contenido HTML actualizado se incluya en la subida.
Controlando el Arduino Nano a través de la web
Controlar algo conectado al Arduino Nano es un poco más desafiante que simplemente leer un valor. Eso se debe a que Arduino Nano tiene que entender la solicitud que recibe del navegador web para saber qué acción tomar.
Para un ejemplo más completo y detallado, recomiendo consultar los tutoriales que se enumeran a continuación: