一
因为项目需要区别扫描到的设备,一直没有找到合适的方法。不过苹果 sdk 给出了一个 关于 service 和 Characteristics 的描述:
The services and characteristics of a peripheral are identified by 128-bit Bluetooth-specific UUIDs, which are represented in the Core Bluetooth framework by CBUUID objects. Though not all UUIDs that identify a service or characteristic are predefined by the Bluetooth Special Interest Group (SIG), Bluetooth SIG has defined and published a number of commonly used UUIDs that have been shortened to 16-bits for convenience. For example, Bluetooth SIG has predefined the 16-bit UUID that identifies a heart rate service as 180D. This UUID is shortened from its equivalent 128-bit UUID, 0000180D-0000-1000-8000-00805F9B34FB, which is based on the Bluetooth base UUID that is defined in the Bluetooth 4.0 specification, Volume 3, Part F, Section 3.2.1.
The CBUUID class provides factory methods that make it much easier to deal with long UUIDs when developing your app. For example, instead of passing around the string representation of the heart rate service’s 128-bit UUID in your code, you can simply use the UUIDWithString method to create a CBUUID object from the service’s predefined 16-bit UUID, like this:
大概意思是 SIG 这个组织 预先定义了一套 常用 UUID。如果蓝牙厂商遵循这个规范,则可以根据这些 UUID 判断出来需要的服务。 SIG 地址:https://www.bluetooth.com 中文:http://developer.bluetooth.cn
二、 蓝牙 服务描述
全部看这里,
写几个常见的:
规格名称 | 规格类型 | 分配编号 | 规格级别 |
---|---|---|---|
自动化输入输出 | org.bluetooth.service.automation_io | 0x1815 | 已采纳 |
设备信息 | org.bluetooth.service.device_information | 0x180A | 已采纳 |
心率 | org.bluetooth.service.heart_rate | 0x180D | 已采纳 |
室内定位 | org.bluetooth.service.indoor_positioning | 0x1821 | 已采纳 |
对象传输 | org.bluetooth.service.object_transfer | 0x1825 | 已采纳 |
三、特征描述
特征描述这里
常见:
规格名称 | 规格类型 | 分配编号 | 规格级别 |
---|---|---|---|
设备名称 | org.bluetooth.characteristic.gap.device_name | 0x2A00 | 已采纳 |
序列号字符串 | org.bluetooth.characteristic.serial_number_string | 0x2A25 | 已采纳 |
软件修订字符串 | org.bluetooth.characteristic.software_revision_string | 0x2A28 | 已采纳 |
四、服务发现
在服务发现协议(SDP)中使用分配编号,搜索服务、浏览群组列表、文件URL和图标URL。
服务发现协议(SDP)
通用唯一标识符(UUID)简短格式
蓝牙(Bluetooth®)服务发现协议(SDP)规格定义了以简短格式代表一系列UUID(名义上为128位)的方式。232个值的保留范围可使用32位(以uuid32表示)代表。其中,216个值的子范围可仅采用16位(以uuid16表示)代表。
本文件中未分配的232范围的所有值予以保留,以待本文件日后的版本处理。换言之,此范围的值不可使用,除本文件或其日后版本规定。此范围以外的UUID值可按[ISO-11578]所述分配作分配者希望用作的任何目的。
基本通用唯一标识符(UUID)
基本UUID用语计算用作计算SDP规格所述“简短UUID”(uuid16和uuid32)的128位UUID。请参阅蓝牙核心规格的服务发现协议(SDP)。
1、#####协议标识符
下表的UUID应仅用于ProfileDescriptorList属性中。
常见:
协议名称 | UUID | 协议规格 | |
---|---|---|---|
HardcopyControlChannel | 0x0012 | 硬拷贝替换配置文件 (HCRP) | |
序列号字符串 | org.bluetooth.characteristic.serial_number_string | 0x2A25 | 已采纳 |
软件修订字符串 | org.bluetooth.characteristic.software_revision_string | 0x2A28 | 已采纳 |
下表允许使用服务的UUID,可用于ServiceClassIDList通用属性,但不可用于BluetoothProfileDescriptorList属性,除非下表允许使用配置文件。如果服务类UUID用于产品的SDP数据库,那么包含SDP记录的产品应遵循界定了与UUID相对应的服务的规格。
下表允许使用配置文件的UUID可用于BluetoothProfileDescriptorList通用属性,但不可用于ServiceClassIDList通用属性,除非下表允许使用服务类。
因历史原因,表2的部分UUID用于识别BluetoothProfileDescriptorList通用属性中的配置文件及ServiceClassIDList通用属性的服务类。然而,对于新的配置文件,服务类UUID不可用于BluetoothProfileDescriptorList通用属性,而配置文件UUID不得用于ServiceClassIDList通用属性。
服务类名称 | UUID | 规格 | 允许使用 |
---|---|---|---|
SerialPort | 0x1101 | 串口配置文件 (SPP)附注:SPP 1.0版中的SDP记录样例不包括BluetoothProfileDescriptorList属性,但部分实施也可使用此UUID作为配置文件标识符。 | 服务类/ 配置文件 |
Headset | 0x1108 | 耳机配置文件 (HSP)附注:同时用作服务类标识符和配置文件标识符。 | 服务类/ 配置文件 |
AudioSource | 0x110A | 高级音频分发配置文件 (A2DP) | 服务类 |
对讲机 | 0x1110 | 对讲机配置文件 (ICP)附注:同时用作服务类标识符和配置文件标识符。[已作废] | 服务类 |
传真 | 0x1108 | 传真配置文件 (FAX)附注:同时用作服务类标识符和配置文件标识符。[已作废] | 服务类 |
DirectPrinting | 0x1118 | 基本打印配置文件 (BPP) | 服务类 |
ReferencePrinting | 0x1119 | 参见基本打印配置文件 (BPP) | 服务类 |
五、缩写词及核心规格名称
缩写词 | 名词 | 类型 | |
---|---|---|---|
A2DP | 高级音频分发配置文件 | 传统 | |
BAS | 电池服务 | 基于GATT | |
BPP | 基本打印配置文件件 | 传统 | |
DIS | 设备信息服务 | 基于GATT |
查看这里
指定缩写词和规格名词
缩写词 | 名词 | 类型 | |
---|---|---|---|
A2DP | 高级音频分发配置文件 | 传统 | |
BAS | 电池服务 | 基于GATT | |
BPP | 基本打印配置文件件 | 传统 | |
DIS | 设备信息服务 | 基于GATT |
六、GATT描述符
既Descriptors,地址
常见
规格名称 | 规格类型 | 分配编号 | 规格级别 |
---|---|---|---|
客户端特征配置 | org.bluetooth.descriptor.gatt.client_characteristic_configuration | 0x2902 | 已采纳 |