6 Replies Latest reply on Jan 16, 2017 1:53 AM by grsr

    Connect a lot of devices in a BLE network

    antoinegirard56_2225311

      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

        • 1. Re: Connect a lot of devices in a BLE network
          user_78878863

          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.

          • 2. Re: Connect a lot of devices in a BLE network
            antoinegirard56_2225311

            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.

            • 3. Re: Connect a lot of devices in a BLE network
              user_78878863

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

              • 4. Re: Connect a lot of devices in a BLE network
                grsr

                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?

                • 5. Re: Connect a lot of devices in a BLE network
                  antoinegirard56_2225311

                  "...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

                  • 6. Re: Connect a lot of devices in a BLE network
                    grsr

                    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.