Politecnico di Torino (logo)

Integration and Development of a Dynamic Web Server on Embedded Microcontrollers

Ramon Messinetti

Integration and Development of a Dynamic Web Server on Embedded Microcontrollers.

Rel. Luciano Lavagno. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2018

PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (3MB) | Preview

Nowadays, in the IT field, is very common to hear someone pronouncing the phrase "Internet of Things". This term was coined by information technology researchers but it has widely spread into mainstream public view only more recently. Internet ofThings, in the more general technical meaning, could be defined as the ability of network aware devices to collect data, through sensors, and share them across Internet. In this network aware environment is present a figure of interest, for the scope ofthis thesis work, called embedded web server. Basically, an embedded web server is just a little part of a full internet of things infrastructure. This kind of server could be a valid alternative to build an entire Internet of Things infrastructure, especiallyin case of light applications and in presence of hardware and/or code size constraints.Giovanni Di Sirio, the tutor during my internship period at STMicroelectronics in Arzano (NA), assigned me to the projectof integrating and extending an HTTP web server on a STM32F746G-DISCO platform.In order to achieve these tasks i had to integrate Chibios, a Real Time Operating System developed by Giovanni Di Sirio, with two main software components. These components were essentially an open source TCP/IP stack called LwIP, used for the establishment of a persistent internet connection, and a generic FAT file system module known as FatFS used in order to give a file organization toa microSD card.The first task of this project, following the integration phase, was to reach the goal of storing and managing the web server from an on board microSD card mounting FatFS. The basic version of this web server was initially managed by a ROM file system making it not suitable for an embedded environment because of its memory requirements.The second main task was to extend the basic static web server into a dynamic one. In particular the general structure is approximately a three level architecture adopting the CGI mechanism, a standard protocol that provides programs running on a server with the goal of generating web pages dynamically. I have also implemented an exportable algorithm that provides a file handling mechanism that couldbe common for each and every cgi task written in C.A performance analysis has been verified. From this study emerges that the performance is directly influenced by the size of the read buffer used for the open/read operation of a file stored inside the on-board microSD. Having a too much largebuffer involves in an inappropriate memory burn that must be avoided in an embedded environment, but on the other hand a small buffer will increment the execution time. Furthermore the programming language adopted for the CGI process implementationis a key choice in terms of execution time. As a result of this analysis i have considered C language as the most appropriate for this scope.The conclusion of my thesis work has produced a ready to use environment in order to build a full customizable web server. Furthermore a personal dynamic web server have been provided, with the particular feature of storing and handling filesdirectly from an on-board microSD card. The qualities of this HTTP server are very valuable being in line with the requests of the actual market.In my opinion, a future challenge could be to increment the applicability of this thesis work by integrating a WiFi module with the current web server. Furthermore it could be useful to extend the ready to use environment, that i have provided, by implementing an abstract interface for different models of WiFi modules. With these upgrades the connection won’t be limited by a physical linkage, allowing it tobe applicable in many other wireless domains.

Relators: Luciano Lavagno
Academic year: 2017/18
Publication type: Electronic
Number of Pages: 72
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: New organization > Master science > LM-32 - COMPUTER SYSTEMS ENGINEERING
Aziende collaboratrici: STMICROELECTRONICS srl
URI: http://webthesis.biblio.polito.it/id/eprint/7977
Modify record (reserved for operators) Modify record (reserved for operators)