At one of my workplaces, we used high DC voltages (375V) for our instruments. To create a more consistent setup than an assorted 10 mixed power supplies, someone in the past had set up the racks. Each rack contains voltage conversion circuitry to step down to the labeled voltage, and a TCP server that be communicated with to toggle the outputs of each port.
The average engineer does not want to telnet into a random server and try to remember archaic commands to essentially turn on a switch. So, I wrote a graphical user interface (GUI) using Python and Tkinter that would transform the user experience to simply having to launch a regular .EXE file, then click to toggle the desired port on.
The below pictures are screenshots of the application. Unfortunately, I do not have screenshots of the GUI while it is connected to the controllers, which is why the buttons are greyed out. When it is connected, the buttons turn green or red and display “On” or “Off”. The first picture is the “simple” view, used for people who simply want to know the voltage and current draw, and see which ports are turned on.
The second picture shows all the telemetry available for each port.
My application connects in the background to both TCP servers and communicates telemetry and other commands. The configuration json file is set up so that more racks could be easily added, and the display name, units, multipliers can be easily modified should the rack’s software be changed in the future, without anyone needing to edit the source code of the application. See below for a screenshot of part of the configuration file.