Getting data from 10 Arduinos wirelessly

Hi all.

I have a project that I want to receive data from 10 Arduinos same time wirelessly. I can do this with WiFi shields of course, however the cost will be huge. Are there any other recommended alternatives? I know that with RF I can do it very cheap, but I have read in some forums that it can be unstable if I am reading/broadcasting from multiple sources in the same area. Also I know there is Bluetooth or Zigbee, but again problems may occur there as well.
Therefore I would like to know a few things more about how to do this to avoid problems beforehand.

Thanks!

Can you arrange for one Arduino to act as master and to control when each of the others transmits?

...R

How often will the wireless transmitters be transmitting?
This type of problem depends entirley on how reliable you want the project to be.
Can you afford to lose data?
A Master Slave arrangement is the best option , but does require bi directional transmission.

The rate of transmission depends on various interactions that take place. So I would say the minimum time could be a couple of seconds, to hours.

The transmission of data is really important, therefore the packages always need to arrive to the destination.

I believe WiFi shields is a good option, however expensive. Any other recommendations of building a cheaper but efficient system?

What range do you require?

How much data is sent?

Rs232 based wifi modules are around $15 from aliexpress, but are harder to use than the shield, but may be an option

What about 2.4Ghz transceivers such as the NRF24 ?

The only way to minimize the risk that data packets will fail to reach their destination is to include suitable checking and redundancy in your code.

...R

I agree with robin2, you need to have error checking and re sending etc.

AFIK the nrf24l01 has this built in already

To avoid collisions you could use time domain multiplexing

E.g you sync the clocks in the slaves, and each slave only sends at a particular millisecond modulus range

E.g. Slave 1 sends between 0 and 99 ms after each second
Slave 2 sends between 100 and 199 ms after each second.

Albeit this requires relatively accurate timing, I suspect it is possible, especially if you can send a UDP type data packet from the master to all slaves containing the time, so they can all sync together

Also I know there is Bluetooth or Zigbee, but again problems may occur there as well.

No they will not occur.
These system have protocols to ensure they work correctly.
Zigbee or Xbee in particular have a packet structure to allow routing of data.

Thanks

I also found this guide helpful:

http://www.openhomeautomation.net/wireless-home-automation/