Arduino:Примеры/DhcpAddressPrinter
Поддержать проект | Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Содержание
IP-принтер на базе DHCP[1]
Этот скетч использует расширения DHCP из библиотеки Ethernet для получения IP-адреса через DHCP и дальнейшего отображения этого адреса (полученного при помощи Ethernet Shield) на Serial Monitor.
DHCP используется для присвоения IP-адреса при вызове функции Ethernet.begin(mac). Однако использование DHCP значительно увеличивает размер скетча. Кроме того, в этом примере будет задействована функция localIP(), позволяющая отправлять присвоенный IP-адрес через Serial Monitor.
Необходимое оборудование
- Сетевой модуль Arduino Ethernet Shield;
- Плата Arduino, совместимая с Shield;
Цепь
Shield позволяет подключить плату Arduino к Ethernet-контроллеру WizNet (через SPI), и это подключение осуществляется при помощи 10-ого, 11-ого, 12-ого и 13-ого контактов. У более поздних моделей Shield имеется встроенный слот для SD-карты, SS-контакт которой в данном примере управляется через 4-ый цифровой контакт.
Shield должен быть подключен к сети при помощи Ethernet-кабеля. Также вам надо поменять сетевые настройки в скетче, чтобы они соответствовали настройкам вашей сети.
Shield устанавливается поверх платы Arduino.
Код
1 /*
2 IP-принтер на базе DHCP
3
4 Этот скетч использует DHCP-расширения из библиотеки Ethernet
5 для получения IP-адреса через DHCP и последующей «печати» этого адреса на Serial Monitor.
6 В скетче используется Arduino Ethernet Shield на базе WizNet.
7
8 Цепь:
9 * Shield, подключенный к 10-ому, 11-ому, 12-ому и 13-ому контактам
10
11 Создан 12 апреля 2011,
12 модифицирован 9 апреля 2012 Томом Иго (Tom Igoe).
13 */
14
15 #include <SPI.h>
16 #include <Ethernet.h>
17
18 // В строке ниже введите MAC-адрес вашего контроллера
19 // (у самых последних моделей Shield он напечатан на стикере):
20 byte mac[] = {
21 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 };
22
23 // Инициализируем библиотеку EthernetClient
24 // для подключения к необходимым для нас IP-адресу и порту
25 // (порт 80 является HTTP-портом по умолчанию):
26 EthernetClient client;
27
28 void setup() {
29 // Инициализируем последовательную передачу данных и ждем открытия порта:
30 Serial.begin(9600);
31 // Эта проверка нужна только для Leonardo:
32 while (!Serial) {
33 ; // ждем подключения последовательного порта (требуется только для Leonardo)
34 }
35
36 // Запускаем Ethernet-соединение:
37 if (Ethernet.begin(mac) == 0) {
38 Serial.println("Failed to configure Ethernet using DHCP"); // "Не удалось сконфигурировать Ethernet при помощи DHCP"
39 // Смысла продолжать нет, поэтому далее ничего не делаем:
40 for(;;)
41 ;
42 }
43 // Выводим на Serial Monitor ваш локальный IP-адрес:
44 Serial.print("My IP address: "); // "Мой IP-адрес: "
45
46 for (byte thisByte = 0; thisByte < 4; thisByte++) {
47 // Выводим значение каждого байта IP-адреса:
48 Serial.print(Ethernet.localIP()[thisByte], DEC);
49 Serial.print(".");
50 }
51 Serial.println();
52 }
53
54 void loop() {
55
56 }
См.также
- Arduino Ethernet Shield
- Getting started with the ethernet shield
- Ethernet library
- ChatServer
- WebClient
- WebServer
- PachubeCient?
- TwitterClient
- BarometricPressureWebServer
Внешние ссылки