In the process of developing a new network capable embedded system, we are looking for a software developer with a wide area of expertise capable of developing a discovery and configuration tool.
The tool will be divided in two parts; one a JAVA tool running on all platforms providing a graphical interface to discover the devices and easily program them. And one Linux daemon running on start-up of the system providing the discovery and configuration functions.
The development will be made in Three phases.
1- Propose an architectures for the solution
Network technology with advantages and drawbacks (UDP, TCP, broadcast, ARP...)
Discovery tool architectures and layout
Discovery daemon architecture and layout
2- Development of a discovery tool using JAVA to scan and discover all devices present on the network.
The tool shall list all devices with their MAC address, IP address, name and location (name and location are parameters written in a config file)
The tool will provide device selection through the list and a button to configure the device : IP parameters (address, mask, gateway, DNS), Name and location
The tool shall provide a button to go to the homepage of the device (open the default browser with the IP address of the device)
3- Development of a discovery and configuration service running on Linux. (Linux daemon development, C development)
The service will run on start up.
It will listen to a specific TCP or UDP port (to be defined) on which the discovery tool will broadcast the discovery requests.
It will answer the discovery requests sent BY THE TOOL
It will execute configuration requests sent BY THE TOOL and update the tool's info upon execution.
The service will provide the possibility to be stopped, scheduled, authorized to run at start-up or not.