MicroHTTP
Introduction
Hardware
Software
Performance
Download lwIP examples
Download Nut/Net examples
 

Introduction

From time to time I searched an embedded HTTP server which could be used. I found some examples, but these could only serve a simple http file. But now I found MicroHTTP which looks very promising to use it. Therefore I create a Proof of Concept to test if MicroHTTP, TinyCTS/AL and Nut/Net or lwIP can be used together.

MicroHTTP is part of the Ethernut project based on Nut/OS for the real time operating system and Nut/Net for the TCP/IP stack. But here the Nut/OS scheduler was replaced by TinyCTS/AL. Examples was now created with Nut/Net and lwIP for the TCP/IP stack. In the moment there exist no separate MicroHTTP packages. The MicroHTTP software is an extract from the Ethernut project.

This is still a Proof of Concept and under development.

An other version with ChibiOS and lwIP can be found here in the archive.

Hardware

For this example the following boards was used:

Software

The software use the following key components:

For the compiler, CrossWorks for ARM was used. The project with my source can be found under the download section.

Performance

Also, it seems a bit difficult to get the best performance from lwIP. There exists a lot of settings by the configuration file which influence the performance. For measuring the performance JPerf (IPerf) can be used:

(Click inside the picture to expand)

Here the STM3240G-EVAL board with 1 connection was used. A RX performance of 4.21 MBytes/sec was reached with the default value of 536 for the maximum segment size (TCP_MSS). The JPerf client task will accept up to 4 parallels streams, give it a try:

(Click inside the picture to expand)

With 4 parallel streams a transfer rate of 7.13 MBytes/sec was reached.

Download lwIP examples

bf4088-tctsal-lwip_20181203 (2.40 MB)

stm3240g-tctsal-lwip_20181203 (2.36 MB)

Download Nut/Net examples

bf4088-tctsal-nutnet_20181203 (1.78 MB)

stm3240g-tctsal-nutnet_20181203 (1.40 MB)

frdmk64f-tctsal-nutnet_20181207 (1.37 MB)