Arduino Nano - Ethernet
Esta guía te muestra cómo conectar el Arduino Nano a Internet o a tu red local utilizando el módulo Ethernet W5500. Aprenderemos los siguientes detalles:
Conectando Arduino Nano al Módulo Ethernet W5500
Escribiendo código para Arduino Nano para realizar peticiones HTTP a través de Ethernet
Creando un servidor web simple en Arduino Nano con Ethernet
Or you can buy the following kits:
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.
El módulo Ethernet W5500 ofrece dos tipos de conexiones:
Interfaz RJ45: Utilice esto para conectar a un enrutador o conmutador con un cable Ethernet.
Interfaz SPI: Utilícelo para conectar a una placa Arduino Nano. Incluye 10 pines:
Pin NC: Deje este pin sin conectar.
Pin INT: Deje este pin sin conectar.
Pin RST: Este es el pin de reinicio. Conéctelo al pin EN del Arduino Nano.
Pin GND: Conecte este pin al pin GND del Arduino Nano.
Pin 5V: Conecte este pin al pin 5V del Arduino Nano.
Pin 3.3V: Deje este pin sin conectar.
Pin MISO: Conecte este pin al pin MISO SPI del Arduino Nano.
Pin MOSI: Conecte este pin al pin MOSI SPI del Arduino Nano.
Pin SCS: Conecte este pin al pin CS SPI del Arduino Nano.
SCLK pin: Conecte este pin al pin SCK SPI del Arduino Nano.
image source: diyables.io

This image is created using Fritzing. Click to enlarge image
Ver La mejor forma de alimentar Arduino Nano y otros componentes.
image source: diyables.io
Este código funciona como un cliente web. Envía solicitudes HTTP al servidor web que se encuentra en http://example.com/.
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xEF };
EthernetClient client;
int HTTP_PORT = 80;
String HTTP_METHOD = "GET";
char HOST_NAME[] = "example.com";
String PATH_NAME = "/";
void setup() {
Serial.begin(9600);
delay(1000);
Serial.println("Arduino Nano - Ethernet Tutorial");
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to obtaining an IP address");
if (Ethernet.hardwareStatus() == EthernetNoHardware)
Serial.println("Ethernet shield was not found");
if (Ethernet.linkStatus() == LinkOFF)
Serial.println("Ethernet cable is not connected.");
while (true)
;
}
if (client.connect(HOST_NAME, HTTP_PORT)) {
Serial.println("Connected to server");
client.println(HTTP_METHOD + " " + PATH_NAME + " HTTP/1.1");
client.println("Host: " + String(HOST_NAME));
client.println("Connection: close");
client.println();
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.print(c);
}
}
client.stop();
Serial.println();
Serial.println("disconnected");
} else {
Serial.println("connection failed");
}
}
void loop() {
}
Conecta el módulo Ethernet al Arduino Nano como se muestra en el diagrama de cableado.
Conecta el Arduino Nano a tu ordenador con un cable USB.
Utiliza un cable Ethernet para conectar el módulo Ethernet al router o al switch.
Abre el IDE de Arduino en tu ordenador.
Selecciona la placa Arduino Nano correcta y el puerto COM.
Haz clic en el icono de Bibliotecas en la barra izquierda del IDE de Arduino.
Busca “Ethernet”, luego encuentra la biblioteca Ethernet de Various.
Haz clic en el botón Instalar para instalar la biblioteca Ethernet.
Abre el Monitor Serial en el IDE de Arduino.
Copia el código dado y pégalo en el IDE de Arduino.
Presiona el botón Subir en el IDE de Arduino para enviar el código al ESP25.
Mira el Monitor Serial para ver la salida, que debería mostrar el resultado como se indica.
Arduino Nano - Ethernet Tutorial
Connected to server
HTTP/1.1 200 OK
Accept-Ranges: bytes
Age: 208425
Cache-Control: max-age=604800
Content-Type: text/html; charset=UTF-8
Date: Fri, 12 Jul 2024 07:08:42 GMT
Etag: "3147526947"
Expires: Fri, 19 Jul 2024 07:08:42 GMT
Last-Modified: Thu, 17 Oct 2019 07:18:26 GMT
Server: ECAcc (lac/55B8)
Vary: Accept-Encoding
X-Cache: HIT
Content-Length: 1256
Connection: close
<!doctype html>
<html>
<head>
<title>Example Domain</title>
<meta charset="utf-8" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<div>
<h1>Example Domain</h1>
<p>This domain is for use in illustrative examples in documents. You may use this
domain in literature without prior coordination or asking for permission.</p>
<p><a href="https://www.iana.org/domains/example">More information...</a></p>
</div>
</body>
</html>
disconnected
※ Nota:
Si otro dispositivo en la misma red utiliza la misma dirección MAC, puede que no funcione correctamente.
El código a continuación convierte el Arduino Nano en un servidor web. Este servidor entrega una página web simple a los navegadores de Internet.
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xEF };
EthernetServer server(80);
void setup() {
Serial.begin(9600);
delay(1000);
Serial.println("Arduino Nano - Ethernet Tutorial");
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to obtaining an IP address");
if (Ethernet.hardwareStatus() == EthernetNoHardware)
Serial.println("Ethernet shield was not found");
if (Ethernet.linkStatus() == LinkOFF)
Serial.println("Ethernet cable is not connected.");
while (true)
;
}
server.begin();
Serial.print("Arduino Nano - Web Server IP Address: ");
Serial.println(Ethernet.localIP());
}
void loop() {
EthernetClient client = server.available();
if (client) {
Serial.println("new client");
bool currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);
if (c == '\n' && currentLineIsBlank) {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<body>");
client.println("<h1>Arduino Nano - Web Server with Ethernet</h1>");
client.println("</body>");
client.println("</html>");
break;
}
if (c == '\n') {
currentLineIsBlank = true;
} else if (c != '\r') {
currentLineIsBlank = false;
}
}
}
delay(1);
client.stop();
Serial.println("client disconnected");
}
}
Copia el código anterior y pégalo en el IDE de Arduino.
Haz clic en el botón Subir en el IDE de Arduino para enviar el código a tu Arduino Nano.
Verifica los resultados en el Monitor Serial; se mostrarán como se indica a continuación:
Arduino Nano - Ethernet Tutorial
Arduino Nano - Web Server IP Address: 192.168.0.2
※ NUESTROS MENSAJES
No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!