Simple code for comunication via TCP between the mbed and PC.
Dependencies: EthernetInterface SimpleSocket mbed-rtos mbed
Fork of SimpleSocketExamples by
Diff: examples/webserver.cpp
- Revision:
- 0:6dc3cfd058c6
diff -r 000000000000 -r 6dc3cfd058c6 examples/webserver.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/examples/webserver.cpp Mon Feb 04 09:29:18 2013 +0000 @@ -0,0 +1,60 @@ +#include "SimpleSocket.h" + +void webserver() +{ + const char *response0 = + "HTTP/1.1 200 OK\r\n" + "Content-Type: text/html\r\n" + "\r\n" + "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"5\">\r\n" + "<html>\r\n" + "<head>\r\n" + "<title>mbed web server</title>\r\n" + "</head>\r\n" + "<body>\r\n" + "<h2>Analog Input</h2>\r\n" + "<table cellpadding=\"5\">\r\n"; + + const char *response1 = + "<tr style=\"background:#ccccff\">" + "<th>pin</th><th>value</th>" + "</tr>\r\n"; + + const char *response2 = + "<tr style=\"background:#cccccc\">" + "<td>p%d</td><td align=\"center\">%f</td>" + "</tr>\r\n"; + + const char *response3 = + "</table>\r\n" + "</body>\r\n" + "</html>\r\n"; + + ServerSocket server(80); + + printf("webserver: %s\n", EthernetInterface::getIPAddress()); + + while (true) { + ClientSocket socket = server.accept(); + while (socket) { + if (socket.available()) { + while (socket.available()) + socket.read(); + int ret1 = socket.printf(response0); + //wait(0.1); + int ret2 = socket.printf(response1); + //wait(0.1); + AnalogIn analogPin[] = {p15, p16, p17, p18, p19, p20}; + int ret = 0; + for (int i = 0; i < 6; i++) { + ret += socket.printf(response2, 15 + i, analogPin[i].read()); + // wait(0.1); + } + int ret3 = socket.printf(response3); + //wait(0.1); + socket.close(); + ::printf("len = %d, ret = %d, %d, %d, %d\n", strlen(response1), ret1, ret2, ret, ret3); + } + } + } +} \ No newline at end of file