Find Jobs
Hire Freelancers

Perl / Java / Python Serial Library Project

$750-1500 USD

Completed
Posted about 9 years ago

$750-1500 USD

Paid on delivery
This project will require knowledge of Perl, Java, Python and low-level serial communication. If you are not at an intermediate (or higher) level with all those, this project will most likely be beyond your capabilities. If you feel like you can comfortably work with those languages and have knowledge of low-level serial communication, please keep reading. I have a device that can be controlled by a serial (RS-232) connection using a special cable. One end of the cable is a stereo 3.5MM plug that gets inserted into the device's serial port. The other end is a 9-pin serial connector that gets connected to the computer's serial port. The vendor software that controls the device is an old Java application. I believe it was written with JDK 1.4 or 1.5. The Java application was designed to run on Windows 98 and XP. The Java application will run on Windows Vista and Windows 7, but it does not work properly on Windows 8 or 8.1. An open source developer wrote a perl library that controls the device, but it seems to use perl serial modules that were designed for Windows 98. It does not appear to be compatible with Windows XP or higher. However, it is possible I just did not configure the perl environment correctly. The developer also documented the serial protocol and the obfuscation used to obscure communicating with the device. The notes are very detailed. The company that made the device is not interested in updating their Java software (fixing bugs and OS compatibility issues). They said they don't sell enough of it to warrant maintaining it. They wouldn't help me, but they suggested I search for the perl library and see if that would do what I wanted. That was the last I heard from them. I realize the easy solution would be to keep a Windows XP machine around, but that is inconvenient for several reasons. I want an easy way to interface with this device that wasn't dependent upon an ancient version of the JRE or required a complicated perl environment. I decided what I want is a Python library that will allow programmatic control of the device. My initial thought is to use Python 2.7 and PySerial because of their maturity. My preference would be to have the solution written in Python 3.4 but only if there was a stable serial implementation. You are free to use any open source libraries to aide in your development. I will leave all of these decisions to the developer. To accomplish this project, you'll have to go through a perl application and translate the code to Python. You'll also have to go through a large decompiled Java application and translate the code to Python. Most of the library's functionality will be able to be derived from the perl code. However, some of the functionality I want in the library will have to be derived from the decompiled Java code. You shouldn't have to take serial captures to complete this project because of all the available source code and protocol documentation. I will provide a remote development environment (Windows 7 laptop with the device connected to a serial port) for you to use. You are free to install any software you want to use for development on it. If you end up needing local access to the device, we can make shipping arrangements, but I would like to avoid this if possible.
Project ID: 7228856

About the project

7 proposals
Remote project
Active 9 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
Awarded to:
User Avatar
I am fluent in Perl, Python, and Java and I have worked on low-level communication projects before, including at assembler-level microprogramming. I have taken a look at the manual and the protocol specification, and I believe your proposed remote access is adequate for a successful completion of this project. I should probably point out that nowadays, this kind of control interfaces are often built using Raspberry Pi, Beaglebone, or similar small computers. In this project's context, the MicroPython board — essentially, a microprocessor running a small Python environment — would be potentially particularly interesting. While I understand it was not required by the original specification, if my bid will be chosen, I propose encapsulating the hardware access in a small separate abstraction layer. This way, the library can be easily ported to such other hardware control platforms, which often come with a large number of convenient TTL-level data pins, even if these pins don't look like a standard RS/232 port to the software.
$990 USD in 20 days
5.0 (1 review)
4.0
4.0
7 freelancers are bidding on average $1,385 USD for this job
User Avatar
Hello, As you mentioned I think Python 2.x + PySerial is the best language for this project. I have worked with serial libs in Python and Java and also could read the perl codes to extract what we need. So, I think its time to start :). Thanks, Helmot
$1,473 USD in 20 days
4.8 (134 reviews)
7.6
7.6
User Avatar
To Whom It May Concern: With more than 7 years working on industry and a year working as a full-time freelancer, I have successfully worked on many high profile tasks, which include, but not limited to: * Generation of clustered distributed testing systems and automation terminals for Fortune 500 clients. * Development of hardware interfaces for custom devices. * High speed/multithreaded mission critical embedded systems and standard commutation protocols. * Library Modifications. * System programming in Linux/Unix and Windows. * GUI and UI design development. * Networked connectivity and synchronization through TCP/IP and other industrial grade communication protocols. * Database connectivity (local and networked). * Web design * And others... Summed with my strong educational background, demonstrated versatility, certified knowledge and high-profile achievements, I am confident that I can get you where you want to go in your endeavors, at a price that it is convenient for you. I encourage you to see my CV (one of my portfolio items) to review my qualifications in more detail. I am confident that you will be able to see that I have the required qualifications and track record that show my capabilities and my ability to serve you. Regardless of your decision, I would like to wish you the best in this project. My best wishes and I look forward to your response and to start a long term business relation with you. Sincerely, Juan Pablo Rodriguez
$1,700 USD in 30 days
5.0 (22 reviews)
6.9
6.9
User Avatar
if you agree with my bid, please i will let you know my exact schedule as of now i can start in 3 days .
$1,184 USD in 20 days
4.9 (24 reviews)
5.3
5.3
User Avatar
Hi, I have 7 years for embedded system. Please send me more detail info. Let me know your skype id, we will discuss more detail. Regards, --Hung
$1,388 USD in 20 days
5.0 (5 reviews)
4.4
4.4
User Avatar
A proposal has not yet been provided
$1,470 USD in 20 days
0.0 (0 reviews)
0.0
0.0

About the client

Flag of UNITED STATES
The Woodlands, United States
5.0
6
Payment method verified
Member since Sep 23, 2004

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.