Dieser Leitfaden zeigt Ihnen, wie Sie den Arduino Nano mit dem Internet oder Ihrem lokalen Netzwerk verbinden, mithilfe des W5500-Ethernet-Moduls. Wir werden die folgenden Details erläutern:
Verbindung des Arduino Nano mit dem W5500-Ethernet-Modul
Code schreiben für den Arduino Nano, um HTTP-Anfragen über Ethernet zu senden
Erstellung eines einfachen Webservers auf dem Arduino Nano mit Ethernet
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.
Über das W5500-Ethernet-Modul
Das W5500-Ethernet-Modul bietet zwei Arten von Verbindungen:
RJ45-Schnittstelle: Verwenden Sie diese, um eine Verbindung zu einem Router oder Switch mit einem Ethernet-Kabel herzustellen.
SPI-Schnittstelle: Verwenden Sie diese, um eine Verbindung zu einem Arduino Nano-Board herzustellen. Sie umfasst 10 Pins:
NC-Pin: Lassen Sie diesen Pin unbelegt.
INT-Pin: Lassen Sie diesen Pin unbelegt.
RST-Pin: Dies ist der Reset-Pin. Verbinden Sie ihn mit dem EN-Pin des Arduino Nano.
GND-Pin: Verbinden Sie diesen Pin mit dem GND-Pin des Arduino Nano.
5V-Pin: Verbinden Sie diesen Pin mit dem 5V-Pin des Arduino Nano.
3,3V-Pin: Lassen Sie diesen Pin unbelegt.
MISO-Pin: Verbinden Sie diesen Pin mit dem SPI-MISO-Pin des Arduino Nano.
MOSI-Pin: Verbinden Sie diesen Pin mit dem SPI-MOSI-Pin des Arduino Nano.
SCS-Pin: Verbinden Sie diesen Pin mit dem SPI-CS-Pin des Arduino Nano.
SCLK-Pin: Verbinden Sie diesen Pin mit dem SPI-SCK-Pin des Arduino Nano.
image source: diyables.io
Verdrahtungsdiagramm zwischen Arduino Nano und W5500-Ethernet-Modul
Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Arduino Nano-Code für Ethernet-Modul – Eine HTTP-Anfrage über Ethernet senden
Dieser Code funktioniert als Web-Client. Er sendet HTTP-Anfragen an den Webserver, der unter http://example.com/ zu finden ist.
/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-nano/arduino-nano-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("Arduino Nano - 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() {}
Schnelle Schritte
Verbinde das Ethernet-Modul wie im Schaltplan gezeigt mit dem Arduino Nano.
Verbinde das Arduino Nano mit deinem Computer über ein USB-Kabel.
Verwende ein Ethernet-Kabel, um das Ethernet-Modul mit deinem Router oder Switch zu verbinden.
Öffne die Arduino-IDE auf deinem Computer.
Wähle das richtige Arduino Nano-Board und den COM-Port aus.
Klicke auf das Bibliotheken-Symbol in der linken Leiste der Arduino IDE.
Suche „Ethernet“, und finde dann die Ethernet-Bibliothek von Various.
Klicke auf die Installieren-Schaltfläche, um die Ethernet-Bibliothek zu installieren.
Öffnen Sie den seriellen Monitor in der Arduino-IDE.
Kopieren Sie den angegebenen Code und fügen Sie ihn in die Arduino-IDE ein.
Drücken Sie den Upload-Button in der Arduino-IDE, um den Code an den ESP25 zu senden.
Schauen Sie in den seriellen Monitor, um die Ausgabe zu sehen, die das Ergebnis wie angegeben anzeigen sollte.
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano' on 'COM15')
New Line
9600 baud
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
Ln 11, Col 1
Arduino Nano on COM15
2
※ Notiz:
Wenn ein anderes Gerät im selben Netzwerk dieselbe MAC-Adresse verwendet, funktioniert es möglicherweise nicht ordnungsgemäß.
Arduino Nano-Code für Ethernet-Modul - Webserver
Der untenstehende Code verwandelt das Arduino Nano in einen Webserver. Dieser Server liefert eine einfache Webseite an Internetbrowsern.
/* * Dieser Arduino Nano Code wurde von newbiely.de entwickelt * Dieser Arduino Nano Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/arduino-nano/arduino-nano-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("Arduino Nano - 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("Arduino Nano - 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>Arduino Nano - 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"); }}
Schnelle Schritte
Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein
Klicken Sie in der Arduino IDE auf die Hochladen-Schaltfläche, um den Code an Ihren Arduino Nano zu senden
Überprüfen Sie die Ergebnisse im seriellen Monitor; sie werden wie folgt angezeigt:
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Nano
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Nano' on 'COM15')
New Line
9600 baud
Arduino Nano - Ethernet Tutorial
Arduino Nano - Web Server IP Address: 192.168.0.2
Ln 11, Col 1
Arduino Nano on COM15
2
Kopieren Sie die IP-Adresse von oben und fügen Sie sie in die Adresszeile Ihres Webbrowsers ein. Sie werden eine einfache Webseite sehen, die vom Arduino Nano angezeigt wird.
Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!