Simple code for comunication via TCP between the mbed and PC.
Dependencies: EthernetInterface SimpleSocket mbed-rtos mbed
Fork of SimpleSocketExamples by
examples/webserver.cpp
- Committer:
- numeral369
- Date:
- 2014-12-17
- Revision:
- 1:016774025718
- Parent:
- 0:6dc3cfd058c6
File content as of revision 1:016774025718:
#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); } } } }