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, just display the runtime. 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.
The testing system needs to have a user friendly and efficient interface. Ideally, we would like this to be a graphical interface that would work with the touchscreen on the computer that we already have, but if much more difficult, we can work with a text one. Please state with your bid if you intend on creating a graphic interface or a text interface. The program must be able to automatically calculate the time the unit ran for and identify when a new unit has been plugged in. The program must store test results into an offsite MySQL database. 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.
15 freelancers are bidding on average $953 for this job
Dear Sir, I am experienced Perl developer. I have already completed a number of jobs in Perl. I have already completed a project in which I had detected the hardware attached with pc. Best regards, Nadeem
I can make this with full-screen interface in java. I have expirience in development of point-of-sale systems with various hardware usualy controled over serial port.