PRIMARY_SERVICE, 0x1800
CHARACTERISTIC, 2A00, READ | DYNAMIC,
PRIMARY_SERVICE, FF00
CHARACTERISTIC, FF01, READ | DYNAMIC,
CHARACTERISTIC, FF02, READ | WRITE | DYNAMIC,
CHARACTERISTIC, FF03, NOTIFY,
服务和特征说明
在 BLE 中,设备的功能通过服务(Service)和特征(Characteristic)来定义。以下是代码片段中服务和特征的详细解释:
服务和特征的定义格式
总结
这个代码片段描述了一个 BLE 设备的服务和特征配置:
这个配置形式定义了 BLE 设备服务层次结构,便于客户端进行相应的操作和数据交互。
- PRIMARY_SERVICE: 定义一个主要服务。后跟服务的 UUID。
- CHARACTERISTIC: 定义一个特征。后跟特征的 UUID 和属性标志。
-
PRIMARY_SERVICE, 0x1800
- PRIMARY_SERVICE, 0x1800:
- 0x1800 是一个标准 UUID,表示设备信息服务(Generic Access Service)。它包含设备名称和外观等基本信息。
-
CHARACTERISTIC, 2A00, READ | DYNAMIC,
- CHARACTERISTIC, 2A00, READ | DYNAMIC:
- 2A00 是设备名称特征的 UUID(Device Name Characteristic)。
- READ: 允许客户端读取特征的值。
- DYNAMIC:可能表示特征值是动态生成的,需要在运行时获取。
-
PRIMARY_SERVICE, FF00
- PRIMARY_SERVICE, FF00:
- FF00 是一个自定义服务的 UUID。自定义服务通常用 0xFFXX 范围的 UUID 表示。
-
CHARACTERISTIC, FF01, READ | DYNAMIC, CHARACTERISTIC, FF02, READ | WRITE | DYNAMIC, CHARACTERISTIC, FF03, NOTIFY,
-
CHARACTERISTIC, FF01, READ | DYNAMIC:
- FF01 是一个自定义特征的 UUID。
- READ: 允许客户端读取特征的值。
- DYNAMIC:特征值可能在运行时动态生成。
-
CHARACTERISTIC, FF02, READ | WRITE | DYNAMIC:
- FF02 是另一个自定义特征的 UUID。
- READ: 允许客户端读取特征的值。
- WRITE: 允许客户端写入特征的值。
- DYNAMIC:特征值可能在运行时动态生成。
-
CHARACTERISTIC, FF03, NOTIFY:
- FF03 是第三个自定义特征的 UUID。
- NOTIFY:允许服务器主动向客户端发送通知。当特征值改变时,客户端会收到通知。
- 一个设备信息服务(UUID: 0x1800),包含一个只读的设备名称特征(UUID: 0x2A00)。
- 一个自定义服务(UUID: 0xFF00),包含三个特征:
FF01
: 一个只读且动态的特征。FF02
: 一个可读、可写且动态的特征。FF03
: 一个支持通知的特征。