蓝牙 SIG 服务描述

因为项目需要区别扫描到的设备,一直没有找到合适的方法。不过苹果 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 已采纳

你可能感兴趣的:(蓝牙 SIG 服务描述)