Loading...
 

Arduino Ethernet Shield 2: Print your Ip address

This example shows you how to print the IP address assigned by the DHCP.

Hardware

  • Arduino board
  • Arduino Ethernet Shield 2

Circuit

Image
Mount your Ethenet shield 2 on an Arduino board and connect it to the network using the Ethernet cable.

Code

In this sketch they are included the "SPI" and "Ethernet2" libraries, and it is indicated the Mac address of the Shield.
In the setup function they are initialized the Ethernet and the Serial communications.
To get the Ip address it must use the Ethernet.localIP() function.
Finally the IP address is printed using the Serial.print() function.

The complete code and its detailed description are shown down.

Note:
You need the "SPI.h" and "Ethernet2.h" libraries to use this sketch and you need to change the Mac address of the Shield,
often it is printed on a sticker on your Shield.

/*
  DHCP-based IP printer

 This sketch uses the DHCP extensions to the Ethernet library
 to get an IP address via DHCP and print the address obtained.
 using an Arduino Wiznet Ethernet shield.

 Circuit:
 * Ethernet shield attached to pins 10, 11, 12, 13

 created 12 April 2011
 modified 9 Apr 2012
 by Tom Igoe

 */
#include <SPI.h>
#include <Ethernet2.h>

// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] = {
  0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02
};

// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
EthernetClient client;

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  // this check is only needed on the Leonardo:
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }

  // start the Ethernet connection:
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    // no point in carrying on, so do nothing forevermore:
    for (;;)
      ;
  }
  // print your local IP address:
  Serial.print("My IP address: ");
  for (byte thisByte = 0; thisByte < 4; thisByte++) {
    // print the value of each byte of the IP address:
    Serial.print(Ethernet.localIP()[thisByte], DEC);
    Serial.print(".");
  }
  Serial.println();
}

void loop() {

}