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

Multiple Connections with HR and CSC beacons using nrf52832 dk as the central board

Hi,

I would like to connect nearly 20 heart rate bands to the nrf52832 which has to configured as the central board and has to collect all the heart rate data from the peripherals. I am using the Segger Embedded Studio with nrf52_sdk_15.0 examples. As of now I am just trying to communicate with only one heart rate device with the nrf52dk using BLE_HRS_C example, but the issue is that I am able to scan and establish the connection but only the battery service data is connection not the actual heart rate values. Is there any constraints that nordic dk can only communicate another nordic chip ? I have also tried to connect with the UART_C code too and facing the same issue. So What am I supposed to do to read the values ? There is no issue with the sensor since i am able to read the values with the nRF connect destop applicaton using the board and in the mobile application as well. And if this works out then what should i do for connection of multiple peripherals with the central device ? Which program should i use or alter for this data accumulation such are HRS_C, UART_C , Multilink_C etc. 

The Bands which i have tried are as follows: 

MIO-FUSE

MS1020

Xiomi

IR107 Plus HR (With nrf52832 chip and yet to be tested)

I have also tried the link given https://github.com/NordicPlayground/nrf52-ble-multi-link-multi-role. The link given is similar to our requirements but the given link was given for nrf52840 and its use s140. When I open the BLE_aggregator folder, it is given for pca100056 but ours is pca100040 and it doesn’t have the ses project. I have even tried with pca100056 i am able to build the project but it is not building since some of the libraries are missing. 

This is very crucial and I have been trying this for the past  month and not able to come up with a solution. Kindly revert as soon as possible.

Thank You

With Regards,

Santosh Krishnan

  • Please check the above picture. The band is getting disconnected automatically and while debugging i saw the remote user is terminating the connection i.e the mio band is rejecting the connection. What can be reason behind it ? When it is connecting with the nrf connect application with any issue. May be once we find this we may be able to clear the next fatal error. Can you help me with it ? 

    Thanks 

    Santosh Krishnan 

  • Hi Santosh, 

     

    In some of the screenshot it showed error 3E  (BLE_HCI_CONN_FAILED_TO_BE_ESTABLISHED), when did that happen ? 

    When is the error 0x13 showed  ? 

    Error 0x3E  means the peripheral rejected the connection, most likely because of whitelist, you need to erase white list on the HR band. Or turn it to pair mode. 

     

    I suspect the error 0x13 came from the issue that your band doesn't support Long MTU or Data Length Extension. Could you try to comment out gatt_init(); in the main loop ? 

    It would be much better to debug if you can provide a sniffer trace. I would suggest you to get hold of another nRF52 DK and can use it as sniffer trace. It's very useful. 

     

  • Hi Sir, 

    I have put the Heart rate application in hold. Now i am working on the Cycling Speed and Cadence sensor central configuration. I used the RSCS central example and have made changes according to my requirement for single sensor and it is working fine i.e i am able to get the correct data. Then i wanted to connect nearly 8 CSCS beacons so i made small changes in my code accordingly using Multilink central example as reference. I have adjusted the RAM and memory allocation also.  My main doubt is once i run the program it gets connected to a single device and it starts reading the data. How am supposed to make it connect and read the next sensors simultaneously ? I need to store the 8 data in an array after connecting all the beacons. I have attached the RTT log for your reference. What am i supposed to do now ?How can i read all the data parallely ? Kindly help me Sir.

    Thank you. 

  • Hi, 

    Have you modified the code according to the multilink example ?  

    The central after getting connected needs to scan again and connect again . Look for the BLE_GAP_EVT_CONNECTED event in ble_evt_handler() in main.c in the example where we call scan_start() again. 

     

  • Hi Sir, 

    Right now i tried for 2 sensors only. I tried to read 2 advertisement reports and have put two cscs handlers for collecting 2 sensor's data. Please check the attached RTT logs of my application. I am getting this output only. I tried connecting with different peripheral names.

    This the code for the BLE_handler which i have changed.

    Kindly help sir,

    Thank you

Related