We are looking for someone to write new software in either C/C++ or Perl to test UPS units. The person we select must be proficient with serial and parallel port communications under Linux as the UPS units are connected via a serial interface and there is a control board which is connected via a parallel interface. We will provide all the information and documentation needed to communicate with the UPS units (it's actually very simple, just sending single ASCII chars to the UPS and reading the response) and for the parallel control board, but the software has to be able to automatically detect when a UPS is connected and disconnected. We have lots of sample/working source code that we will make available to the developer.
Your bid is the total amount we will pay for everything stated below. As with all our projects, we are open to ideas and suggestions, and we may want to add on additional items, but those must be cleared with us before beginning work on them and any additional costs must be agreed beforehand.
Here are more details:
The testing system interfaces with the UPS via a serial port and talks plain ASCII with the UPS. The testing software must periodically poll to determine if a the serial port has been disconnected from one unit and another one has been connected (or if no unit is connected), and when a new unit is connected, grab the model number and serial number of the UPS (by issuing a single letter and reading the response from the UPS.) The program then must determine what size the unit is (from a table which we will provide) and issue a command to a relay board (via parallel port) to turn on a specified size of load for testing. Then check for 2 minutes to ensure the unit does not have any obvious problems (check that load is reported correctly by the UPS, temperatures and voltages are within range, and notify operator. If they are not within a correct range, the test will not be allowed to continue (without an override at least) and the unit should be marked in the database as failed test and record the reason why the test failed. Then prompt the operator to begin the test and beep every 30 seconds to get the attention of the operator until they start it. When the operator chooses to begin the test, the program will reset EEPROM settings on the UPS and set the battery replacement date. Then prompt the operator to disconnect power to the unit (which begins the running part of the test.) Once the test has begun, poll the unit (by sending ASCII letters and reading their responses) the following and check to see if their values are within preset boundaries and display them on the screen:
[url removed, login to view] (several different voltages)
[url removed, login to view] percentage
[url removed, login to view] percentage
[url removed, login to view]
Then, once the program detects the output voltage has dropped to zero, the program should stop and calculate the total amount of time from when the power was removed to the unit and when the output voltage drops to zero (the runtime of the unit.) The runtime then must be stored in an existing MySQL database and compared with the target runtime. If it is less than the target runtime, it should make a note of that in the database and notify the operator of the failure. Otherwise, display the runtime for the operator to see. The software must also turn off all the relays on the relay board at this point to reset for the next test. Then the script should begin looking for a new unit to be connected again to start the process over again.
A few other requirements:
1. The testing system needs to have a user friendly and efficient interface.
2. The system must have a graphical interface that would work with a touchscreen with easy to recognize icons on the screen.
3. The program must be able to automatically calculate the time the unit ran for and identify when a new unit has been plugged in.
4. The graphical interface and program must be able to handle 2 units at a time (on seperate serial ports.)
5. The program must store test results into an offsite MySQL database.
6. We would like this program either written in C/C++ or Perl, but must run and compile under Debian Linux. Regardless of language, we must have the source code when the project is finished.
A more detailed version of the requirements is attached.
11 freelancers are bidding on average $1044 for this job
I am from Adaptive Infotech Private Limited, Chennai. India. Adaptive Infotech has necessary expertise and can handle this project. For more information, please visit our website [url removed, login to view]
We have studied the requirements is a very interesting project and in line with our experience a on testing . We are keen in doing this project for you. please PMB to proceed further. thanks iqmsoft.
I am an electronic engineer with more than 12 years of C++ programming experience. I can do it easily, I have worked in serial communications and I have build microcontroller-driven devices. Cheers Tony