一.Error Handling

Error Response

The Error Responseis used to state that a given request cannot be performed, and to provide the reason.
Note: The Write Command does notgenerate an Error Response

二.MTU Exchange

1.Exchange MTU Request

The Exchange MTU Requestis used by the client toinform the server of the client’s maximum receive MTU size and requestthe server to respond with its maximum receive MTU size.

2.Exchange MTU Response

The Exchange MTU Responseis sent in reply to a received Exchange MTU Request.

三.Find Information

1.Find Information Request

The Find Information Requestis used to obtain the mapping of attribute handles with their associated types. This allows a client to discover the list of attributes and their types on a server

2. Find Information Response

The Find Information Responseis sent in reply to a received Find Information Requestand contains information about this server

3.Find By Type Value Request

The Find By Type Value Requestis used to obtain the handles of attributes that have a 16-bit UUID attribute type and attribute value.This allows the range of handles associated with a given attribute to be discovered when the attribute type determines the grouping of a set of attributes. Note: Generic Attribute Profile defines grouping of attributes by attribute type.
4.Find By Type Value Response
The Find By Type Value Responseis sent in reply to a received Find By Type Value Requestand contains information about this server

四.Reading Attributes

1.Read By Type Request

The Read By Type Requestis used to obtain the values of attributes where the attribute type is known butthe handle is not known

2.Read ByType Response

The Read By Type Responseis sent in reply to a received Read By Type Requestand contains the handles and values of the attributesthat have been read

3.Read Request

The Read Requestis used to request the serverto read the value of an attribute and returnits value in a Read Response

4.Read Response

The read response is sent in reply toa received Read Requestand contains the value of the attribute that has been read

例:


5.Read Blob Request

The Read Blob Requestis used to request the server to read part of the value of an attribute at a given offset and return a specific part of the value in a Read Blob Response.

6.ReadBlob Response

The Read Blob Responseis sent in reply to a received Read Blob Requestand contains part of the value of the attribute that has been read.

7.Read Multiple Request

The Read Multiple Requestis used to request the server to read two or more values of a set of attributesand return their values in a Read Multiple Response. Only values that have a known fixed size can be read, with the exception of the last value that can have a variable length. The knowledge of whether attributes have a known fixed size is defined in a higher layer specification.

8.Read Multiple Response

The read response is sent in reply toa received Read Multiple Requestand contains the values of the attributes that have been read

9.Read by Group Type Request

The Read By Group Type Requestis used to obtain the values of attributes where the attribute type is known, the type of a grouping attribute as defined by a higher layer specification,but the handle is not known.

10.Read by Group Type Response

The Read By Group Type Responseis sent in reply to a received Read By Group Type Requestand contains the handles and values of the attributes that have been read

五.Writing Attributes

1.Write Request

The Write Requestis used to request the server to write the value of an attribute and acknowledge thatthis has been achieved in a Write Response

2.Write Response

The Write Responseis sent in reply to a valid Write Requestand acknowledges that the attribute has been successfully written

例:

3.Write Command

The Write Command is used to request the server to write the value of an attribute, typically into a control-pointattribute.

例:

4.Signed Write Command

The Signed Write Commandis used to request the serverto write the value of an attribute with an authentication signature, typically into a control-point attribute

六.Signed Write Command

The Signed Write Commandis used to request the serverto write the value of an attribute with an authentication signature, typically into a control-point attribute

七.ServerInitiated

1.Handle Value Notification

A server can send a notification of an attribute’s value at any time

例:

2.Handle Value Indication

A server can send an indication of an attribute’s value

3.Handle Value Confirmation

The Handle Value Confirmationis sent in response to a received Handle Value Indicationand confirms that the client has received an indication of the given attribute.

蓝牙BLE ATT剖析(二)-- PDU的更多相关文章

  1. 蓝牙BLE ATT剖析(一)

    一.概述 The attribute protocol allows a device referred to as the server to expose a set of attributes ...

  2. 蓝牙 BLE GATT 剖析(二)-- GATT UUID and 举例

    generic attribute profile (GATT)The Generic Attributes (GATT) define a hierarchical data structure t ...

  3. 蓝牙 BLE GATT 剖析(一)

    一.概述 The Generic Attribute Profile (GATT) defines a service framework using the Attribute Protocol. ...

  4. 蓝牙BLE 架构剖析

    一.BLE架构概述: 二.各个层

  5. 【转】蓝牙ble app开发(三) -- 抓包

    原文网址:http://blog.csdn.net/lckj686/article/details/43156617 关于android 蓝牙app开发抓包的重要性在 android 蓝牙ble ap ...

  6. 蓝牙BLE: ATT协议层中属性(Attribute)

    ATT(Attribute Protocol)属性层是GATT和GAP的基础,它定义了BLE协议栈上层的数据结构和组织方式. 属性(Attribute)概念是ATT层的核心,ATT层定义了属性的内容, ...

  7. [蓝牙] 3、 剖析BLE心率检测工程

    位于:<KEIL path> \ARM\Device\Nordic\nrf51822\Board\pca10001\s110\ble_app_hrs Heart Rate Example ...

  8. Android4.3 蓝牙BLE初步

    一.关键概念: Generic Attribute Profile (GATT) 通过BLE连接,读写属性类小数据的Profile通用规范.现在所有的BLE应用Profile都是基于GATT的.   ...

  9. 【转】Android4.3 蓝牙BLE初步

    原文网址:http://www.cnblogs.com/savagemorgan/p/3722657.html 一.关键概念: Generic Attribute Profile (GATT) 通过B ...

随机推荐

  1. 2016 Multi-University Training Contest 8

    solved 4/11 2016 Multi-University Training Contest 8 贪心 1001 Ball(BH) 代码: #include <bits/stdc++.h ...

  2. HDU3586 Information Disturbing(树形DP)

    题目大概说一棵树有边权,要删掉一些边,使叶子到达不了树根1且删掉边的权和小于等于m,问删掉边中最大权的最小值能是多少. 考虑问题规模,与转移的时间复杂度,用这么个状态dp: dp[u][k]表示在u结 ...

  3. BZOJ2102 : [Usaco2010 Dec]The Trough Game

    暴力枚举答案然后检验. #include<cstdio> int n,m,i,j,k,a[100],b[100],cnt,ans;char s[20]; int main(){ for(s ...

  4. svg―Raphael.js Library

    Raphael是一个用于在网页中绘制矢量图形的Javascript库,它使用SVG W3C推荐标准和VML作为创建图形的基础,可以通过JavaScript操作DOM来轻松创建出各种复杂的柱状图.饼图. ...

  5. 最近公共祖先(lca)

    囧啊囧. lca的求法太多了 倍增,tarjan,st,lct,hld.... 后边三个我就不写了,其中st我没写过,估计用不上,在线用倍增,离线用tarjan就行了. 嗯. 第一种,倍增(O(nlo ...

  6. shell条件与循环

    一.if语句 if [expression] then elif[expression] then else fi 注 : expression前后要有空格:判断相等用 = 而不是 == : then ...

  7. Mysql 学习

    一.ubuntu下mysql的安装: 通过sudo apt-get install mysql-server 完成: 然后可以通过/etc/init.d/mysql 进行start/stop/rest ...

  8. ASP.NET C# 日期 时间 年 月 日 时 分 秒 格式及转换(转自happymagic的专栏)

    在平时编码中,经常要把日期转换成各种各样的形式输出或保持,今天专门做了个测试,发现DateTime的ToString()方法居然有这么多的表现形式,和大家一起分享. DateTime time=Dat ...

  9. openstack创建虚拟机的步骤

    图片来自互联网. 虚拟机启动过程如下: 1.界面或命令行通过RESTful API向keystone获取认证信息.2.keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请 ...

  10. [转] - linux下socket编程实例

    一.基本socket函数Linux系统是通过提供套接字(socket)来进行网络编程的.网络的socket数据传输是一种特殊的I/O,socket也是一种文件描述符.socket也有一个类似于打开文件 ...