SimpleSocket 1.0 examples
Dependencies: EthernetNetIf SimpleSocket 1.0 mbed
webserver.cpp@39:108499af2b53, 2012-06-06 (annotated)
- Committer:
- yamaguch
- Date:
- Wed Jun 06 03:34:16 2012 +0000
- Revision:
- 39:108499af2b53
updated link to the library
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yamaguch | 39:108499af2b53 | 1 | #include "EthernetNetIf.h" |
yamaguch | 39:108499af2b53 | 2 | #include "SimpleSocket.h" |
yamaguch | 39:108499af2b53 | 3 | |
yamaguch | 39:108499af2b53 | 4 | void webserver() { |
yamaguch | 39:108499af2b53 | 5 | const char *response0 = |
yamaguch | 39:108499af2b53 | 6 | "HTTP/1.1 200 OK\r\n" |
yamaguch | 39:108499af2b53 | 7 | "Content-Type: text/html\r\n" |
yamaguch | 39:108499af2b53 | 8 | "\r\n" |
yamaguch | 39:108499af2b53 | 9 | "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"5\">\r\n" |
yamaguch | 39:108499af2b53 | 10 | "<html>\r\n" |
yamaguch | 39:108499af2b53 | 11 | "<head>\r\n" |
yamaguch | 39:108499af2b53 | 12 | "<title>mbed web server</title>\r\n" |
yamaguch | 39:108499af2b53 | 13 | "</head>\r\n" |
yamaguch | 39:108499af2b53 | 14 | "<body>\r\n" |
yamaguch | 39:108499af2b53 | 15 | "<h2>Analog Input</h2>\r\n" |
yamaguch | 39:108499af2b53 | 16 | "<table cellpadding=\"5\">\r\n"; |
yamaguch | 39:108499af2b53 | 17 | const char *response1 = |
yamaguch | 39:108499af2b53 | 18 | "<tr style=\"background:#ccccff\">" |
yamaguch | 39:108499af2b53 | 19 | "<th>pin</th><th>value</th>" |
yamaguch | 39:108499af2b53 | 20 | "</tr>\r\n"; |
yamaguch | 39:108499af2b53 | 21 | const char *response2 = |
yamaguch | 39:108499af2b53 | 22 | "<tr style=\"background:#cccccc\">" |
yamaguch | 39:108499af2b53 | 23 | "<td>p%d</td><td align=\"center\">%f</td>" |
yamaguch | 39:108499af2b53 | 24 | "</tr>\r\n"; |
yamaguch | 39:108499af2b53 | 25 | const char *response3 = |
yamaguch | 39:108499af2b53 | 26 | "</table>\r\n" |
yamaguch | 39:108499af2b53 | 27 | "</body>\r\n" |
yamaguch | 39:108499af2b53 | 28 | "</html>\r\n"; |
yamaguch | 39:108499af2b53 | 29 | |
yamaguch | 39:108499af2b53 | 30 | EthernetNetIf eth; |
yamaguch | 39:108499af2b53 | 31 | eth.setup(); |
yamaguch | 39:108499af2b53 | 32 | |
yamaguch | 39:108499af2b53 | 33 | ServerSocket server(80); |
yamaguch | 39:108499af2b53 | 34 | |
yamaguch | 39:108499af2b53 | 35 | while (true) { |
yamaguch | 39:108499af2b53 | 36 | ClientSocket socket = server.accept(); |
yamaguch | 39:108499af2b53 | 37 | while (socket) { |
yamaguch | 39:108499af2b53 | 38 | if (socket.available()) { |
yamaguch | 39:108499af2b53 | 39 | while (socket.available()) |
yamaguch | 39:108499af2b53 | 40 | socket.read(); |
yamaguch | 39:108499af2b53 | 41 | socket.printf(response0); |
yamaguch | 39:108499af2b53 | 42 | socket.printf(response1); |
yamaguch | 39:108499af2b53 | 43 | AnalogIn analogPin[] = {p15, p16, p17, p18, p19, p20}; |
yamaguch | 39:108499af2b53 | 44 | for (int i = 0; i < 6; i++) |
yamaguch | 39:108499af2b53 | 45 | socket.printf(response2, 15 + i, analogPin[i].read()); |
yamaguch | 39:108499af2b53 | 46 | socket.printf(response3); |
yamaguch | 39:108499af2b53 | 47 | socket.close(); |
yamaguch | 39:108499af2b53 | 48 | } |
yamaguch | 39:108499af2b53 | 49 | } |
yamaguch | 39:108499af2b53 | 50 | } |
yamaguch | 39:108499af2b53 | 51 | } |