diff options
| author | Christopher Peplin <chris.peplin@rhubarbtech.com> | 2014-09-20 16:14:32 -0400 |
|---|---|---|
| committer | Christopher Peplin <chris.peplin@rhubarbtech.com> | 2014-09-20 16:14:32 -0400 |
| commit | 086c6e96ca4b98e8a144b5f7f37a7b3b6fedc61d (patch) | |
| tree | a400644b8017ab3842e980eaf5df0f4e7437ca47 /examples/WebServer | |
| parent | 6f46722abb40c60dcaa0e40292342d015906c8bf (diff) | |
Move tests back to 'examples', skip non-testable examples when testing.
This fixes https://github.com/sudar/Arduino-Makefile/issues/259.
Diffstat (limited to 'examples/WebServer')
| -rw-r--r-- | examples/WebServer/Makefile | 7 | ||||
| -rw-r--r-- | examples/WebServer/WebServer.ino | 82 |
2 files changed, 89 insertions, 0 deletions
diff --git a/examples/WebServer/Makefile b/examples/WebServer/Makefile new file mode 100644 index 0000000..5fbefae --- /dev/null +++ b/examples/WebServer/Makefile @@ -0,0 +1,7 @@ +# Arduino Make file. Refer to https://github.com/sudar/Arduino-Makefile + +BOARD_TAG = uno +ARDUINO_LIBS = Ethernet SPI + +include ../TestSuiteCommon.mk +include ../../Arduino.mk diff --git a/examples/WebServer/WebServer.ino b/examples/WebServer/WebServer.ino new file mode 100644 index 0000000..fb2a1b9 --- /dev/null +++ b/examples/WebServer/WebServer.ino @@ -0,0 +1,82 @@ +/* + Web Server + + A simple web server that shows the value of the analog input pins. + using an Arduino Wiznet Ethernet shield. + + Circuit: + * Ethernet shield attached to pins 10, 11, 12, 13 + * Analog inputs attached to pins A0 through A5 (optional) + + created 18 Dec 2009 + by David A. Mellis + modified 4 Sep 2010 + by Tom Igoe + + */ + +#include <SPI.h> +#include <Ethernet.h> + +// 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 }; +IPAddress ip(192,168,1, 178); + +// Initialize the Ethernet server library +// with the IP address and port you want to use +// (port 80 is default for HTTP): +EthernetServer server(80); + +void setup() +{ + // start the Ethernet connection and the server: + Ethernet.begin(mac, ip); + server.begin(); +} + +void loop() +{ + // listen for incoming clients + EthernetClient client = server.available(); + if (client) { + // an http request ends with a blank line + boolean currentLineIsBlank = true; + while (client.connected()) { + if (client.available()) { + char c = client.read(); + // 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 + if (c == '\n' && currentLineIsBlank) { + // 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 analogChannel = 0; analogChannel < 6; analogChannel++) { + client.print("analog input "); + client.print(analogChannel); + client.print(" is "); + client.print(analogRead(analogChannel)); + client.println("<br />"); + } + break; + } + if (c == '\n') { + // you're starting a new line + currentLineIsBlank = true; + } + else if (c != '\r') { + // you've gotten a character on the current line + currentLineIsBlank = false; + } + } + } + // give the web browser time to receive the data + delay(1); + // close the connection: + client.stop(); + } +} |
