Who needs a Web server?
I was having some trouble with my Internet connection recently. I will probably never know exactly what was wrong [as ADSL is, for intents and purposes, magic], but investigating the problem was interesting. I am not a networking specialist, so I would expect that messing with the settings inside a router would be hard, but the manufacturers have made it very simple.
I began to wonder why there are not many devices that work in the same way …
As the router allocates IP addresses to computers and other devices on the network, it seems unsurprising that it allocates one to itself. To take advantage of the resulting functionality, it is only a matter of entering this IP address into the browser on any other device on the network. There is then the opportunity to view and adjust lots of settings and parameters for the broadband connection.
So, how does this work? Essentially, the router contains a Web server. This term makes me think of a big powerful computer, which has access to an enormous database of Web pages that it can serve up to a remote computer on demand. It would be more accurate to call it an HTTP server, as essentially all it does is respond to this standard protocol in order to deliver data which looks very like a website. The developers of the router software could very easily construct quite a sophisticated user interface using just a few HTML files.
Although I know that my router is far from unique in operating in this way, it does seem to me that there is enormous potential for other equipment to be given this capability. For example, my hard disc video recorder could be easily controlled from my iPhone or iPad, without the manufacturer needing to create and maintain an app. The same might go for my heating system [program and adjust from anywhere in the house or elsewhere even] or my digital camera [deal with settings, view pictures etc.] or many other electronic devices.
Although you might think of a Web server as being large, an HTTP server which is optimized for embedded applications is quite small in terms of code size and requires very little memory in which to store the HTML pages, which can probably be compressed anyway. Most embedded operating systems have networking options and an HTTP server is a common option – like our Nucleus product, for example.
The possibilities for this kind of UI are really only limited by the designer’s imagination.
Posted April 30th, 2012, by Colin Walls
- Designing power management software for embedded systems
- Choose your weapons – options for debugging
- Dissatisfaction, customer service and surprises
- Video blog about getting into embedded software
- Embedded software article: RTOS Revealed #9
- Lost in translation
- One return from a function: a good idea?
- The A380 experience
- Embedded Software Masterclass