This project will build upon the open source embedded webserver Mongoose
(https://code.google.com/p/mongoose/). The Mongoose server has been ported to a variety of
different platforms and supports many different features common to more advanced web
platforms including SSL, WebSockets, etc. Mongoose provides an extremely flexible and light-
weight server for inclusion into embedded platforms.
The goal of this project will be the creation of a tool that allows a developer to specify the desired configuration of an embedded system through an XML file. The tool will then generate the necessary code for interfacing to the Mongoose webserver, HTML pages for presenting a UI to the user, as well as any necessary routing and handling of a JSON-based REST API for the configuration. The end goal of the generated code would be that a developer using the output of the tool would only need to implement a simple API to be notified of configuration changes.
The second goal of this project includes the ability for custom functionality to be included in the REST API that isn't necessarily tied to the configuration. The code generation tool would be required to configure Mongoose to allow for custom methods such that arguments could be passed to the API through JSON parameters and the end developer could use this mechanism for RPC functionality into the embedded device. The team will be required to demonstrate this functionality through the manipulation of hardware on the embedded platform (i.e. toggling an LED, sending data over serial link, etc).
We will be following an iterative approach for our development process.
Coach: Rick Weil
Andrew Lyne III
Team Cobra RIT 2014-2015