#include "SPI.h"
#include "Ethernet.h"
// вводим MAC-адрес нижк
// У более новых шилдов MAC-адрес напечатан на наклейке
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
// Если не хотите использовать DNS (и тем самым сократить размер скетча),
// то вместо названия сайта воспользуйтесь цифровым IP:
//IPAddress server(74,125,232,128); // цифровой IP для Google (без DNS)
char server[] = "www.google.com"; // название сервера Google (с DNS)
// Задаем статический IP-адрес (на тот случай, если у DHCP выдать IP-адрес не получится):
IPAddress ip(192, 168, 1, 177);
// Создаем клиента, который будет подключаться
// к необходимым для нас IP-адресу и порту
// (портом по умолчанию для HTTP является 80):
EthernetClient client;
void setup() {
// Инициализируем последовательную передачу данных и ждем открытия порта:
Serial.begin(9600);
while (!Serial) {
; // // ждем подключения последовательного порта (нужно только для Leonardo-подобных)
}
// Запускаем Ethernet-соединение:
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
// Продолжать дальше смысла нет, поэтому вместо DHCP
// попытаемся сделать это при помощи IP-адреса:
Ethernet.begin(mac, ip);
}
// Даем Ethernet Shield секунду на инициализацию:
delay(1000);
Serial.println("connecting...");
// Если подключение установлено, сообщаем об этом на Serial Monitor:
if (client.connect(server, 80)) {
Serial.println("connected"); // "Подключение установлено"
// Делаем HTTP-Запрос:
client.println("GET /search?q=arduino HTTP/1.1");
client.println("Host: www.google.com");
client.println("Connection: close");
client.println();
} else {
// Если соединения с сервером нет, пишем об этом на Serial Monitor:
Serial.println("connection failed"); // "Подключиться не удалось"
}
}
void loop() {
// Если от сервера есть какие-нибудь байты,
// считываем их и выводим на Serial Monitor:
if (client.available()) {
char c = client.read();
Serial.print(c);
}
// Если сервер отключился, останавливаем работу клиента:
if (!client.connected()) {
Serial.println();
Serial.println("disconnecting."); // "Отключение..."
client.stop();
// Больше ничего не делаем:
while (true);
}
}