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:04:29 2015 +0000
Parent:
8:f837e0d255e8
Child:
10:da17417937d9
Commit message:
httpServer example program for WIZwiki-W7500 platform; release version

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
mbed.bld 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:04:29 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/azsymaivan/code/SDFileSystem/#f242d7bdef28
--- a/WIZnetInterface.lib	Tue Jun 23 00:36:34 2015 +0000
+++ b/WIZnetInterface.lib	Mon Jun 29 09:04:29 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:04:29 2015 +0000
@@ -0,0 +1,1 @@
+httpServer#e59cc54df17c
--- a/main.cpp	Tue Jun 23 00:36:34 2015 +0000
+++ b/main.cpp	Mon Jun 29 09:04:29 2015 +0000
@@ -1,55 +1,68 @@
 #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
+
+#ifdef TARGET_WIZWIKI_W7500
+    uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x00, 0x01, 0x02};
+#endif
 
-int main (void) 
+
+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:04:29 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed-src/#30f9462b5296
--- a/mbed.bld	Tue Jun 23 00:36:34 2015 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-http://mbed.org/users/mbed_official/code/mbed/builds/7cff1c4259d7
\ No newline at end of file