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

Discovering problem for different 128-bit service and characteristic uuid as a central device

Hello;

I am using NRF51822 with SDK12.3 as a central device. I want to discover and connect a peripheral bluetooth device by using my NRF51822 central device.

If the service and characteristic is the same, for example service uuid is "00002234-b38d-4985-720e-0f993a68ee41" and characteristic uuid is "00002235-b38d-4985-720e-0f993a68ee41" , I can enable the notification of the characteristic and NRF51 get data from this peripheral device by using this characteristic.

However, If the service and characteristic is the different, for example service uuid is "680c21d9-c946-4c1f-9c11-baa1c21329e7" and characteristic uuid is "003bbdf2-c634-4b3d-ab56-7ec889b89a37", I can connect to this device but NRF51 discovers all characteristics as 0x00 and cannot enable the notification.

Is there a way to handle this problem?

Thanks.

  • Hi ,

    Could you please explain what you mean by it not being possible to scan different service & characteristic addresses as a central device?

    I would recommend to take a close look at the ble_nus_c_init() function & the ble_db_discovery_evt_register() function from the uart central application in sdk 12.3.

  • Hi Bjorn Kvaale. First of all, sorry for my bad english. I sometimes may not be able to say exactly what I mean. I try to explain again. In our exprience. We have an DWM1001 sensor. I did not create this sensor code. It comes with a ready code inside. In this DWM1001 module, there are service and characteristic like this:

    Service: "680c21d9-c946-4c1f-9c11-baa1c21329e7"

    Characteristic of this service: "003bbdf2-c634-4b3d-ab56-7ec889b89a37"

    And, I create a central device with NRF51822 to connect this DWM1001 module. My NRF51822 code (central device) can connect to this DWM1001 sensor by using BLE without any error. However, my central device cannot get data from dwm1001 sensor characteristic ("003bbdf2-c634-4b3d-ab56-7ec889b89a37").

    You can try this situation by creating a peripheral device that has different service and characteristic address. 

    Also, we terminated this project and I write our own DWM1001 code. I just write this to help people who will searh it in later.

    Thank you very much for your patience and your continued help.

  • Can we get a clear answer from someone on the Nordic team whether this is a known limitation for nrf52-based central devices?

    I am trying to interface the nrf52 with a BLE pulse oximeter. One of its custom services has the following UUIDs:

    Service UUID: 0x46A970E00D5F11E28B5E0002A5D5C51B

          Char 1 UUID: 0x0AAD7EA00D60AAE28E3C0002A5D5C51B

          Char 2 UUID: 0x34E2786376FF4F8E96F19E3993AA6199

    I have added all associated service and char UUIDs with sd_ble_uuid_vs_add() and scan for all services by calling sd_ble_gattc_primary_services_discover(conn_handle, disc_start_handle, NULL);

    Services with characteristics that share the same base UUID are discovered correctly, but services such as the example above resolve to 0 for their UUID and type.

    Is there any way to resolve services with different base UUIDs in their characteristics?

    Thanks

  • Sorry for the delayed response. I have been on a business trip last week & am now on vacation. I would please suggest you to open a new devzone case regarding this query. It may take slightly longer to reply to DevZone cases this week, as DevZone is understaffed due to Easter break.

  • I am having the same problem on SDK15.3 S140 ble_app_uart_c, how can I solve it?

Related