Arduino Nano - Ethernet
Ce guide vous montre comment connecter l'Arduino Nano à Internet ou à votre réseau local en utilisant le module Ethernet W5500. Nous apprendrons les détails suivants :
Connexion de l'Arduino Nano au module Ethernet W5500
Écriture de code pour l'Arduino Nano afin de faire des requêtes HTTP via Ethernet
Création d'un serveur Web simple sur l'Arduino Nano avec Ethernet
Ou vous pouvez acheter les kits suivants:
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.
Le module Ethernet W5500 offre deux types de connexions :
Interface RJ45 : Utilisez ceci pour vous connecter à un routeur ou un commutateur avec un câble Ethernet.
Interface SPI : Utilisez ceci pour vous connecter à une carte Arduino Nano. Elle comprend 10 broches :
Broche NC : Laissez cette broche non connectée.
Broche INT : Laissez cette broche non connectée.
Broche RST : C'est la broche de réinitialisation. Connectez-la à la broche EN de l'Arduino Nano.
Broche GND : Connectez cette broche à la broche GND de l'Arduino Nano.
Broche 5V : Connectez cette broche à la broche 5V de l'Arduino Nano.
Broche 3.3V : Laissez cette broche non connectée.
Broche MISO : Connectez cette broche à la broche SPI MISO de l'Arduino Nano.
Broche MOSI : Connectez cette broche à la broche SPI MOSI de l'Arduino Nano.
Broche SCS : Connectez cette broche à la broche SPI CS de l'Arduino Nano.
Broche SCLK : Connectez cette broche à la broche SPI SCK de l'Arduino Nano.
image source: diyables.io

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Voir Comment alimenter un Arduino Nano..
image source: diyables.io
Ce code fonctionne comme un client web. Il envoie des requêtes HTTP au serveur web situé à 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() {
}
Connectez le module Ethernet à l'Arduino Nano comme indiqué dans le schéma de câblage.
Connectez l'Arduino Nano à votre ordinateur avec un câble USB.
Utilisez un câble Ethernet pour connecter le module Ethernet à votre routeur ou commutateur.
Ouvrez l'IDE Arduino sur votre ordinateur.
Sélectionnez la bonne carte Arduino Nano et le port COM.
Cliquez sur l'icône Libraries dans la barre de gauche de l'IDE Arduino.
Recherchez “Ethernet”, puis trouvez la bibliothèque Ethernet par Various.
Cliquez sur le bouton Install pour installer la bibliothèque Ethernet.
Ouvrez le Moniteur Série dans l'IDE Arduino.
Copiez le code donné et collez-le dans l'IDE Arduino.
Appuyez sur le bouton Téléverser dans l'IDE Arduino pour envoyer le code à l'ESP25.
Regardez le Moniteur Série pour voir la sortie, qui devrait afficher le résultat comme indiqué.
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
※ Note:
Si un autre appareil sur le même réseau utilise la même adresse MAC, il peut ne pas fonctionner correctement.
Le code ci-dessous transforme l'Arduino Nano en un serveur web. Ce serveur délivre une page web simple aux navigateurs 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");
}
}
Copiez le code ci-dessus et collez-le dans l'IDE Arduino
Cliquez sur le bouton Upload dans l'IDE Arduino pour envoyer le code à votre Arduino Nano
Vérifiez les résultats sur le Moniteur Série, ils s'afficheront comme suit :
Arduino Nano - Ethernet Tutorial
Arduino Nano - Web Server IP Address: 192.168.0.2
※ NOS MESSAGES
N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !