From time to time, I have the need to explain to someone exactly what an embedded system is. The definition has evolved a bit over the years, but goes something like: “An electronic system that deploys one or more microprocessors, that typically performs a single, fixed gamut of functionality and is not regarded as a computer”. I could add that embedded systems rarely have a rich and flexible UI compared with computers or even phones and tablets. Sometimes they have no UI at all …
A big challenge, when designing a deeply embedded system is the lack of any kind of UI. If you have something as simple as an LED, there is much that can be done, as I wrote about a long time ago. An interestingly different example that I heard about was a heart pacemaker that could be accessed by means of an inductive connection and the communications were verified by it temporarily stimulating an unusual heart rhythm.
If your device is networked and running an RTOS [like Nucleus], a little creativity can result in a satisfactory UI. There are a couple of obvious possibilities:
- You could include an embedded Web server [actually an HTTP server]. A user just needs to connect to the device with a Web browser and the server provides pages of information. This is quite common practice with networking kit, like routers.
- You could include an SMTP [i.e. email sending] server. The device can be set up to send emails to an appropriate address in the event of problems. A POP3 servers could also be included to enable the device to receive email too.
Both of these options [and, indeed, you could use both] sound complex, but are quite straightforward to implement. The result is a flexible way for your UI-free device to talk to the world.