diff options
Diffstat (limited to 'libraries/Ethernet/examples/WebServer')
-rw-r--r-- | libraries/Ethernet/examples/WebServer/WebServer.ino | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/libraries/Ethernet/examples/WebServer/WebServer.ino b/libraries/Ethernet/examples/WebServer/WebServer.ino index 6837f83..ce8dbb1 100644 --- a/libraries/Ethernet/examples/WebServer/WebServer.ino +++ b/libraries/Ethernet/examples/WebServer/WebServer.ino @@ -10,7 +10,7 @@ created 18 Dec 2009 by David A. Mellis - modified 4 Sep 2010 + modified 9 Apr 2012 by Tom Igoe */ @@ -20,7 +20,8 @@ // Enter a MAC address and IP address for your controller below. // The IP address will be dependent on your local network: -byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; +byte mac[] = { + 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; IPAddress ip(192,168,1, 177); // Initialize the Ethernet server library @@ -28,23 +29,33 @@ IPAddress ip(192,168,1, 177); // (port 80 is default for HTTP): EthernetServer server(80); -void setup() -{ +void setup() { + // Open serial communications and wait for port to open: + Serial.begin(9600); + while (!Serial) { + ; // wait for serial port to connect. Needed for Leonardo only + } + + // start the Ethernet connection and the server: Ethernet.begin(mac, ip); server.begin(); + Serial.print("server is at "); + Serial.println(Ethernet.localIP()); } -void loop() -{ + +void loop() { // listen for incoming clients EthernetClient client = server.available(); if (client) { + Serial.println("new client"); // an http request ends with a blank line boolean currentLineIsBlank = true; while (client.connected()) { if (client.available()) { char c = client.read(); + Serial.write(c); // if you've gotten to the end of the line (received a newline // character) and the line is blank, the http request has ended, // so you can send a reply @@ -52,16 +63,22 @@ void loop() // send a standard http response header client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); + client.println("Connnection: close"); client.println(); - + client.println("<!DOCTYPE HTML>"); + client.println("<html>"); + // add a meta refresh tag, so the browser pulls again every 5 seconds: + client.println("<meta http-equiv=\"refresh\" content=\"5\">"); // output the value of each analog input pin for (int analogChannel = 0; analogChannel < 6; analogChannel++) { + int sensorReading = analogRead(analogChannel); client.print("analog input "); client.print(analogChannel); client.print(" is "); - client.print(analogRead(analogChannel)); - client.println("<br />"); + client.print(sensorReading); + client.println("<br />"); } + client.println("</html>"); break; } if (c == '\n') { @@ -78,5 +95,7 @@ void loop() delay(1); // close the connection: client.stop(); + Serial.println("client disonnected"); } } + |