What range of Bluetooth UUIDs can be used for vendor defined profiles?

前端 未结 4 1073
忘掉有多难
忘掉有多难 2020-12-01 06:40

I want to build a simple Bluetooth Low Energy-based application using a custom profile. The adopted profiles / services / characteristics / descriptors use 16-bit U

相关标签:
4条回答
  • 2020-12-01 07:19

    You can register 16-bit UUIDs with the Bluetooth SIG: https://www.bluetooth.org/en-us/Pages/LoginRestrictedAll/16-bit-UUIDs-member.aspx This is useful if you need to save the bytes (for space, energy or other performance reasons).

    My interpretation of the Bluetooth spec is that you can use any 128-bit UUID outside of Bluetooth UUID Base "range", freely:

     xxxxxxxx-0000-1000-8000-00805F9B34FB
    

    I've put range in quotation marks, because the spec's 16-bit to 128-bit conversion formula that you quoted, suggests that the left-most bytes are the most significant (big endian!). Note, that if you treat the UUID as a 128-bit integer, the Bluetooth UUID Base "range" is not a continuous range of values.

    0 讨论(0)
  • 2020-12-01 07:22

    All of the 16-bit and 32-bit UUIDs above the base UUID that you show above are reserved for items in the spec (or future specs). So vendor apps are free to use any 128-bit UUID less than the base UUID. There is no reserved space for vendors to use 16-bit or 32-bit UUIDs.

    0 讨论(0)
  • 2020-12-01 07:27

    Here is FAQ\Talk about BLE UUID

    http://www.cypress.com/forum/psoc-4-ble/how-can-i-get-uuid-services-and-characteristics

    0 讨论(0)
  • 2020-12-01 07:42

    You may not use 16-bit or 32-bit UUIDs unless they are assigned to you by registering.

    Using a short UUID that was not registered will result in incompatibilities with your device and future standards and or other device's registered numbers. Bluetooth qualification will require valid numbers.

    When not registering, generate your own valid 128-bit UUIDs:

    • Use a tool such as
      • https://www.uuidgenerator.net
      • uuidgen or guidgen.exe command line tools
    • Understand the UUID format https://en.wikipedia.org/wiki/Universally_unique_identifier
      • The Version 4 variant uses random numbers and you can create your own base UUID by replacing the leading 8 hex characters to 0.
    0 讨论(0)
提交回复
热议问题