Hi there!
We're designing a system with ~1000 battery-powered moveable devices distributed across a large rectangular area (approx 200m x 1000m) . Each device collects approximately 250kB of data daily in one measurement (takes about a minute) and we are looking for a way to transmit this. Power efficiency is critical so devices sleep most of the time. The data isn't time critical.
We did some digging and anything mesh seems out of the question due to power requirements, LPWAN is too slow (10 hour wait for data is a bit much) and cellular will be too expensive. So we ended up with the following plan:
- nRF54 series with BLE 5.0 Coded PHY for extended range
- Data buffered in external RAM/flash during sleep
- Multiple data connectors (BLE centrals) positioned around the perimeter
- Simple handshake protocol: device sends connection request indicating data size, central responds with availability or backoff time
- Exponential backoff if no slots available
- If available: connection and sending of data, followed by disconnect so the slot frees up
The amount of devices which will be sending data does worry me on this scale, so I'm hoping somebody can give some insights.
Questions:
- Is this a reasonable approach for this scale, or are we missing fundamental limitations?
- How many concurrent connections can a single nRF54 central realistically handle for this use case?
- Any recommendations for the handshake/queuing mechanism? I would really like to avoid reinventing the wheel.
For testing network congestion simulation: We'd like to validate the approach before building 1000 devices, any ideas how we could do this? (Any software tools?)
Any guidance on testing methodology or design validation would be greatly appreciated.
Thanks!