#include #define LED 8 byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; byte ip[] = { 192, 168, 111, 2 }; char link[30], LEDStatus[4]; Server server(80); void setup() { pinMode(LED, OUTPUT); Ethernet.begin(mac, ip); server.begin(); } void loop() { Client client = server.available(); if (client) { char request[10]; int i = 0; boolean current_line_is_blank = true; request[9] = '\0'; while (client.connected()) { if (client.available()) { char c = client.read(); if (i < 9) { request[i] = c; i++; } if (c == '\n' && current_line_is_blank) { client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(); client.println("Arduino etherShield"); client.println("

Arduino etherShield Example

"); client.println(""); client.print(""); if (strncmp("GET /off", request, 8) == 0) { digitalWrite(LED, LOW); sprintf(LEDStatus, "OFF"); sprintf(link, "Turn on"); } else { sprintf(LEDStatus, "ON"); digitalWrite(LED, HIGH); sprintf(link, "Turn off"); } client.print("
Analog inputs:"); for (int x = 0; x < 6; x++) { client.print(x); client.print(" = "); client.print(5000 * (analogRead(x) / 1024.0)); client.print(" mV
"); } client.println("
uptime: "); client.print(millis() / 1000.0); client.println(" seconds
LED status: "); client.print(LEDStatus); client.println("
"); client.println(link); client.println("
"); break; } if (c == '\n') { current_line_is_blank = true; } else if (c != '\r') { current_line_is_blank = false; } } } delay(1); client.stop(); } }