This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Establishing one to many connection with BLE on nRF51 DK

Hi,

I am trying to build an application for nRF51DK which would continuously collect data from multiple BLE devices. Since there is no example for multiple connections application anywhere, I decided to start from zephyr/samples/bluetooth/central_hr - as the board will play central role in the architecture, and I do have two devices with Heart Rate service. I modified is slightly so that after creating first connection it starts scanning again and looks for another HR sensor. When it finds it it tries to create second connection.

I tried to simply create two bt_conn structures and call bt_conn_le_create() twice, each time after receiving advertisement from HR sensor. However, in this case when trying to create second connection, bt_conn_le_create() returns -12 error.

I am aware of the SoftDevice which should make it possible for the board to establish more than one connection. However I am not exactly sure how to implement the softdevice, and my knowledge is not sufficient to tell what exactly softdevice is. I am working on 1.3.0 SDK and I use Segger Studio to upload my application.

My question is - what is the "required" algorithm for establishing multiple BLE connections - from one central to many peripherals (star network)? Should multiple bt_conn_le_create() calls be enough? Or something in between has to happen?

Regards

Maciek

Parents
  • Hi Maciek

    We don't officially support Zephyr for nRF51 development, and I would suggest using nRF5 SDK v12.3.0 instead if you need to use the nRF51. 

    In the SDK we have an example called ble_app_multilink_central, which shows you how you can run multiple links in the central role on the nRF51x22. 

    An alternative is to move to the nRF52 series, in which case we will support you both on Zephyr or using the latest versions of the nRF5 SDK (v17.0.1 at the time of writing). 

    Best regards
    Torbjørn

Reply
  • Hi Maciek

    We don't officially support Zephyr for nRF51 development, and I would suggest using nRF5 SDK v12.3.0 instead if you need to use the nRF51. 

    In the SDK we have an example called ble_app_multilink_central, which shows you how you can run multiple links in the central role on the nRF51x22. 

    An alternative is to move to the nRF52 series, in which case we will support you both on Zephyr or using the latest versions of the nRF5 SDK (v17.0.1 at the time of writing). 

    Best regards
    Torbjørn

Children
No Data
Related