蓝牙学习笔记(八)——BLE 4.0 的128Bits/32Bist/16Bits的UUID

前言:对于BLE中的GATT Profile经常用到的UUID(universally unique identifier)做一些概述。


1. 128bits的UUID

  UUID作为通用唯一标识符,它的长度为固定的128Bits。128Bits长度的数据使得我们有足够大空间划分来区别不同的数据。
  对于128Bits长度的数据来说,用户每次要使用一个UUID就要确定128个Bits,不利于操作。而在面对一个庞大数据空间时,计算机的地址等级划分给了我们很好的启发,我们只需要用一个基地址以及偏移量可以表示庞大的地址空间。基地址可以固定,用户只需要决定少数Bit的偏移量就可以确定UUID。
  下面是128Bits的基地址:

  • Bluetooth_Base_UUID
      Bluetooth_Base_UUID是蓝牙技术联盟规定的,定义为0x00000000-0000-1000-8000-00805F9B34FB
  • 自定义UUID
      自定义的UUID一般都为特定的供应商提供,比如0x00000000-1212-EFDE-1523-785DEABCD122

2. 32bits的UUID

  32Bits的UUID其实就是一个用户自定义的偏移量,比如:用户定义一个UUID为0x2B100010,而使用的基地址为Bluetooth_Base_UUID,则该UUID完整形式为0x2B100010-0000-1000-8000-00805F9B34FB。若为上述自定义UUID,则为0x2B100010-1212-EFDE-1523-785DEABCD122。


3. 16bits的UUID

  16Bits的UUID也是一个用户自定义的偏移量,比32Bits短,平时使用过程中也更常见。例如:用户定义一个UUID为0x2B10,而使用的基地址为Bluetooth_Base_UUID,则该UUID完整形式为0x00002B10-0000-1000-8000-00805F9B34FB。若为上述自定义UUID,则为0x00002B10-1212-EFDE-1523-785DEABCD122。


注:自定义32Bits或16BitsUUID需要参考蓝牙技术联盟给出的规范,规范规定了一些同样的UUID用于通用服务。我们可以使用其中的UUID以便使用通用服务,也可以避开规定的UUID进行自定义服务的开发。

你可能感兴趣的:(蓝牙)