1

I'm working on a project that uses the pi camera module and 35 or more Raspberry Pi Zero Ws to take pictures and send them back to a central computer. Everything works fine with just 1 Pi connected, I get a transfer speed of ~2MB/s over wifi and it only takes about 10 seconds to transfer the picture. However, when I connect multiple Pies and have them transfer their pictures back at the same time, the transfer speed on all of them drops to ~200KB/s. With 35 Pies it's taking almost 10 minutes for all of the pictures to come back. I'm thinking this is caused by interference from having so many Pies so close together and all using wifi. For example, If I have one plugged in over ethernet it's transfer speed remains high while the others connected over wifi start fast, but slow to crawl during the file transfer. Does anyone have a suggestion for how to correct the wifi issue so that they all transfer files at the same time and maintain a transfer speed of around 2MB/s? Transferring them one at a time would be too slow.

1

Your problem is as expected. WiFi is a shared medium and in this case limited by the data sink, the central computer. Lets assume it uses one of the fastest WiFi modes according to IEEE 802.11n with 150 Mbps (Mega bit per second). This is theoretical possible on the physical layer 1 from the OSI model. In practical it will be usually reduced on the TCP/UDP layer ( transport layer 4) to about 80 Mbps by protocol overhead, retransmission and error correction. This are 10 MB/s (Mega Byte per second).

According to this simplified example the transfer speed will be reduced if more than 5 RasPis send with 2 MB/s (Mega Byte per second).

To increase the transfer speed of all 35 RasPis sending at the same time you can use more than one access point on the central computer. This way you can use more than one channel, but they shouldn't overlap. If so you don't have much benefit. On the 2.4 GHz band there are channel 1, channel 6 and channel 11 not overlapping. In addition you can use channels on the 5 GHz band but that is only supported by Raspberry Pi 3B+. About this channel issue you can look at the List of WLAN channels.

You may also consider to use speeding up technologies from IEEE 802.11n with up to 300 Mbps or with multiple antennas up to 450 Mbps. But this also increases the overhead for error correction.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.