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

What is UUID and handle?

Hello, I want to clear things up a bit, all these concepts are starting to overwhelm me somehow. I want to know:

What can have UUID and handle? I understand that profiles and characteristics usually have UUID, but strangely not services.

Why, since characteristics are operated by handle instead of UUID, does BSIG define characteristics as something with a UUID in the first place? Wouldn't that be redundant? Since most programs will use handles to locate them anyway?

  • FormerMember
    0 FormerMember

    A profile consists of a set of services with a set of characteristics. A profile doesn't have any UUID since it is defined by the set or subset of services present in a device. All services and characteristics are defined by UUIDs. When a device is advertising, it will advertise the UUID of some or all of its services. This video tutorial talks a little bit about UUIDs from approximately 8:57 to 10:20.

    During service and characteristic discovery, each service and characteristic are assigned with handle to identify them in the application code. It can be useful to take a look at the documentation of the DB discovery module along with a central example like ble_app_hrs_c for instance.

Related