Arduino UNO R4 - Ethernet

Diese Anleitung zeigt Ihnen, wie Sie den Arduino UNO R4 mithilfe des W5500-Ethernet-Moduls mit dem Internet oder Ihrem lokalen Netzwerk verbinden. Wir werden die folgenden Details besprechen:

Arduino UNO R4 Ethernet

Über das W5500-Ethernet-Modul

Das W5500-Ethernet-Modul bietet zwei Schnittstellen:

  • RJ45-Ethernet-Schnittstelle: Stellen Sie eine Verbindung zu einem Router oder Switch mit einem Ethernet-Kabel her.
  • SPI-Schnittstelle: Stellen Sie eine Verbindung zu einem Arduino UNO R4-Board her, das diese Schnittstelle verwendet. Sie umfasst 10 Pins:
    • NC-Pin: Lassen Sie diesen Pin offen.
    • INT-Pin: Lassen Sie diesen Pin offen.
    • RST-Pin: Dies ist der Reset-Pin. Verbinden Sie ihn mit dem EN-Pin am Arduino UNO R4.
    • GND-Pin: Verbinden Sie diesen Pin mit dem GND-Pin am Arduino UNO R4.
    • 5V-Pin: Verbinden Sie diesen Pin mit dem 5V-Pin am Arduino UNO R4.
    • 3,3V-Pin: Lassen Sie diesen Pin offen.
    • MISO-Pin: Verbinden Sie diesen Pin mit dem SPI-MISO-Pin am Arduino UNO R4.
    • MOSI-Pin: Verbinden Sie diesen Pin mit dem SPI-MOSI-Pin am Arduino UNO R4.
    • SCS-Pin: Verbinden Sie diesen Pin mit dem SPI-CS-Pin am Arduino UNO R4.
    • SCLK-Pin: Verbinden Sie diesen Pin mit dem SPI-SCK-Pin am Arduino UNO R4.
    Pinbelegung des Ethernet-Moduls
    image source: diyables.io

Verdrahtungsdiagramm zwischen Arduino UNO R4 und dem W5500-Ethernet-Modul

Arduino UNO R4 Ethernet-Modul Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Siehe Der beste Weg, den Arduino Uno R4 und andere Komponenten mit Strom zu versorgen.

Arduino UNO R4 Code für das Ethernet-Modul - HTTP-Anfrage über Ethernet senden

Dieser Code fungiert als Web-Client. Er sendet HTTP-Anfragen an den Webserver unter http://example.com/.

/* * Dieser Arduino UNO R4 Code wurde von newbiely.de entwickelt * Dieser Arduino UNO R4 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-uno-r4/arduino-uno-r4-ethernet-module */ #include <SPI.h> #include <Ethernet.h> // replace the MAC address below by the MAC address printed on a sticker on the Arduino Shield 2 byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; EthernetClient client; int HTTP_PORT = 80; String HTTP_METHOD = "GET"; // or POST char HOST_NAME[] = "example.com"; String PATH_NAME = "/"; void setup() { Serial.begin(9600); delay(1000); Serial.println("Arduino Uno R4 - 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 present if (Ethernet.hardwareStatus() == EthernetNoHardware) Serial.println("Ethernet shield was not found"); // check for Ethernet cable if (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 header while (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"); } } void loop() { }

Schnelle Schritte

Befolgen Sie diese Anweisungen Schritt für Schritt:

  • Wenn dies das erste Mal ist, dass Sie den Arduino Uno R4 WiFi/Minima verwenden, lesen Sie das Tutorial zur Einrichtung der Umgebung für Arduino Uno R4 WiFi/Minima in der Arduino IDE.
  • Verbinden Sie das Ethernet-Modul gemäß dem bereitgestellten Diagramm mit Ihrem Arduino UNO R4.
  • Verbinden Sie das Ethernet-Modul über ein Ethernet-Kabel mit Ihrem Router oder Switch.
  • Schließen Sie das Arduino Uno R4-Board über ein USB-Kabel an Ihren Computer an.
  • Öffnen Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das passende Arduino Uno R4-Board (z. B. Arduino Uno R4 Minima) und den COM-Port.
  • Klicken Sie auf das Bibliotheken-Symbol auf der linken Seite der Arduino IDE.
  • Geben Sie im Suchfeld „Ethernet“ ein und finden Sie die Ethernet-Bibliothek von Various.
  • Drücken Sie die Installieren-Schaltfläche, um die Ethernet-Bibliothek hinzuzufügen.
Arduino UNO R4 Ethernet-Bibliothek
  • Öffnen Sie den Serial Monitor in der Arduino-IDE.
  • Kopieren Sie den angegebenen Code und fügen Sie ihn in die Arduino-IDE ein.
  • Klicken Sie auf die Hochladen-Schaltfläche in der Arduino-IDE, um den Code an den Arduino Uno R4 zu senden.
  • Um die Ausgabe anzuzeigen, sehen Sie im Serial Monitor nach, wo die Ergebnisse wie angegeben angezeigt werden.
COM6
Send
Arduino UNO R4 - 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
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

※ Notiz:

Wenn ein anderes Gerät im selben Netzwerk dieselbe MAC-Adresse verwendet, kann es zu Problemen kommen.

Arduino UNO R4 Code für Ethernet-Modul - Webserver

Der unten stehende Code verwandelt den Arduino UNO R4 in einen Webserver. Dieser Server sendet eine einfache Webseite an Internetbrowsern.

/* * Dieser Arduino UNO R4 Code wurde von newbiely.de entwickelt * Dieser Arduino UNO R4 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-uno-r4/arduino-uno-r4-ethernet-module */ #include <SPI.h> #include <Ethernet.h> // replace the MAC address below by the MAC address printed on a sticker on the Arduino Shield 2 byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; EthernetServer server(80); void setup() { Serial.begin(9600); delay(1000); Serial.println("Arduino Uno R4 - 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 present if (Ethernet.hardwareStatus() == EthernetNoHardware) Serial.println("Ethernet shield was not found"); // check for Ethernet cable if (Ethernet.linkStatus() == LinkOFF) Serial.println("Ethernet cable is not connected."); while (true) ; } server.begin(); Serial.print("Arduino Uno R4 - Web Server IP Address: "); Serial.println(Ethernet.localIP()); } void loop() { // listen for incoming clients EthernetClient client = server.available(); if (client) { Serial.println("new client"); // an HTTP request ends with a blank line bool 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 reply if (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 Uno R4 - Web Server with Ethernet</h1>"); client.println("</body>"); client.println("</html>"); break; } if (c == '\n') { // you're starting a new line currentLineIsBlank = true; } else if (c != '\r') { // you've gotten a character on the current line currentLineIsBlank = false; } } } // give the web browser time to receive the data delay(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 Schaltfläche Hochladen, um den Code auf den Arduino Uno R4 hochzuladen.
  • Überprüfen Sie das Ergebnis im Serial Monitor; es wird wie folgt angezeigt:
COM6
Send
Arduino UNO R4 - Ethernet Tutorial Arduino UNO R4 - Web Server IP Address: 192.168.0.2
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • Kopieren Sie die oben angegebene IP-Adresse und geben Sie sie in die Adressleiste Ihres Webbrowsers ein. Sie sehen eine einfache Webseite, die vom Arduino UNO R4 angezeigt wird.
Arduino UNO R4 Ethernet-Webserver

Verwandte Tutorials

※ UNSERE NACHRICHTEN

  • 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!