Just a couple more network sockets!

Hi all,

I'm currently in the design phase of a project to automate some (four) doors of a furnace on a production line, and am looking at feasible processors and means of communication.

Where I am at the moment is the following schematic consisting of five Arduino Mega 2560 boards:
-Four of these will be door controllers, receiving commands via Ethernet to set the width of their corresponding furnace door by communicating with a motor driver via digital I/O.
-One of these will be a 'central controller' and will connect to some form of width-measuring photocell array (protocol tbc) to read the width data of products entering the production line, receive pulses from the line motor to measure displacement of products along the line, and send commands to the door controllers via Ethernet to open, matching the width profile of products as they pass through the door. It shall also communicate with a Java application to receive configuration settings; again via Ethernet.

To summarise the Ethernet sockets required for the 'central controller':
-Four client sockets to communicate with the door controllers.
-One server socket to be connected to by the Java application.
-Possibly another socket to communicate with the width measuring photocell array.

I.e. at least 5, but possibly 6 connections.

The Arduino Ethernet shield specification states that it supports up to 4 sockets. Is there any way around this limitation or would I be looking at different hardware or comms architecture?

All constructive scrutiny of my proposed system is very welcome if anyone can suggest a better way!

Although you might get around the 4 socket restriction by just opening the connections when they are needed I would suggest to use another platform for the central controller. An embedded Linux system (p.e. Raspberry Pi, Cubieboard, PCduino, etc.) is able to handle the additional network requirements and the network stack is even easier to program.

I agree with pylon.
You need a central controller stronger and with more computational power. So a linux system is very good. If you are thinking about java I suggest you to take a look to my java open source library Ardulink. Ardulink can manage several arduino boards with a single java application.