Wanted: Someone to write some PC code for controlling robot over LAN

I need a windows (multi platform would be nice though) program that can be run on both the driver station laptop and the laptop that is on the Eddie Robot, that will transport serial data coming from the driver station Propeller Chip to the Propeller chip on the Eddie Robot. We are not using MRDS.
A simple diagram follows;

It seems so simple but this is out of my area of experience.
Compensation can be either via PayPal or in the form of a rare unopened black Penguin Robot. The code will also be shared for others to use - it seems like it ought to be useful.
I have had a couple people already tell me that they could do it but follow up has been non existent, so any takers, please be dependable.
Also, this *may* lead to more work in the future .
A simple diagram follows;

It seems so simple but this is out of my area of experience.
Compensation can be either via PayPal or in the form of a rare unopened black Penguin Robot. The code will also be shared for others to use - it seems like it ought to be useful.
I have had a couple people already tell me that they could do it but follow up has been non existent, so any takers, please be dependable.
Also, this *may* lead to more work in the future .
Comments
It seems that the user station would want display capabilities to show user interface elements to the user. Does this *need* to be a PC?
I would think that the remote end on the robot would not need the extra weight etc. Does the remote *need* to be a PC?
I'm all about sorting out requirements BEFORE coding starts. This might be something to look at. Right now you eliminate anybody that wants to help that does not have both a pc AND a laptop to spare.
IF you divide it up into easier, less specific parts, the more flexible parameters might attract more interest.
For Example, your (highest level) requirements coupld be broken into:
1) User input station - steering, engine speed
2) User output station - camera display
3) wireless link to remote
4) wireless link to base
5) robot input - motor speed, steering direction
6) robot output - camera video stream
This way, you have several smaller parts, and a person might be able to tackle these one at a time. Also, it leave open the "how" of the implementation. While it could end up to be two PCs this would allow more flexibility.
http://www.linuxpcrobot.org/?q=node/4
Having said all that, if something has been developed in Python on Linux - it could easily be ported over the Python in Windows.
And yes, you have lots of layers of network to think about. It is a big project.
Eddie is very nice, but I am weary of MS.
http://blogs.msdn.com/b/jodonnell/archive/2011/09/26/presenting-microsoft-s-new-robotics-reference-platform-eddie-at-maker-faire-new-york-sept-17-18.aspx
The program that I need written is only to move serial data from one Propeller to the other over a local area network.
LAN only. My understanding is that it is NOT a big project.
As long as it works, it doesn't matter to me in which program the code is developed.
If I end up having to do it myself, I may look into RealBasic.
Use QuickSharp if you want to get up and running fast (as other advanced programs you need to create new project etc....)
http://quicksharp.sourceforge.net/
Edit: here is a sample program that I use to read the computer's USB joystick and send the axis out the serial port and display the axis on the computer screen.
I've got some Instructable projects in the works that demonstrate how to do it.
OBC
http://forums.parallax.com/showthread.php?131537-Propeller-Material-Control-and-Data-Collections
It was written in vb.net and uses a tcp/ip thread for comms.
Can the two PCs have a server/client relationship? IOW, one PC (the server) listens for commands and responds, while the other PC (the client) is responsible for initiating communication.
-Phil
-Phil
I think that would be fine.
I think that through a wireless router is preferred.
An instructable would be great. I either need someone to do this for me (preferred) or some serious hand holding.
To be fair, there isn't currently a GUI block that will share global variables between two instances of 12blocks over TCP ... but its an interesting "use-case" ... I'm sure Hanno or I could get one working in short order if you really wanted to go that direction.
I see there is a Mac version. Can it compile to EXE also? An app?
I would be happy to go with 12blocks if it can do what I need.
I think the best program would be one that accepts over STDIN the data to transmit to the remote computer, and streams the received data from the remote computer to STDIO. This way you have the most flexibility on how to use it: you can run it stand alone to debug, or in your application you can run the program with standard stream interfaces, or you can directly pipe the input in. Your choice.
Perhaps the best part is that the program is cross platform (windows, mac, linux, and each computer can be different) and your program that uses the data can be whatever language you choose.
I got the idea and the base code from the book "Java After Hours". The code isn't done, but I've been able to confirm that the concept works. It should be easy enough to complete, but I just don't have the time right now. It's the end of my school quarter and a bunch of projects are due.
Let me know if it's of any use...
Edit: It's a client/server type setup. One of the computers must have a known IP address that the other computer can use. In the example I hardcoded localhost (127.0.0.1) so that you can run both on the same computer. The Intercom.java files are the files directly from the book, while the station.java files are the ones that I modified. To work you have to run the server first, then the client (although this could easily be fixed to have the client keep on retrying to get a connection). They compile and run just like standard Java programs.
Ah, well. I can't work on it now, but probably sometime during my spring break (two weeks) I can work on it to make it efficiently usable. I think the problem statement is really interesting so it's a fun challenge to work on, and I think I too could use it for all sorts of things in the future. If you think the approach is good and are willing to wait some, then I'll go ahead and work on it in a few weeks (but let me know!).
Just out of curiosity, what are your applications on either computer? (eg. source language) This will help evaluate what the easiest interface method is.
http://com0com.sourceforge.net/
From the home page: " It's also possible to use the real serial ports of remote computer like if they exist on a local computer."
Thanks for the link,
Massimo
Try the attached. It's very alpha, but it might work for you. There are two programs in the zip: a server and a client. Both should be started from a DOS command line, the server first, then the client. The default IP port for the server is 12345, but you can change that to something else if you like. Just be sure that, whatever port you choose, any firewalls in the path have a hole in them for it.
You can get instructions for each program by running it with a "help" parameter, e.g.:
Once both programs are running, anything received from one comm port gets set to the other, and vice-versa. I tried hitting it really hard with data and had some issues with the Propeller getting hung up. I'm still trying to figure out what's going on with that.
If it works out for you, great! Consider it repayment for the MakerBot extruder you built for me, which works like a champ!
-Phil
It looks like just what is needed. What would I need to do to make a simple GUI for it?
-Phil