// библиотека для работы с SPI #include // библиотека для работы с Ethernet Shield #include // MAC-адрес контроллера byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // адрес запрашиваемого сервера char server[] = "amperka.ru"; // задаем статический IP-адрес // на тот случай, если у DHCP выдать IP-адрес не получится IPAddress ip(192, 168, 0, 177); // создаём клиента, который будет подключаться // к необходимому для нас серверу и порту // портом по умолчанию для HTTP является 80 EthernetClient client; void setup() { // открываем последовательный порт Serial.begin(9600); // ждём, пока не откроется монитор последовательного порта // для того, чтобы отследить все события в программе while (!Serial) { } Serial.print("Serial init OK\r\n"); // запускаем Ethernet-соединение: if (Ethernet.begin(mac) == 0) { // если не удалось сконфигурировать Ethernet при помощи DHCP Serial.println("Failed to configure Ethernet using DHCP"); // продолжать дальше смысла нет, поэтому вместо DHCP // попытаемся сделать это при помощи IP-адреса: Ethernet.begin(mac, ip); } // получаем и выводим локальный IP адрес Serial.print("My IP address: "); Serial.println(Ethernet.localIP()); // даем Ethernet 1 секунду на инициализацию delay(1000); Serial.println("connecting..."); // если подключение установлено, сообщаем об этом на Serial-порт: if (client.connect(server, 80)) { Serial.println("connected"); // формируем HTTP-запрос client.println("GET / HTTP/1.1"); client.println("Host: amperka.ru"); client.println("Connection: close"); client.println(); } else { // если соединения с сервером нет, пишем об этом на Serial-порт: Serial.println("connection failed"); } } void loop() { // если есть непрочитанные байты // принятые клиентом от удаленного сервера, с которым установлено соединение if (client.available()) { // считываем данные и печатаем в Serial-порт char c = client.read(); Serial.print(c); } // если сервер отключился if (!client.connected()) { // печатаем об этом в Serial-порт Serial.println(); Serial.println("disconnecting."); // останавливаем работу клиента client.stop(); // останавливаем программу в бесконечном цикле while (1) { } } }