/* Example code that reads Analog/Digital inputs and runs a WebServer that publishes those values on the network. The IP address in the example code need to be changed for the address assigned to ENC28J60 module. */ #include // The MAC Address of this device: byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //The IP Address of this device: byte ip[] = { 192, 168, 0, 177 }; //TCP port for unencrypted WWW server Server server(80); void setup() { Ethernet.begin(mac, ip); server.begin(); } void loop() { //Attempts clients to connect Client client = server.available(); if (client) { // If a http request ends with a blank line boolean current_line_is_blank = true; while (client.connected()) { if (client.available()) { char c = client.read(); // 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 for (int i = 0; i < 6; i++) { client.print("analog input "); client.print(i); client.print(" is "); client.print(analogRead(i)); client.println(""); } // end for 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; } } } // give the web browser time to receive the data delay(1); client.stop(); } } // end loop