How to resolve unknown service and unknown characteristic in BLE?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi Support Team,

   

Could you please help me in resolving the issue where my BLE custom services and characteristics are not shown as per their name. They are being shown as UNKNOWN. It might be something very trivial but I could not find a way... I tried setting different UUIDs but no success!!

   

Please help!!

   

Thanks.

   

- Jitender

0 Likes
1 Solution
Anonymous
Not applicable

Jitender,

   

Normally to recognize the custom services and characteristics, you can use the Characteristic User descriptor for that characteristic in a service. It exposes a human readable string to the connected device which can be used to recognize the characteristic. This can be added for any characteristic in the BLE component.

   

Do note that Services/Characteristics are modeled by the spec to be be recognized by UUID (either 16-bits, 32-bits or 128-bits). So the spec does not necessitates in adding a way for user to recognize these by strings. You have to either design the Client in such a way that it recognizes the Standard/Custom services/characteristics or use some method like what I mentioned above.

View solution in original post

0 Likes
3 Replies
Anonymous
Not applicable

Jitender,

   

Normally to recognize the custom services and characteristics, you can use the Characteristic User descriptor for that characteristic in a service. It exposes a human readable string to the connected device which can be used to recognize the characteristic. This can be added for any characteristic in the BLE component.

   

Do note that Services/Characteristics are modeled by the spec to be be recognized by UUID (either 16-bits, 32-bits or 128-bits). So the spec does not necessitates in adding a way for user to recognize these by strings. You have to either design the Client in such a way that it recognizes the Standard/Custom services/characteristics or use some method like what I mentioned above.

0 Likes
Anonymous
Not applicable

Hi Roit,

   

Thanks for your reply. Yes, I have used the Characteristic User Descriptor and characteristic name is shown correctly in the CySmart app. It's the service name that is shown as Unknown in that App. So can I assume that it is upto the client designer how he/she going to display service names? Right?

   

Thanks.

   

Jitender

0 Likes
Anonymous
Not applicable

Exactly.

   

As you would know, there are set of BLE defined services (and corresponding UUIDs) that the whole world knows. The list can be found at https://developer.bluetooth.org/gatt/services/Pages/ServicesHome.aspx . As all know these services, most of the manufacturers design the App to recognize the standard services.

   

 

   

But as Custom services are different deal, because all manufacturers or application developers have their own, they need to add the information in their designed app so that they can be recongized. Cypress does three custom services (Capsense, RGB LED control and OTA) and have defined then in the CySmart App.