HTTP server example program for WIZwiki-W7500

Dependencies:   WIZnetInterface SDFileSystem httpServer mbed-src

Fork of TCPEchoServer-WIZwiki-W7500 by WIZnet

This is HTTP server example program for WIZwiki-W7500.

In this example, only you can control RGB LED on/off.

Sample html pages and image are needed. So download samples.

  • index.html
  • dio_page.html
  • image

https://github.com/WIZnet-MbedEthernet/httpServer-WIZwiki-W7500

This example use SD card. So copy html and image files to SD card. If not WIZwiki-W7500 platform, copy html and image files to local filesystem.

There are Korean language in index.html

Files at this revision

API Documentation at this revision

Comitter:
hjjeon
Date:
Mon Jun 29 09:43:07 2015 +0000
Parent:
13:a09c9ff30460
Child:
15:0091888ada99
Commit message:
revert http server

Changed in this revision

SDFileSystem.lib Show annotated file Show diff for this revision Revisions of this file
WIZnetInterface.lib Show annotated file Show diff for this revision Revisions of this file
httpServer.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-src.lib Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SDFileSystem.lib	Mon Jun 29 09:43:07 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/azsymaivan/code/SDFileSystem/#f242d7bdef28
--- a/WIZnetInterface.lib	Mon Jun 29 09:40:10 2015 +0000
+++ b/WIZnetInterface.lib	Mon Jun 29 09:43:07 2015 +0000
@@ -1,1 +1,1 @@
-http://developer.mbed.org/teams/WIZnet/code/WIZnetInterface/#24a9f2df2145
+http://developer.mbed.org/teams/WIZnet/code/WIZnetInterface/#27b3e3a39df4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/httpServer.lib	Mon Jun 29 09:43:07 2015 +0000
@@ -0,0 +1,1 @@
+http://developer.mbed.org/teams/WIZnet/code/httpServer/#e59cc54df17c
--- 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, &eth)) {
+
+        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();
-    }
 }
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-src.lib	Mon Jun 29 09:43:07 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed-src/#30f9462b5296