/* * Web Server * * A simple web server that shows the value of the analog input pins. */ #include byte mac[] = { 0xEE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; byte ip[] = { 10, 1, 1, 124 }; Server server(80); void setup() { Ethernet.begin(mac, ip); server.begin(); Serial.begin(9600); } void loop() { Client client = server.available(); if (client) { // an http request ends with a blank line boolean current_line_is_blank = true; while (client.connected()) { if (client.available()) { char c = client.read(); Serial.print(c); // if we've gotten to the end of the line (received a newline // character) and the line is blank, the http request has ended, // so we can send a reply if (c == '\n' && current_line_is_blank) { // send a standard http response header client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(); // output the value of each analog input pin client.print("["); for (int i = 0; i < 6; i++) { client.print(analogRead(i)); client.print(","); } client.println("]"); break; } if (c == '\n') { // we're starting a new line current_line_is_blank = true; } else if (c != '\r') { // we've gotten a character on the current line current_line_is_blank = false; } } } client.stop(); } }