Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EthernetInterface SimpleSocket mbed-rtos mbed
webcontroller.cpp
00001 #include "SimpleSocket.h" 00002 00003 void webcontroller() { 00004 const char *response0 = 00005 "HTTP/1.1 200 OK\r\n" 00006 "Content-Type: text/html\r\n" 00007 "\r\n" 00008 "<html>\r\n" 00009 "<head><title>mbed LED1 Controller</title></head>\r\n" 00010 "<body>\r\n" 00011 "<h4>LED1 Status & Change</h4>\r\n"; 00012 00013 const char *response1 = 00014 "<form method=\"GET\" action=\"/\">\r\n" 00015 "<input type=\"radio\" name=\"LED\" value=\"1\" %s onclick=\"submit();\"/>ON\r\n" 00016 "<input type=\"radio\" name=\"LED\" value=\"0\" %s onclick=\"submit();\"/>OFF\r\n" 00017 "</form>\r\n"; 00018 00019 const char *response2 = 00020 "</body>\r\n" 00021 "</html>\r\n"; 00022 00023 DigitalOut led1(LED1); 00024 00025 ServerSocket server(80); 00026 00027 printf("webcontroller: %s\n", EthernetInterface::getIPAddress()); 00028 00029 while (true) { 00030 ClientSocket socket = server.accept(); 00031 while (socket) { 00032 if (socket.available()) { 00033 char buf[512] = {}; 00034 socket.read(buf, sizeof(buf) - 1); 00035 printf("\r\n%s\r\n", buf); 00036 led1 = strncmp("GET /?LED=1", buf, 11) == 0; 00037 00038 printf("LED1 = %d\r\n\r\n", led1.read()); 00039 printf(response0); 00040 printf(response1, led1 ? "checked" : "", led1 ? "" : "checked"); 00041 printf(response2); 00042 00043 socket.printf(response0); 00044 socket.printf(response1, led1 ? "checked" : "", led1 ? "" : "checked"); 00045 socket.printf(response2); 00046 socket.close(); 00047 } 00048 } 00049 } 00050 }
Generated on Mon Jul 18 2022 00:17:10 by
1.7.2