Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
UUID is to identify attributes such as services, characteristics and descriptors. Bluetooth SIG has reserved some UUIDs for standard attributes. Any implementer may generate any other UUID for their own use.
The uuidgen program creates a new UUID. The new UUID can reasonably be considered unique among all UUIDs created on the local system, and among UUIDs created on other systems in the past and in the future.
Tool on Windows
Please refer to document Create GUID on MSDN to generate UUID by tool guidgen.exe.
Tool Provided by Python
Module uuid in Python is to generate UUID. If all you want is a unique ID, you should probably call uuid1() or uuid4().
Define UUID in WICED Smart Applications
Suppose that we want to replace the UUID for service HELLO in example application “Hello Sensor” with a new one. Click copy in guidgen.exe and paste it here. And if we get a GUID as follows:
As what I guess on the Windows UUIDs - often the date (and time) are used as starting value for the number generator. So, generating an UUID should be quite free of conflicts (to have same UUID generated by two different developers or even you generate a new one later). As long as all people use the same tool and generator.
Yes, for BLE we should use and just use the official ITU site:
Does not guarantee that same starting value, same randomization is used (and you might use an already existing UUID). So, using other UUID tools for BLE can be very risky (not for you but for your clients using two different devices and having issues with same UUID in both).
I suggest, before creating new UUIDs, if you need one for a service, attribute, characteristic, value, data type ... etc. - check out if BLE has already a well defined UUID. If so, please use it. If WICED Sense would follow this approach as well - it makes the life easier: if you provide a temperature sensor - use the official, well known temperature UUID: so, any App can figure out as "there is a temperature" and use it. An App will work on different devices (with different temperature sensors but provided as a temperature feature). It makes also your life easier if your App can be reused on other devices or on other projects.
This should be the first place to look for an existing, well defined UUID: