一、 文档简介简单说明特征 properties。
二、 BLE 特征 Properties2.1 设备说明 服务端(BLE 从机)、客户端(BLE 主机) 2.2 BLE 特征 Properties 位说明特征 Properties 有 8 种,对应 8 个 bit:
2.2.1 Broadcast设置之后,可以使用服务特征配置描述符广播特征值,服务特征配置描述符需要存在。 2.2.2 Read用于客户端从服务端读取特征值。其中有四个子方式用于读取一个特征值:读取特征值、使用特征 UUID 读取、读取长特征值和读取多个特征值。 2.2.2.1 读取特征值用于当客户端知道特征值句柄时从服务端读取一个特征值。ATT_READ_REQ PDU使用属性句柄参数设置为特征值句柄。ATT_READ_RSP PDU在属性值参数中返回特征值。
2.2.2.2 使用特征 UUID 读取 当客户端只知道特征UUID而不知道该特征的句柄时,这个用于从服务器读取一个特征值。 2.2.2.3 读长特征值 当客户端知道了特征值句柄,并且特征值的长度超过了可以在单个ATT_READ_RSP PDU中发送的长度时,用于从服务器读取一个特征值。 2.2.2.4 读取多特征值 当客户端知道特征值句柄时,这个子过程用于从服务器读取多个特征值。 2.2.3 Write Without Response写特征值无响应。用于在客户端知道特征值句柄并且客户端不需要确认写操作成功时向服务器写入特征值。只写一个特征值的第一个(ATT_MTU 3)字节。不能用来编写长特征;相反,应该使用写长特征值子过程。 2.2.4 Write2.2.4.1 写特征值 用于在客户端知道特征值句柄时向服务器写入一个特征值。这个子过程只写一个特征值的第一个(ATT_MTU 3)字节。此子过程不能用于编写长属性;相反,应该使用写长特征值子过程。 2.2.4.2 写长特征值 当客户端知道特征值句柄,但是特征值的长度超过了可以在单个ATT_WRITE_REQ PDU中发送的长度时,该子过程用于向服务器写入一个特征值。 2.2.5 Notify用于通知客户端 服务器的特征值的值。有一个子过程可用于通知值:Notifications。通知可以使用客户端特征配置描述符(CCCD)来配置 当服务器被配置为将特征值通知给客户端,而不期望任何属性协议层对成功接收通知的确认时,使用 Notifications 子过程。 2.2.6 Indicate用于指示从服务器到客户端的特征值。有一个子过程可用于指示值: Indications。指示可以使用客户端特征配置描述符(CCCD)进行配置。 当服务器被配置为向客户端指示一个特征值并期望属性协议层确认已成功接收到指示时,使用 Indications 子过程。 2.3 CCCD客户端要不要接收通知或指示的数据,这是一个位控制,其中: Bit0:特征值应当被通知。 Bit1:特征值应当被指示 其余位保留 三、参考文档(1) Bluetooth:《Core_V5.3.pdf》 |