Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Designing Web Interface for Embedded System

OS : Linux.

I'm trying to find possible ways to implement web interface for my embedded system. Currently there is a shell (text based) and a small set of commands are implemented to query the device.

I'm new to web development, my questions are:

  1. What web server must I use? (I got apache up on my development setup and tried using CGI to fetch some pages, but seems like this not the right choice for embedded systems)

  2. Assuming I'm using CGI, what strategy can be used for passing data between CGI and the Main App? I intended to create a thread in the MainApp to handle the query from CGI script. This thread would call interfaces in the MainApp, retrive the data and pass it to CGI.

like image 546
Sandeep Prabhu Avatar asked Dec 31 '09 09:12

Sandeep Prabhu


People also ask

WHAT IS interface in embedded system?

An embedded system interface is itself a part of a larger embedded system and the interface design process is one part of the overall embedded system design. Interface design selects two important boundaries: between CPU software and digital interface logic; and between the digital and analog sides of the interface.

What is the embedded web UI used for?

This framework makes it possible to build desktop applications using popular web technologies.

What is embedded GUI development?

The goal of embedded GUI design / development is to create an interface that is intuitive, clean, and helps your product stand out from the competition. Design elements are more effective if they are given thoughtful touches that align with the end users interests and needs.


2 Answers

We use Lighttpd on our embedded systems, it's small and very easy to integrate. There are also specialized webservers with features especially geared to embedding, like AppWeb, which in my opinion is also a very nice product.

For the communication between the main application and the CGI's you can use sockets, or System V message queues if those are available on your embedded platform. The advantage of SYSV message queues is that they're very easy to use and manage, and messages in the queues survive restarts of the applications, but they also have some quirks (like you can't select() on them).

like image 119
fvu Avatar answered Oct 05 '22 01:10

fvu


As web server another choice is thttpd. I use it successfully in an industrial product.

For the communication between CGI and main application sockets is the right choice.

like image 43
gsempe Avatar answered Oct 05 '22 01:10

gsempe