joystick->Uno->Ethernet Shield->Network Switch->Ethernet Shield->Mega->Servo

Hi everyone. I'm new to the Arduino but so far I'm having fun with basic projects. My purpose for buying the Arduinos is for ROV control and telemetry. I am hitting a real roadblock in searching forums posts about making two Arduinos communicate via Ethernet in a way that would work effectively. I have two goals:

1> Right now I would be happy if I could just hook a button up to the Uno and have it turn a light on that is connected to the Mega. The two units both have 5100 shields and are connected to my home network. I have successfully connected to them from my browser looking at a simple thermistor temperature server. If I could find a simple master/slave code that could accomplish this, I think I could build off of it to accomplish multi-channel control.

2> The ultimate goal is to connect some joysticks and buttons to the Uno. It would send this data via ethernet to the Mega which would be located in the ROV. The reason for Ethernet is the tether. I am planning to use a fiber tether between the boat and ROV with fiber media converters on each end. A network switch onboard the ROV will allow me to use one or more IP cameras for a high rez uplink alongside the Arduino data stream. I would also like to be able to send some data back such as compass, pressure and leak sensors, however it would be simple to add a second Uno to the ROV dedicated to this and use the laptop to view the info. This would keep the control code very clean as it would be a client/slave only.

So I would be forever grateful to anyone who could point me at a code that could accomplish #1. I hope what I'm trying to do is not impossible, as I now have a sizeable investment in this equipment!

Thanks guys/gals

The ethernet based protocols are basically broadcast UDP, persistant telnet, and nonpersistant http. Using a web based approach might allow for a laptop to have a control page including the embedded video from the ROV. If you really want to use a joystick (or pots) for rov mechanical control, then telnet might vbe the right choise for control. Not sure what the value of UDP would be.

I definitely need to stick with joystick control.. can't get precision clicking on a webpage. I'm actually worried about the data rate going through the Arduino, as the videos I've seen showing this type of control seemed pretty laggy. I will need proportional data for only about four channels but I guess precision isn't too important as things will be moving fairly slow I think. I just said I need precision but I don't! LOL I want proportional control, not on-off button clicking is what I'm saying.

Thanks for the input.

It looks like I am going to go with the method of using Python on the laptop to read a USB joystick and send serial data via USB to the Arduino. I will use an SIIG USB over IP to communicate across the fiber link. This would also open up the option of using USB cameras instead of IP, which means lower cost and plenty of HD options. Perhaps a USB hub instead of an ethernet switch on the ROV! Not sure how well the USB camera will like the slower Ethernet connection though.

Either way, problem solved for the moment!