Ce guide vous montre comment connecter l'ESP8266 à Internet ou à votre réseau local en utilisant le module Ethernet W5500. Voici ce que nous allons discuter :
Connexion de l'ESP8266 avec le module Ethernet W5500
Programmation de l'ESP8266 pour des requêtes Web via Ethernet
Création d'un serveur Web basique sur l'ESP8266 avec Ethernet
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.
À propos du module Ethernet W5500
Le module Ethernet W5500 dispose de deux types de connexions :
Interface RJ45 : Connectez-le à un appareil réseau comme un routeur ou un commutateur à l'aide d'un câble Ethernet.
Interface SPI : Connectez-le à une carte ESP8266 en utilisant les connexions suivantes pour ses 10 broches :
Broche NC : Laissez cette broche non connectée.
Broche INT : Laissez cette broche non connectée.
Broche RST : Connectez cela à la broche de réinitialisation (EN) sur l'ESP8266.
Broche GND : Connectez cela à la broche de masse (GND) sur l'ESP8266.
Broche 5V : Ne branchez pas cette broche.
Broche 3,3V : Connectez cela à la broche 3,3V sur l'ESP8266.
Broche MISO : Connectez cela à la broche SPI MISO sur l'ESP8266.
Broche MOSFi : Connectez cela à la broche SPI MOSI sur l'ESP8266.
Broche SCS : Connectez cela à la broche SPI CS (Chip Select) sur l'ESP8266.
Broche SCLK : Connectez cela à la broche SPI SCK (Clock) sur l'ESP8266.
image source: diyables.io
Schéma de câblage entre ESP8266 et module Ethernet W5500
Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Code ESP8266 pour module Ethernet - Effectuer une requête HTTP via Ethernet
Ce code fonctionne comme un client web. Il envoie des requêtes HTTP au serveur web à http://example.com/.
/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp8266/esp8266-ethernet*/#include <SPI.h>#include <Ethernet.h>// replace the MAC address below by the MAC address printed on a sticker on the Arduino Shield 2byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xEF };EthernetClient client;int HTTP_PORT = 80;String HTTP_METHOD = "GET"; // or POSTchar HOST_NAME[] = "example.com";String PATH_NAME = "/";voidsetup() {Serial.begin(9600);delay(1000);Serial.println("ESP8266 - Ethernet Tutorial");// initialize the Ethernet shield using DHCP:if (Ethernet.begin(mac) == 0) {Serial.println("Failed to obtaining an IP address");// check for Ethernet hardware presentif (Ethernet.hardwareStatus() == EthernetNoHardware)Serial.println("Ethernet shield was not found");// check for Ethernet cableif (Ethernet.linkStatus() == LinkOFF)Serial.println("Ethernet cable is not connected.");while (true) ; }// connect to web server on port 80:if (client.connect(HOST_NAME, HTTP_PORT)) {// if connected:Serial.println("Connected to server");// make a HTTP request:// send HTTP header client.println(HTTP_METHOD + " " + PATH_NAME + " HTTP/1.1"); client.println("Host: " + String(HOST_NAME)); client.println("Connection: close"); client.println(); // end HTTP headerwhile (client.connected()) {if (client.available()) {// read an incoming byte from the server and print it to serial monitor:char c = client.read();Serial.print(c); } }// the server's disconnected, stop the client: client.stop();Serial.println();Serial.println("disconnected"); } else { // if not connected:Serial.println("connection failed"); }}voidloop() {}
Étapes rapides
Pour commencer avec l'ESP8266 sur l'IDE Arduino, suivez ces étapes :
Connectez le module Ethernet à la carte ESP8266 comme indiqué dans le schéma de câblage.
Utilisez un câble Ethernet pour connecter le module Ethernet à votre routeur ou commutateur.
Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
Ouvrez Arduino IDE sur votre ordinateur.
Choisissez la carte ESP8266 correcte, telle que (par exemple NodeMCU 1.0 (ESP-12E Module)), et son port COM respectif.
Cliquez sur l'icône Libraries dans la barre de gauche de l'Arduino IDE.
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 de téléversement dans l'IDE Arduino pour envoyer le code à l'ESP25.
Consultez le résultat sur le moniteur série qui affichera le résultat comme ci-dessous.
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' on 'COM15')
New Line
9600 baud
ESP8266 - 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
Ln 11, Col 1
Nodemcu 1.0 (ESP-12E Module) on COM15
2
※ Note:
Si un autre appareil sur le même réseau a la même adresse MAC, il se peut qu'il ne fonctionne pas correctement.
Code ESP8266 pour Module Ethernet - Serveur Web
Le code ci-dessous transforme l'ESP8266 en serveur web. Ce serveur fournit une page web basique aux navigateurs internet.
/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp8266/esp8266-ethernet*/#include <SPI.h>#include <Ethernet.h>// replace the MAC address below by the MAC address printed on a sticker on the Arduino Shield 2byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xEF };EthernetServer server(80);voidsetup() {Serial.begin(9600);delay(1000);Serial.println("ESP8266 - Ethernet Tutorial");// initialize the Ethernet shield using DHCP:if (Ethernet.begin(mac) == 0) {Serial.println("Failed to obtaining an IP address");// check for Ethernet hardware presentif (Ethernet.hardwareStatus() == EthernetNoHardware)Serial.println("Ethernet shield was not found");// check for Ethernet cableif (Ethernet.linkStatus() == LinkOFF)Serial.println("Ethernet cable is not connected.");while (true) ; } server.begin();Serial.print("ESP8266 - Web Server IP Address: ");Serial.println(Ethernet.localIP());}voidloop() {// listen for incoming clientsEthernetClient client = server.available();if (client) {Serial.println("new client");// an HTTP request ends with a blank linebool currentLineIsBlank = true;while (client.connected()) {if (client.available()) {char c = client.read();Serial.write(c);// if you've gotten to the end of the line (received a newline// character) and the line is blank, the HTTP request has ended,// so you can send a replyif (c == '\n' && currentLineIsBlank) {// send a standard HTTP response header client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println("Connection: close"); // the connection will be closed after completion of the response client.println(); client.println("<!DOCTYPE HTML>"); client.println("<html>"); client.println("<body>"); client.println("<h1>ESP8266 - Web Server with Ethernet</h1>"); client.println("</body>"); client.println("</html>");break; }if (c == '\n') {// you're starting a new line currentLineIsBlank = true; } elseif (c != '\r') {// you've gotten a character on the current line currentLineIsBlank = false; } } }// give the web browser time to receive the datadelay(1);// close the connection: client.stop();Serial.println("client disconnected"); }}
Étapes rapides
Copiez le code ci-dessus et collez-le dans l'IDE Arduino.
Cliquez sur le bouton Upload dans l'IDE Arduino pour transférer le code vers l'ESP8266.
Vérifiez les résultats sur le Moniteur Série ; ils s'afficheront comme décrit.
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Nodemcu 1.0 (ESP-12E Module)
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Nodemcu 1.0 (ESP-12E Module)' on 'COM15')
New Line
9600 baud
ESP8266 - Ethernet Tutorial
ESP8266 - Web Server IP Address: 192.168.0.2
Ln 11, Col 1
Nodemcu 1.0 (ESP-12E Module) on COM15
2
Copiez l'adresse IP donnée ci-dessus et entrez-la dans la barre d'adresse de votre navigateur web. Vous verrez une page web simple affichée par l'ESP8266.
Tutoriels connexes
※ 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 !