I need to make few Raspberry Pi communicate (but should be nice to have a system that can be easily scaled up). The boards could be at big distance from each other (from few centimeters to 15 meters one from each others), and I need them to communicate. I think the best for my need would be a master-slave communication, and a two-way communications (master sends commands to the slaves and receives a data back when the board has finished its job).
The I need the communication to be as realtime as possible, thread-based (if a slave is doing some computationally heavy job it has to answer anyway), two way (master to slave and slave to master asynchronously), and the messages will be short (a few numbers, some strings, no more).
I think I have some different possibilities, the first came up in my mind is Ethernet (but I need the extra cost of a router).
Someone point me out that it could be more lower communication (talking about electronic protocols like SPI, I²C, etc). This could be more general considering to use as slave (or even the master) an Arduino.
I would use any programming languages but I would like very much to use Python :-)