前言:对于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完