Hello,
I'm looking for some general guidance on the following application:
- 1 nRF52840 based gateway to cloud, on power supply
- a few hundred nRF52832 sensor nodes, all battery operated, all within reach of the GW
- sensor nodes are asleep most of the time (events wake them up, then they send data while a certain condition is met, then go back to sleep after a while).
- Updates from sensor nodes to gw are 10-15 bytes each, at intervals of 1s-30s.
- Acks from GW to nodes "required"/very nice to have but lack of acks is not necessarily a show stopper as very few lost updates wouldn't be a massive problem. Just not a perferred starting point for us.
We have this running fine with GATT connections for up to 20 sensors until we hit the softdevice's concurrent connection limit in the GW.
Questions
1) What approaches would be best suited to scale this beyond 20 sensor nodes? We are currently considering the following options:
a) BLE/GATT/connection based as per our status quo, but adding some logic on top that builds the lists of sensor nodes to connect to next. First tests seem to indicate the connecting/disconnecting will take a couple of seconds so this maybe to slow to reach above goals. Is there a best practice approach of how to build the scheduler on top of the 20-connections-limit so that the number of devices can increase significantly?
b) Advertisements only / Beacon. No acks...
c) mesh. All sensor nodes would be LPNs. All of them are within RF reach of the GW. Would this work with mesh?
d) ESB.
Which of these make most sense for above scenario?
2) Are there other alternatives that we should consider?
3) Any other hints that could help us with the above?
Thanks much in advance!
gj