diff options
Diffstat (limited to 'libraries')
-rw-r--r-- | libraries/Ethernet/examples/ChatServer/chat_server.pde (renamed from libraries/Ethernet/examples/chat_server/chat_server.pde) | 0 | ||||
-rw-r--r-- | libraries/Ethernet/examples/WebClient/web_client.pde (renamed from libraries/Ethernet/examples/web_client/web_client.pde) | 0 | ||||
-rw-r--r-- | libraries/Ethernet/examples/WebServer/WebServer.pde | 59 | ||||
-rw-r--r-- | libraries/Ethernet/examples/echo_server/echo_server.pde | 53 |
4 files changed, 59 insertions, 53 deletions
diff --git a/libraries/Ethernet/examples/chat_server/chat_server.pde b/libraries/Ethernet/examples/ChatServer/chat_server.pde index 825d2f8..825d2f8 100644 --- a/libraries/Ethernet/examples/chat_server/chat_server.pde +++ b/libraries/Ethernet/examples/ChatServer/chat_server.pde diff --git a/libraries/Ethernet/examples/web_client/web_client.pde b/libraries/Ethernet/examples/WebClient/web_client.pde index 74a6094..74a6094 100644 --- a/libraries/Ethernet/examples/web_client/web_client.pde +++ b/libraries/Ethernet/examples/WebClient/web_client.pde diff --git a/libraries/Ethernet/examples/WebServer/WebServer.pde b/libraries/Ethernet/examples/WebServer/WebServer.pde new file mode 100644 index 0000000..c14860f --- /dev/null +++ b/libraries/Ethernet/examples/WebServer/WebServer.pde @@ -0,0 +1,59 @@ +/* + * 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; + } + } + } + client.stop(); + } +} diff --git a/libraries/Ethernet/examples/echo_server/echo_server.pde b/libraries/Ethernet/examples/echo_server/echo_server.pde deleted file mode 100644 index e16dcb9..0000000 --- a/libraries/Ethernet/examples/echo_server/echo_server.pde +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Echo Server - * - * Echoes back the headers of the web request. Good for - * learning how the HTTP protocol works. - */ - -#include <Ethernet.h> - -byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; -byte ip[] = { 10, 0, 0, 177 }; - -Server server(80); - -void setup() -{ - Client client(255); - Ethernet.begin(mac, ip); - Serial.begin(9600); - server.begin(); -} - -void loop() -{ - char buf[512]; - int i = 0; - Client client = server.available(); - if (client) { - boolean previous_is_newline = false; - while (client.connected()) { - if (client.available()) { - char c = client.read(); - if (c == '\n' && previous_is_newline) { - buf[i] = 0; - client.println("HTTP/1.1 200 OK"); - client.println("Content-Type: text/html"); - client.println(); - client.println("<pre>"); - client.println(buf); - client.println("</pre>"); - break; - } - if (i < 511) - buf[i++] = c; - if (c == '\n') - previous_is_newline = true; - else if (c != '\r') - previous_is_newline = false; - } - } - client.stop(); - } -} |