gsgse
Dependencies: SDFileSystem WIZnetInterface httpServer_with_Ethernt mbed
Fork of HTTPWebServer-WIZwiki-W7500 by
Diff: main.cpp
- Revision:
- 14:9202a7785974
- Parent:
- 13:a09c9ff30460
- Child:
- 15:0091888ada99
--- a/main.cpp Mon Jun 29 09:40:10 2015 +0000 +++ b/main.cpp Mon Jun 29 09:43:07 2015 +0000 @@ -1,56 +1,67 @@ - #include "mbed.h" #include "EthernetInterface.h" +#include "FsHandler.h" +#include "HTTPServer.h" +#include "SDFileSystem.h" -#define ECHO_SERVER_PORT 7 +#ifdef TARGET_WIZWIKI_W7500 + SDFileSystem local(SD_MOSI, SD_MISO, SD_CLK, SD_SEL, "local");//PB_3, PB_2, PB_1, PB_0 +#else + LocalFileSystem local("local"); + //or TODO: +#endif -int main (void) +#ifdef TARGET_WIZWIKI_W7500 + uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x00, 0x01, 0x02}; +#endif + +EthernetInterface eth; +HTTPServer svr; +char ip_addr[] = "192.168.1.111"; +char subnet_mask[] = "255.255.255.0"; +char gateway_addr[] = "192.168.1.1"; + +//#define DHCP + +int main() { printf("Wait a second...\r\n"); - uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x00, 0x01, 0x02}; - EthernetInterface eth; - eth.init(mac_addr); //Use DHCP + HTTPFsRequestHandler::mount("/local/", "/"); + svr.addHandler<HTTPFsRequestHandler>("/"); + +#ifdef TARGET_WIZWIKI_W7500 + + #ifdef DHCP + eth.init(mac_addr); //Use DHCP + #else + eth.init(mac_addr, ip_addr, subnet_mask, gateway_addr); //Not Use DHCP + #endif + +#else + + #ifdef DHCP + eth.init(); //Use DHCP + #else + eth.init(ip_addr, subnet_mask, gateway_addr); //Not Use DHCP + #endif + +#endif + + + eth.connect(); printf("Server IP Address is %s\r\n", eth.getIPAddress()); - - TCPSocketServer server; - server.bind(ECHO_SERVER_PORT); - server.listen(); + + if (!svr.start(80, ð)) { + + error("Server not starting !"); + exit(0); + } + + while(1) { + svr.poll(); + wait(0.2); + } - while (true) - { - printf("Wait for new connection...\r\n"); - TCPSocketConnection client; - server.accept(client); - client.set_blocking(false, 15000); // Timeout after (1.5)s - - printf("Connection from: %s\r\n", client.get_address()); - char buffer[256]; - while (true) { - int n = client.receive(buffer, sizeof(buffer)); - if (n <= 0) break; - - // print received message to terminal - buffer[n] = '\0'; - printf("Received message from Client :'%s'\r\n",buffer); - - // reverse the message - char temp; - for(int f = 0, l = n-1; f<l; f++,l--){ - temp = buffer[f]; - buffer[f] = buffer[l]; - buffer[l] = temp; - } - - // print reversed message to terminal - printf("Sending message to Client: '%s'\r\n",buffer); - - // Echo received message back to client - client.send_all(buffer, n); - if (n <= 0) break; - } - - client.close(); - } }