Arduino - Escudo Ethernet
Usar el Ethernet Shield de Arduino es una de las formas más sencillas de conectar Arduino a Internet. Puedes ver otras opciones para conectar Arduino a Internet mediante Ethernet en Tutorial de Arduino - Ethernet
En este tutorial, vamos a aprender:
- Conocimientos básicos de redes para principiantes
- Cómo usar el escudo Ethernet de Arduino
- Código esqueleto de Arduino para el escudo Ethernet de Arduino cuando se usa la dirección IP dinámica (a través de DHCP)
- Código esqueleto de Arduino para el escudo Ethernet de Arduino cuando se usa la dirección IP estática

Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Conocimientos básicos de redes para principiantes
Esta parte proporciona conocimientos básicos para principiantes que no saben nada sobre redes.
Cuando un dispositivo se conecta a Internet (a través de Ethernet o WiFi), debe conectarse a un enrutador o a un punto de acceso. El enrutador y el punto de acceso son dispositivos que cumplen la función de puerta de enlace a Internet. Todos los datos entre un dispositivo y Internet pasan a través del enrutador o del punto de acceso.
Cuando un dispositivo se conecta a Internet, DEBE:
- Tener una dirección MAC
- Tener una dirección IP
- Conocer la máscara de subred de la red
- Conocer la dirección IP de la puerta de enlace (dirección IP del router o del punto de acceso)
- Conocer la dirección IP del servidor DNS (en caso de conectarse a un nombre de dominio)
El dispositivo no funciona si alguno de los dos:
- Hay uno o más otros dispositivos en la misma red que utilizan la misma dirección MAC del dispositivo (llamada dirección MAC en conflicto)
- Hay uno o más otros dispositivos en la misma red que utilizan la misma dirección IP del dispositivo (llamada dirección IP en conflicto)
Este tutorial no te sobrecargará con el conocimiento de redes. Por lo tanto, este tutorial no explica estos conceptos. Está fuera del alcance de este tutorial. En su lugar, el tutorial muestra cómo usarlos.
La dirección MAC suele estar integrada en los dispositivos. No necesitamos preocuparnos por ella. Sin embargo, el escudo Ethernet de Arduino no tiene una dirección MAC integrada. La dirección MAC está impresa en una pegatina adherida al escudo. Necesitamos obtenerla y configurar la dirección MAC para el escudo Ethernet de Arduino en el código de Arduino.
Hay dos métodos para asignar la dirección IP, la máscara de subred, la dirección IP de la puerta de enlace y la dirección IP del servidor DNS a un dispositivo (incluido Arduino):
- Usar la dirección IP estática:
- Necesita gestionar la dirección IP, la máscara de subred, la dirección IP de la puerta de enlace y la dirección IP del servidor DNS
- Necesita configurar la dirección IP, la máscara de subred, la dirección IP de la puerta de enlace y la dirección IP del servidor DNS manualmente (para Arduino Ethernet Shield, configure esta información usando código de Arduino)
- No funcionará si:
- Asignar una dirección IP que ya está siendo utilizada por otros dispositivos en la misma red LAN → conflicto de direcciones IP
- Configurar incorrectamente la máscara de subred, la dirección IP de la puerta de enlace y la dirección IP del servidor DNS
- El dispositivo obtiene automáticamente la dirección IP, la máscara de subred, la dirección IP de la puerta de enlace y la dirección IP del servidor DNS desde el router o punto de acceso usando DHCP. No necesitamos gestionar la dirección IP, la máscara de subred, la dirección IP de la puerta de enlace y la dirección IP del servidor DNS. El router/punto de acceso hace este trabajo por nosotros.
Cuando conectas tu teléfono inteligente a tu red WiFi doméstica, se utiliza el segundo método.
Al usar Arduino, el primer método es difícil para los principiantes. El segundo método es fácil y recomendado para los principiantes que no saben de redes.
Cómo usar el escudo Ethernet de Arduino
Arduino se comunica con el Ethernet Shield a través de la interfaz SPI. A continuación se muestra cómo usar el Ethernet Shield de Arduino.
- Coloca la Ethernet Shield sobre Arduino Uno o Mega
- Conecta la PC al Arduino Uno o Mega mediante un cable USB
- Conecta la Ethernet Shield al router o punto de acceso mediante un cable Ethernet
- Abre el IDE de Arduino y escribe el código
- Carga el código en el Arduino Uno o Mega
Es completamente simple.
Código esqueleto de Arduino para el Escudo Ethernet cuando se usa la dirección IP dinámica
Requisito previo
- Necesitamos conocer la dirección MAC del Ethernet Shield (obtenerla de una etiqueta proporcionada por el fabricante)
Cómo programar paso a paso
- Incluir biblioteca
- Declarar la dirección MAC
- Declara otros objetos dependiendo de tu aplicación.
- Inicia el Ethernet Shield
- (Opcional) Imprimir la dirección IP de Arduino, la máscara de subred, la dirección IP de la puerta de enlace y la dirección IP del servidor DNS
Tenga en cuenta que Arduino no puede obtener una dirección IP en los siguientes casos:
- El router o punto de acceso no admite DHCP
- El cable Ethernet no está enchufado correctamente o está roto
Para detectar estos problemas, podemos modificar Ethernet.begin(mac); para:
※ Nota:
Si no cambias la dirección MAC, puede que siga funcionando. Sin embargo, puede que no funcione si entra en conflicto con la dirección MAC de otro dispositivo en la misma red LAN. En caso de perderse la etiqueta de la dirección MAC, simplemente usa la dirección MAC que se muestra arriba para las pruebas.
El código esqueleto completo al usar la dirección IP dinámica
Carga el código anterior en Arduino. Si tiene éxito, el Monitor Serial mostrará algo parecido a lo siguiente:
Si el Monitor Serial no se muestra como se indica arriba, verifica tu cable Ethernet. Si aún no funciona, pasa a la siguiente parte para intentar usar la dirección IP estática.
Plantilla de código de Arduino para el escudo Ethernet cuando se utiliza la dirección IP estática.
Prerequisito
- Necesitas obtener la dirección MAC (obtenerla de la etiqueta)
- Necesitas obtener una dirección IP no utilizada (ver cómo obtener una dirección IP no utilizada)
- Necesitas obtener la máscara de subred de tu red (ver cómo obtener la máscara de subred)
- Necesitas obtener la dirección IP de la puerta de enlace (ver cómo obtener la dirección IP de la puerta de enlace)
- Necesitas obtener la dirección IP del servidor DNS (ver cómo obtener la dirección IP del servidor DNS)
Cómo programar paso a paso
- Incluir la biblioteca
- Declarar la dirección MAC
- Declara una dirección IP no utilizada, una máscara de subred, la dirección IP de la puerta de enlace y la dirección IP del servidor DNS.
- Declara otros objetos dependiendo de tu aplicación.
- Inicia el Ethernet Shield
- Opcional: comprobar el estado del enlace de red
※ Nota:
Si no cambias la dirección MAC, puede que funcione. Sin embargo, puede que NO funcione si entra en conflicto con la dirección MAC de otro dispositivo en la misma red LAN. En caso de perder la pegatina de la dirección MAC, simplemente usa la dirección MAC que aparece arriba para las pruebas.
El código esqueleto completo al usar la dirección IP estática
Sube el código anterior a Arduino. Si tiene éxito, el Monitor Serial mostrará algo similar a lo siguiente:
Si el Monitor Serial no se muestra como se muestra arriba:
- Verifica tu cable Ethernet
- Asegúrate de que la dirección IP pertenezca a tu red
- Asegúrate de que la dirección IP no entre en conflicto con otros dispositivos en la misma red
- Asegúrate de que la máscara de subred, la dirección IP de la puerta de enlace y la dirección IP del servidor DNS estén configuradas correctamente
Conocimientos Adicionales de Redes para Principiantes
En el caso de usar una IP estática, necesitas obtener una dirección IP no utilizada, la máscara de subred, la dirección IP de la puerta de enlace y la dirección IP del servidor DNS. A continuación se muestra cómo obtenerlas.
Si Arduino y tu PC se conectan a la misma red
- Abre el Símbolo del sistema en tu PC
- Escribe el siguiente comando en el Símbolo del sistema:
- A partir de lo anterior, puedes obtener la máscara de subred y la dirección IP de la puerta de enlace
- Puedes ver la dirección IP de tu PC en la salida anterior. Intentaremos encontrar una dirección IP no utilizada basada en la dirección IP de tu PC
- Incrementa o disminuye una a la vez, empieza desde la dirección IP de tu PC.
- Envía el comando ping a esa dirección IP en el Símbolo del sistema. Repite estos dos pasos hasta que la IP sea inalcanzable. Si la dirección es inalcanzable, es una dirección IP no utilizada y podemos usarla para Arduino. Por ejemplo:
- Para la dirección IP del servidor DNS, podemos usar simplemente 8.8.8.8
※ Nota:
En algunos casos, incluso cuando la dirección IP no es alcanzable, podría estar siendo utilizada por otro dispositivo. Sin embargo, este caso suele no ocurrir en tu red doméstica.
Ahora puedes usar estos shields para conectar Arduino a Internet. Consulta otro ejemplo en la sección Ver también.
WARNING
Tenga en cuenta que este tutorial está incompleto. Publicaremos en nuestra página de Facebook cuando el tutorial esté completo. Déle like para mantenerse actualizado.