Connect a lot of devices in a BLE network

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi everyone,

   

I'm trying to build a product where I can connect more than 100 devices in a network. In this case it would be 100 BLE modules. Is that possible, like by using a mesh network strategy or something else?

   

Thank you very much!

   

Antoine

0 Likes
1 Solution
GauravS_31
Moderator
Moderator
Moderator
10 questions asked 250 solutions authored 250 sign-ins

The time to communicate with any sensor will be the sum of connection setup time, time spent in connected state and the time required to disconnect. It will be difficult to calculate each component, instead it will be easier to measure the time to communicate. You can assert a GPIO pin to indicate start of initiating state and you can assert another GPIO pin to indicate start of disconnected state. The time difference between these two GPIO signals should give you the time required to communicate with one sensor. For 100 sensors, you can multiply by 100 assuming that it will be same for all sensors and if there is a time gap between the start of disconnected state of previous sensor and the start of initiating state of next sensor, that also needs to be added.

View solution in original post

0 Likes
6 Replies
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

Short answer: maybe

   

Long answer: depends on what you want to do actually. The BLE devices handle only one connection at a time. So when a node B wants to transmit a message it received from node A to node C, it needs to close one connection and must re-open another one. This takes time, increases latency and reduces througput. If you can live with that, then its fine.

0 Likes
Anonymous
Not applicable

Hi hli,

   

I appreciate your answer. Based on your experience/knowledge, would it be easier to do something like that with a WiFi module?

   

Thanks again.

0 Likes
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

Probably yes. But it will need more power. If you care for low-power, something like Zigbee or Thread might also be an option.

0 Likes
GauravS_31
Moderator
Moderator
Moderator
10 questions asked 250 solutions authored 250 sign-ins

To my understanding, the star topology will make sense when the communication is unidirectional that is when the iphone sends data to the 100+ devices simultaneously but the sensors do not send data to the iPhone and neither do the sensors communicate with each other. So the obvious questions are will the sensors send data to the iPhone and will they communicate with each other? From the description, it seems that the answer for first question is yes, but I need to confirm from you. In case of bidirectional communication if you are looking at connected state, as you are probably aware, Cypress BLE does not support simultaneous connections, it allows time multiplexed connections of upto 4 slaves with bonding and 8 slaves without bonding, so the throughput will be severely compromised if you try to time multiplex 100+ slaves. In case of unidirectional communication, you can consider advertisement state where you can append the 10 byte data to the advertisement packet and send it to the peer device. If your iphone (peripheral) wants to communicate only with a particular sensor (central), it can use directed advertisement. But you will need to develop a custom app in iphone to configure the iphone as peripheral and start advertising. Since the payload size will not exceed 10 bytes, BLE can be suited for this. How often will the iphone communicate with any sensor?

0 Likes
Anonymous
Not applicable

"...will the sensors send data to the iPhone and will they communicate with each other?" The answer is the following: the sensors will communicate with the iPhone, but not with each other. They don't need to share any information, but if I'm obligated to use a mesh topology, I guess they will. I would like the iPhone to communicate with the sensors as often as possible. How can I calculate the time to communicate with all 100 sensors with the iPhone?

   

Thanks

0 Likes
GauravS_31
Moderator
Moderator
Moderator
10 questions asked 250 solutions authored 250 sign-ins

The time to communicate with any sensor will be the sum of connection setup time, time spent in connected state and the time required to disconnect. It will be difficult to calculate each component, instead it will be easier to measure the time to communicate. You can assert a GPIO pin to indicate start of initiating state and you can assert another GPIO pin to indicate start of disconnected state. The time difference between these two GPIO signals should give you the time required to communicate with one sensor. For 100 sensors, you can multiply by 100 assuming that it will be same for all sensors and if there is a time gap between the start of disconnected state of previous sensor and the start of initiating state of next sensor, that also needs to be added.

0 Likes