Serial.println("Disconnecting.");
30
client.stop();
-
}
-
}
-
First, we include the Ethernet library and define a constant for the Daytime
service port. (We also have to include the SPI library, because the Ethernet
library depends on it.) Then we define a few global variables:
•
mac
contains the MAC address we’re going to use for the Ethernet shield.
A MAC address is a 48-bit number that uniquely identifies a network
device.
11
Usually the manufacturer sets this identifier, but for the Ethernet
shield, we have to set it ourselves; we use an arbitrary number.
Important note: the MAC address has to be unique on your network. If
you connect more than one Arduino, make sure they all have different
MAC addresses! Also note that the Arduino Ethernet and the latest ver-
sions of the Ethernet shields have a MAC address that can be found on
a sticker on their back side.
• Whenever you connect your PC to the Internet, it probably gets a new IP
address via the Dynamic Host Configuration Protocol (DHCP).
12
For most
Arduino applications, a DHCP implementation is comparatively costly,
so you usually assign an IP address manually. (See how to use DHCP in
Using DHCP and DNS, on page 177.) In most cases, this will be a local
address in the 192.168.x.y range; we store this address in the
my_ip
variable
using the Arduino’s
IPAddress
class. In older versions of the Arduino IDE,
you had to use a byte array to store IP addresses. You can still do so,
because byte arrays will be converted to
IPAddress
objects automatically if
needed.
• To turn domain names such as time.nist.gov into an IP address, you need
access to the Domain Name System (DNS). The Arduino’s standard library
supports DNS, but we’ll find out the IP address ourselves. (See how to
use DNS in Using DHCP and DNS, on page 177.) We assign it to
time_server
.
The
telnet
command already turned the Daytime service domain name into
an IP address for us. Alternatively, you can use one of the following com-
mands to determine a domain name’s IP address:
maik> host time.nist.gov
time.nist.gov has address 192.43.244.18
maik> dig +short time.nist.gov
11.
http://en.wikipedia.org/wiki/Mac_address
12.
http://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol
report erratum • discuss
Communicating Over Networks Using an Ethernet Shield • 175
www.it-ebooks.info