Simple Webserver example for wiznet W5500 (SPI Ethernet chip) mbed OS 5 - HTTP 1.1 and multi-threaded

Dependencies:   W5500Interface easy-connect mbed-http

Fork of http-webserver-example by sandbox

mbed-os-example-http-server

This application demonstrates how to run an HTTP server on an mbed OS 5 device & WIZnet W5500 Ethernet components.

Request parsing is done through [nodejs/http-parser](https://github.com/nodejs/http-parser).

To build

  1. Open ``mbed_app.json`` and change the `network-interface` option to your connectivity method ([more info](https://github.com/ARMmbed/easy-connect)).
  2. Build the project in the online compiler or using mbed CLI.
  3. Flash the project to your development board.
  4. Attach a serial monitor to your board to see the debug messages.

Tested on

But every networking stack that supports the [mbed OS 5 NetworkInterface API](https://docs.mbed.com/docs/mbed-os-api-reference/en/latest/APIs/communication/network_sockets/) should work.

Test Result

Files at this revision

API Documentation at this revision

Comitter:
Bongjun
Date:
Fri Aug 10 08:52:29 2018 +0000
Parent:
4:e6e2fe67e79a
Commit message:
remove some comments

Changed in this revision

W5500Interface.lib Show annotated file Show diff for this revision Revisions of this file
easy-connect.lib Show annotated file Show diff for this revision Revisions of this file
source/main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/W5500Interface.lib	Thu Aug 09 08:43:24 2018 +0000
+++ b/W5500Interface.lib	Fri Aug 10 08:52:29 2018 +0000
@@ -1,1 +1,1 @@
-http://os.mbed.com/users/Bongjun/code/W5500Interface/#1877881f3516
+http://os.mbed.com/users/Bongjun/code/W5500Interface/#351e20cf7d05
--- a/easy-connect.lib	Thu Aug 09 08:43:24 2018 +0000
+++ b/easy-connect.lib	Fri Aug 10 08:52:29 2018 +0000
@@ -1,1 +1,1 @@
-http://os.mbed.com/users/Bongjun/code/easy-connect/#1c6ff32e7b69
+http://os.mbed.com/users/Bongjun/code/easy-connect/#d81e6bc35f60
--- a/source/main.cpp	Thu Aug 09 08:43:24 2018 +0000
+++ b/source/main.cpp	Fri Aug 10 08:52:29 2018 +0000
@@ -5,6 +5,7 @@
 
 //Serial pc(USBTX, USBRX);
 //DigitalOut led(D1);
+//confict with W5500 SPI CS pin, so D1 pin can't use for this example. 
 
 // Requests come in here
 void request_handler(ParsedHttpRequest* request, TCPSocket* socket) {
@@ -41,28 +42,6 @@
 int main() {
 //    pc.baud(115200);
 
-    printf("Easy connect...\n");
-    NetworkInterface *network = easy_connect(true);
-    if (!network) {
-        printf("Cannot connect to the network, see serial output");
-        return 1;
-    }
-
-    printf("Connected to the network. Opening a socket...\n");
-
-    HttpServer server(network);
-    nsapi_error_t res = server.start(8080, &request_handler);
-
-    if (res == NSAPI_ERROR_OK) {
-        printf("Server is listening at http://%s:8080\n", network->get_ip_address());
-    }
-    else {
-        printf("Server could not be started... %d\n", res);
-    }
-
-    wait(osWaitForever);
-
-/*
     // Connect to the network (see mbed_app.json for the connectivity method used)
     NetworkInterface* network = easy_connect(true);
     if (!network) {
@@ -81,5 +60,5 @@
     }
 
     wait(osWaitForever);
-*/
+
 }