I'm trying to figure where the BLE bottlenecks are to figure if I should use BLE or maybe Gazell for my product. I've just started to use the BLE stack, so I guess that there's a lot of pitfalls that I havent experienced yet. Anyway, I've tweaked the HTS example to send out more data, and are now getting the figures below:
Columns
1. Payload Bytes
2. MCP Interval ms
3. nRF Interval ms
4. nRF Timer ms
5. Packets per sec
6. Payload per sec
1 20 7,5 10 24 24
1 7,5 7,5 10 59 59
20 20 7,5 10 25 500
20 7,5 7,5 10 59 1180
20 7,5 7,5 3 64 1280
I'm making a product that will use two sensors that are each sending 12 bytes 50 times pr. second. I do have a buffer, so it's not important that they arrive "on time". Anyway, this adds up to 600 bytes per second for each sensor. Now the questions are:
- Is it safe to expect that each device can send 1180 bytes per second 2, Isn't there a bottleneck somewhere (MCP maybe) - 1180 bytes per second is nowhere near 120kpbs
- Should I send data by using "long data" services - will it bring down the indication overhead
- Should I drop indication and live with packet dropouts
With the figures above, I think I'm already too close to the limits, as I might get need for more sensors in the future.