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

can not discovery by srv uuid

hi all:

Recently, I use nrf51822 as a central to connect some older sensor, but the ble chip of the older sensor did not use nordic, so I have this problem. I develop the project based on ....\Nordic\Nordic_Multilink\ble_central\ble_app_multilink_central. The background is below:

I want use nrf51822 to connect the older sensor, and discovery the service, and notify the character.The older sensors have one service, and this service contain two characters ,one is tx char, the other is rx char. Curiously, their UUIDs is not compatible with the nordic's UUID type, they are defined as below:

#define SVC_PRIVATE_UUID        {0xFB, 0x34, 0x9B, 0x5F, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0xE9, 0xFE, 0x00, 0x00}
#define RX_CHAR_UUID              {0x00, 0x96, 0x12, 0x16, 0x54, 0x92, 0x75, 0xB5, 0xA2, 0x45, 0xFD, 0xAB, 0x39, 0xC4, 0x4B, 0xD4}
#define FIRST_TX_CHAR_UUID     {0x01, 0x96, 0x12, 0x16, 0x54, 0x92, 0x75, 0xB5, 0xA2, 0x45, 0xFD, 0xAB, 0x39, 0xC4, 0x4B, 0xD4}

So there is no BASE_UUID in the older sensors.... In the nrf51822, in the client_handling.c, I define the uuid is as below:

 #define BASE_UUID    {0xfb, 0x34, 0x9b, 0x5f, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}}
			 
#define SERVICE_UUID 0xE9FE

The result is the central can not discover the older sensors.... So, how can I modify the pragram??? Thanks a lot!

best regards!

Parents
  • Not Nordic? :o

    sd_ble_uuid_vs_add() just enables the application to add a vendor specific UUID to the BLE stack's table, for later use all other modules and APIs. For more information, see @details in the above the function in ble.h. This is just our way of handling vendor specific UUIDs, the devices should still be able to communicate. It is just how the application gives the UUID to stack that is different.

  • hi petter: I have another doubt about the process of discovery the peripheral. Is it must to use the sd_ble_uuid_vs_add() to discovery the peripheral, If I want to discovery all the peripheral, what can I do? Before the central connect the peripheral, can the central discovery the service and characters of the peripheral??

    Thanks a lot! best regards!

Reply Children
No Data
Related