主机HOST
主机host是蓝牙协议栈的核心部分,GAP层负责制定设备工作的角色,SS层负责指定安全连接,Logic Link层功能非常强大,官方作用为协议/通道的多路复用,负责上层应用数据(L2CAPService Data Units,SDUs)的分割(和重组),生成协议数据单元(L2CAP Packet Data Units,PDUs),以满足用户数据传输对延时的要求,并便于后续的重传、流控等机制的实现。
·L2CAP Protocol
数据经过Link Layer的抽象之后,两个BLE设备之间可存在两条逻辑上的数据通道:一条是无连接的广播通道;另一条是基于连接的数据通道,是一个点对点(Master对Slave)的逻辑通道。如之前文章讲到,BT 4.2 最大传输的数据包长度为251字节,那么应用层要传输的数据包长度超过了251个字节,这个时候就靠L2CAP层进行分包处理,送到LL层进行数据发送。Physical Layer负责提供一系列的PhysicalChannel;基于这些Physical Channel,LinkLayer可在两个设备之间建立用于点对点通信的Logical Channel;而L2CAP则将这个Logical Channel换分为一个个的L2CAPChannel,以便提供应用程序级别的通道复用。到此之后,基本协议栈已经构建完毕,应用程序已经可以基于L2CAP欢快的跑起来了。
·Attribute Protocol
Attribute Protocol定义了一套数据传输机制,采用client-server的形式,为数据传输提供一个通道。提供信息(以后都称作Attribute)的一方称作ATTserver(一般是那些传感器节点),访问信息的一方称作ATT client。一个Attribute由Attribute Type、Attribute Handle和Attribute Value组成。ATT层相当于数据传输通道,所有的数据都会通过该通道上传或者下发。
·Security Manager(SM)
Security Manager负责BLE通信中有关安全的内容(毫无疑问,在物联网时代,安全变得更重要,谁也不想卧室的灯在深夜的时候会无缘无故的亮吧),包括配对(pairing,)、认证(authentication)和加密(encryption)等过程。
·Generic AttributeProfile
Attribute Protocol之所以称作“protocol”,是因为它还比较抽象,仅仅定义了一套机制,允许client和server通过Attribute的形式共享信息。而具体共享哪些信息,ATT并不关心,这是GATT(Generic Attribute Profile)的主场。GATT相对ATT只多了一个‘G‘,但含义却大不同,因为GATT是一个profile,下篇文章详细介绍GATT和profile。
·Generic AccessProfile 通用访问
定义GAP层的蓝牙设备角色(role)
1. Broadcaster Role,设备正在发送advertisingevents;
2. Observer Role,设备正在接收advertising events;
3. Peripheral Role,设备接受Link Layer连接(对应Link Layer的slave角色);
4. Central Role,设备发起Link Layer连接(对应Link Layer的master角色)。
GAP层定义了用于实现各种通信的操作模式(Operational Mode)和过程(Procedures),实现单向的,无连接的通信方式,配对,连接操作等;同时GAP层也定义了User Interface相关的蓝牙参数,比如蓝牙地址,名称,类型等。
主机HOST
主机host是蓝牙协议栈的核心部分,GAP层负责制定设备工作的角色,SS层负责指定安全连接,Logic Link层功能非常强大,官方作用为协议/通道的多路复用,负责上层应用数据(L2CAPService Data Units,SDUs)的分割(和重组),生成协议数据单元(L2CAP Packet Data Units,PDUs),以满足用户数据传输对延时的要求,并便于后续的重传、流控等机制的实现。
·L2CAP Protocol
数据经过Link Layer的抽象之后,两个BLE设备之间可存在两条逻辑上的数据通道:一条是无连接的广播通道;另一条是基于连接的数据通道,是一个点对点(Master对Slave)的逻辑通道。如之前文章讲到,BT 4.2 最大传输的数据包长度为251字节,那么应用层要传输的数据包长度超过了251个字节,这个时候就靠L2CAP层进行分包处理,送到LL层进行数据发送。Physical Layer负责提供一系列的PhysicalChannel;基于这些Physical Channel,LinkLayer可在两个设备之间建立用于点对点通信的Logical Channel;而L2CAP则将这个Logical Channel换分为一个个的L2CAPChannel,以便提供应用程序级别的通道复用。到此之后,基本协议栈已经构建完毕,应用程序已经可以基于L2CAP欢快的跑起来了。
·Attribute Protocol
Attribute Protocol定义了一套数据传输机制,采用client-server的形式,为数据传输提供一个通道。提供信息(以后都称作Attribute)的一方称作ATTserver(一般是那些传感器节点),访问信息的一方称作ATT client。一个Attribute由Attribute Type、Attribute Handle和Attribute Value组成。ATT层相当于数据传输通道,所有的数据都会通过该通道上传或者下发。
·Security Manager(SM)
Security Manager负责BLE通信中有关安全的内容(毫无疑问,在物联网时代,安全变得更重要,谁也不想卧室的灯在深夜的时候会无缘无故的亮吧),包括配对(pairing,)、认证(authentication)和加密(encryption)等过程。
·Generic AttributeProfile
Attribute Protocol之所以称作“protocol”,是因为它还比较抽象,仅仅定义了一套机制,允许client和server通过Attribute的形式共享信息。而具体共享哪些信息,ATT并不关心,这是GATT(Generic Attribute Profile)的主场。GATT相对ATT只多了一个‘G‘,但含义却大不同,因为GATT是一个profile,下篇文章详细介绍GATT和profile。
·Generic AccessProfile 通用访问
定义GAP层的蓝牙设备角色(role)
1. Broadcaster Role,设备正在发送advertisingevents;
2. Observer Role,设备正在接收advertising events;
3. Peripheral Role,设备接受Link Layer连接(对应Link Layer的slave角色);
4. Central Role,设备发起Link Layer连接(对应Link Layer的master角色)。
GAP层定义了用于实现各种通信的操作模式(Operational Mode)和过程(Procedures),实现单向的,无连接的通信方式,配对,连接操作等;同时GAP层也定义了User Interface相关的蓝牙参数,比如蓝牙地址,名称,类型等。
举报