multiple thermal printers

Hey everyone,
I am planning an installation in which I have to control 24 thermal printers (like adafruit's) and was just going over some technical issues.

My plan is to have Processing running on a mini Mac collecting xml data from the internet, and creating different strings for different 'tags' (example: rain, time, location etc.).
Those strings are then sent to the Arduino who talk to the printers: each printer should be printing out a specific string of data independently from each other.

My question is: Can I control all those printers from one single Arduino? It seems to me that SoftwareSerial could do the trick, but as I won't have access to all those printers until I actually get the budget, I need to know in advance what sort of problems I could run into.

Which brings me to my next question: would maybe be just simpler to have each printer controlled by a different Arduino, each separately connected to the internet and each getting and processing the XML data independently? Do I even need the miniMac?

Thanks in advance for any kind of help you can give!

A

One Arduino per printer does sound a lot simpler. Having the Arduino(s) retrieve the data for themselves makes the problem a lot more complex, though. I would have thought the simplest solution would be a PC application reading data from the web and sending commands to the relevant serial ports.

A mini Mac strikes me as a very expensive solution for that since it really only needs a network interface and some USB ports - low spec PCs are essentially valueless and would do the job easily. Implement the PC in whatever side you're most comfortable with. If you know and are familiar with Processing, that would be fine. (If not, perhaps a 'C' or C++ application would be easier for you to deal with since that's essentially the same language that you're using for the Arduino sketch.)

Thanks for your reply! One issue we have is that the thermal printers don't have a USB connection, they are meant to go to GPIO pins, which is why we thought of using an Arduino as an intermediary.
Is there maybe a way (maybe a converter, or some kind of board) to go from GPIO connection to the USB ports of any computer?
Apologies if it's a stupid question, I'm more of a software guy than a hardware one :wink:
Cheers

andresnoot:
Is there maybe a way (maybe a converter, or some kind of board) to go from GPIO connection to the USB ports of any computer?

Yes, I understood that was the purpose of the Arduino. The Arduino approach is IMO a reasonable one, I'm just suggesting using a separate Arduino (and a separate USB port and serial COM port) per printer rather than do everything via a single Arduino.

Okay I see. Actually, in a previous project I succeeded to have the Arduino grab the data online and then print it out, without the PC doing the processing beforehand. It wasn't the smoothest program ever so there's that...
Maybe wishful thinking on my part, but I was wondering if I could just get rid of the Arduinos altogether and run everything from the PC, via multiple USB ports, and using this cable from Adafruit to connect from USB to the TTL connections of the printers. Too much?
Thanks in advance
A

That depends - what's the nature of the connection between the Arduino and the printer?

it's serial connection using standard jumper wires

In that case you could probably get away with using a USB-to-serial adapter.

I assume that the printers are using logic level signaling since you were planning to connect it to the Arduino, in which case you could use one of those FTDI USB-to-serial converters to connect to your PC.

(If it's using RS232 signaling then you could use a USB-to-RS232 adapter instead.)

Well the printer specs say

Protocol: TTL Serial, 19200 baud

So in my limited knowledge I am assuming that a TTL-to USB (such as the one I posted) should do the trick...

andresnoot:
So in my limited knowledge I am assuming that a TTL-to USB (such as the one I posted) should do the trick...

Me too.