I am having trouble validating this idea through research. I was hoping someone could give me some ballpark feedback.
- 15 NRF52832 devices on custom PCB (30mmx50mm)
- All around 100m away outside with little to no obstacles in the way
- I need to stream data from each device. This means that the Bluetooth transfer speed needs to be faster than the combined data collection speed.
- Each device collects at 24kbps. So there is a combined 360kbps of data.
I imagine that I need to connect to each device individually and receive data. Then cycle through to the next device.
The connection parameters would be:
- BLE 5.0
- PHY: 2M
- TX power: 4dB
- connection interval 7.5ms
- data packet length extension on
- connection event length extension on
I can calculate theoretical transfer speeds using the nordic online power profiler. However, it's hard to get data at long distances. Also, I am not sure if I can cycle through the 15 devices fast enough?
Can I achieve this transfer rate (360kbps) at 100m? If not, what distance should be OK?
I don't think this would be at all feasible at 100m range I'm afraid. Sustaining just one connection at 100 meters using the 2Mbps (or 1Mbps for that matter) PHY is just the theoretical range. I don't think you'll be able to do what you describe at more than 20-25 meters between peripheral and central with the datarate you require in a low interference environment. You'll also have to keep in mind that you'll need time for the connection events as well, check out this post for a word of caution on the matter. You can also check out this post for additional info on the matter of this many links to one central.
Thanks for your response this has helped tremendously!
I can probably restrain the actual distance to more like 70meters (although 100m would be ideal). Without affecting the amount of data that needs to be streamed. Would either of these solutions work at 70meters?
1. Using 1M or LE Coded (S=2) PHY
2. Using multiple Bluetooth modules on the receiving end. For example 3 modules that only needed to stream data from 5 devices each. This would bring the transfer rate down to 120kbps and reduce the amount of connection events as well.
In the case of option 2, would there be significant interference due to multiple connections streaming at the same time? Or is this a non-issue as they will be on different channels?