I have questions related to use of UUIDs. Any help would be grateful.
The following are the UUIDs that are seen from our peripheral device during advertisements and after connection.
After connection (without authentication), the following service & characteristics can be discovered:
“6E400001-B5A3-F393-E0A9-E50E24DCCA9E” // UART service
“6E400002-B5A3-F393-E0A9-E50E24DCCA9E” // Read characteristic (to allow write from external device)
“6E400003-B5A3-F393-E0A9-E50E24DCCA9E” // Transmit characteristic (to notify external device)
1. As we are using (6E40xxxx-B5A3-F393-E0A9-E50E24DCCA9) anyone looking at our advertisement packets knows that we have NORDIC UART service.
Since only our apps need to communicate with the device, do we still need to use the well-known published base-128-bit UUID from Nordic for UART? Our apps already know that we are using UART service over BLE. Do we need to advertise it to everyone?
2. Can we change/mask the number? Does changing the number affect the Nordic stack behavior for UART?
3. The Bluetooth Core Spec says that we have to use the company IDs, and assigned IDs whenever possible. We do have reserve company Ids and couple of UUIDs with the BT SIG. Can we use these reserved numbers in our advertisement and services? Is there any impact of using or not using these to the UART Service?
1.It's not required to advertise the UUID. The service and characteristics will be discovered during service discovery. So you can remove the UUID from the advertising packet, if that is what you want…
Any input would be greatly helpful.
1.It's not required to advertise the UUID. The service and characteristics will be discovered during service discovery. So you can remove the UUID from the advertising packet, if that is what you want.
2.I don't know what you mean by change the number. Are you referring to the Nordic UART UUID?
If you want to change the UUID, you are welcome to do so. It is also recommended to use your own UUID for end products. The idea of the 128-bit UUID is that everyone can easily generate their own, so as not to mix up your product with all the Nordic kits running the UART example.
This is why there is no official UART service in BLE, since the Bluetooth SIG doesn't want a load of different devices doing wildly different things using the exact same profile.Generating your own UUID at least is very straight forward :)https://www.uuidgenerator.net/
3.I don't see any reason that you shouldn't use your company ID in your advertisement.
Thanks Joakim for the information. This answers my query.