BLE中的Service(服务)和characteristic(特征值)

Service(服务)和characteristic(特征值)之间的关系:

add663cb2d254b5ea099fb8afd412ca2.png

Service(服务):
服务是用来完成特定功能或特性的数据和相关行为的集合。在GATT中,服务由其服务定义来定义。服务定义可能包含所包含的服务、强制性特征和可选特征。可用于搜索服务的服务的重要属性被表示为uuid。

UUID:
UUID是一个普遍唯一的标识符,它被期望在所有空间和所有时间上都是唯一的(更准确地说,独立生成的UUID是相同的概率可以忽略不计)。uuid可以以分布式的方式独立创建。不需要对已分配的uuid进行中央注册表。一个UUID是一个128位的值。为了减少存储和传输128位UUID值的负担,已经预先分配了一系列UUID值,以便分配给常用的、已注册的目的。此预分配范围内的第一个UUID称为Blooth_Base_UUID,其值为00000000-0000-1000-8000- 00805F9B34FB。预分配范围内的UUID值具有以16位或32位值表示的别名。这些别名通常被称为16位和32位UUID,但每个实际上代表一个128位的UUID值。

characteristic(特征值):
特征是在服务中使用的值,以及关于如何访问该值的属性和配置信息,以及关于如何显示或表示该值的信息。特征定义包含特征声明、特征属性和值。它还可以包含描述值或允许服务器关于特征值的配置的描述符。

常见标准的Service: 

Allocation Type
Allocated UUID
Allocated for
GATT Service
0x1800 类属存取
GATT Service
0x1801 类属性
GATT Service
0x1802立即警报
GATT Service
0x1803链路损耗
GATT Service
0x1804Tx功率
GATT Service
0x1805 当前时间
GATT Service
0x1806参考时间更新
GATT Service
0x1807下一个DST更改
GATT Service
0x1808
Glucose
GATT Service
0x1809
Health Thermometer
GATT Service
0x180a设备信息
GATT Service
0x180d 心率
GATT Service
0x180e电话警报状态
GATT Service
0x180f电池
GATT Service
0x1810血压

characteristic(特征值)细分:

CHARACTERISTIC VALUE READ(特征值读)
此过程用于从服务器上读取特征值。有四个子程序可以用来读取特征值:读取特征值、使用特征UUID读取、读取长特征值和读取多个特征值。

CHARACTERISTIC VALUE WRITE(特征值写)
此过程用于将特征值写入服务器。有五个子程序可以用来写一个特征值:无响应写、无响应签名写、写特征值、写长特征值和可靠写。

CHARACTERISTIC VALUE NOTIFICATION(特征值通知)
此过程用于从服务器通知客户端特征值的值。

CHARACTERISTIC VALUE INDICATIONS(特征值指示)
此过程用于指示从服务器到客户端的特征值。

其中NOTIFICATION和INDICATIONS区别:

Charateristic Value Notificaiton
通知是指包含了特征值的句柄和当前值的包。客户端会收到这样的包,并且可以选择执行,但是不会给服务器端发回响应来确认是否收到。

Characteristic Value Indication
不同于通知,标记遵循了请求响应的格式。当服务器端发出标记的包的时候,要求客户端发回一个明确的确认包。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浮若于心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值