Most of my electronics gadgets must be configured by the user. There many UI (User Interface) avaiable and each has pros and cons:
- voice assisted guide with a keypad
- display and keypad
- touch display
- serial channel (RS232/RS485/USB/Ethernet) connected to a PC
- ...
Many time I choose to provide a simple RS232/USB port on my gadget, to keep its cost low. When the user wants to configure it, he needs to use his PC and make a simple connection by a low-cost cable.
The big problem in this scenario is to develop the GUI on the PC. Of course, there are infinite solutions with pros and cons.
Here I'd like to discuss an alternative solution, inspired to web server. The idea is simple: the GUI resides in the gadget as with web servers. The computer retrieves the GUI and shows it to the user. Maybe without installing a single piece of software on the computer.
The natural solution is to develop a real web server in the gadget. Nowadays, every PC has a Web browser installed. But this solution is a little complex and more expensive than a trivial RS232 port: I need to use a MCU that supports a full TCP/IP stack, I need to have an Ethernet port (connector with transformers, MAC chip, and so on).
Another bad thing with Ethernet is that it isn't plug&play. The user should know the IP address of the gadgets, maybe he should change the IP address of the computer and so on. And what happens if the user forgets the IP address of the gadget? You have to provide at least a push-button switch to reset the IP address to default. (A solution to this is to develop a full DHCP server on the gadget, considering that most of computers are configured with dynamic IP address).
Do you know other technical solutions to communicate with an electronic equipment with a PC without installing any custom software on it and without provide a full Ethernet port?