aboutsummaryrefslogtreecommitdiff
path: root/libraries/Ethernet/examples/WebServer
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/Ethernet/examples/WebServer')
-rw-r--r--libraries/Ethernet/examples/WebServer/WebServer.pde61
1 files changed, 61 insertions, 0 deletions
diff --git a/libraries/Ethernet/examples/WebServer/WebServer.pde b/libraries/Ethernet/examples/WebServer/WebServer.pde
new file mode 100644
index 0000000..b337a8e
--- /dev/null
+++ b/libraries/Ethernet/examples/WebServer/WebServer.pde
@@ -0,0 +1,61 @@
+/*
+ * Web Server
+ *
+ * A simple web server that shows the value of the analog input pins.
+ */
+
+#include <Ethernet.h>
+
+byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
+byte ip[] = { 10, 0, 0, 177 };
+
+Server server(80);
+
+void setup()
+{
+ Ethernet.begin(mac, ip);
+ server.begin();
+}
+
+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();
+ // 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("<br />");
+ }
+ 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();
+ }
+}