Webserver example for mbed OS 5 - HTTP 1.1 and multi-threaded
Dependencies: mbed-http
mbed-os-example-http-server
This application demonstrates how to run an HTTP server on an mbed OS 5 device.
Request parsing is done through nodejs/http-parser.
To build
- Open
mbed_app.json
and change thenetwork-interface
option to your connectivity method (more info). - Build the project in the online compiler or using mbed CLI.
- Flash the project to your development board.
- Attach a serial monitor to your board to see the debug messages.
Tested on
- K64F with Ethernet.
- NUCLEO_F411RE with ESP8266.
- For ESP8266, you need this patch.
But every networking stack that supports the mbed OS 5 NetworkInterface API should work.
mbed_app.json
- Committer:
- Jan Jongboom
- Date:
- 2017-07-31
- Revision:
- 1:fe3df398bdf5
- Parent:
- 0:41f820ea137a
File content as of revision 1:fe3df398bdf5:
{ "config": { "network-interface": { "help": "options are ETHERNET, WIFI_ESP8266, WIFI_ODIN, WIFI_RTW, MESH_LOWPAN_ND, MESH_THREAD", "value": "ETHERNET" }, "mesh_radio_type": { "help": "options are ATMEL, MCR20, SPIRIT1, EFR32", "value": "ATMEL" }, "esp8266-tx": { "help": "Pin used as TX (connects to ESP8266 RX)", "value": "D1" }, "esp8266-rx": { "help": "Pin used as RX (connects to ESP8266 TX)", "value": "D0" }, "esp8266-debug": { "value": true }, "wifi-ssid": { "value": "\"SSID\"" }, "wifi-password": { "value": "\"Password\"" } }, "target_overrides": { "*": { "target.features_add": ["NANOSTACK", "LOWPAN_ROUTER", "COMMON_PAL"], "mbed-mesh-api.6lowpan-nd-channel-page": 0, "mbed-mesh-api.6lowpan-nd-channel": 12, "mbed-trace.enable": 0, "mbed-http.http-buffer-size": 2048 }, "HEXIWEAR": { "esp8266-tx": "PTD3", "esp8266-rx": "PTD2" }, "NUCLEO_F401RE": { "esp8266-tx": "D8", "esp8266-rx": "D2" }, "NUCLEO_F411RE": { "esp8266-tx": "D8", "esp8266-rx": "D2" } } }