蓝牙( Bluetooth® )
是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换(使用2.4—2.485GHz的ISM波段的UHF无线电波)。
设备类型
- 经典蓝牙
- 双模设备
支持经典蓝牙,低功耗蓝牙 - 单模设备
只支持低功耗蓝牙
蓝牙4.0
蓝牙核心规范版本 4.0 LE( 低功耗)针对尽可能最低的功耗进行了优化。蓝牙 4.0 LE 假设
外围设备以一枚钮扣电池作为主电源,并且对等设备之间不对称。中心设备配有更大的存
储器和电池,而外围设备则配有有限的存储器和电池。
特点
- 超低的峰值、平均和待机模式功耗
- 使用标准纽扣电池可运行一年乃至数年
- 低成本
- 不同厂商设备交互性
- 无线覆盖范围增强
- 完全向下兼容
- 低延迟
低功耗蓝牙体系结构
在控制器内既有物理层和链路层,又有直接测试模式和主机控制器接口(HCI)层的下半部。在主机内包含了三个协议:逻辑链路控制和适配协议(L2CAP)属性协议(Attribute Protocol)和安全管理器协议(Security Manager Protocol),此处还包括通用属性规范(GATT)、通用访问规范(GAP)和模式(MODE)
控制器(hci)
控制器与外界通过天线相连,与主机通过主机控制接口(HCI)相连。
主机
逻辑链路控制和适配协议 L2CAP
Logical Link Control and Adaptation Protocol也称为逻辑链路控制和适配协议.
是蓝牙的复用层。
L2CAP由两个部分组成
- l2cap信道:双向数据通道,通向对端设备的某一特定协议或规范。
- l2cap信令
主机构建了主机控制器接口的上层部分.GATT是需要强调的。
通用访问协议 Generic Access Profile (GAP)
和GATT联合起来定义了与蓝牙设备的发现、蓝牙设备的信息共享相关的角色和流程,定义了设备连接中的链接管理流程。
GATT(通用属性规范)
定义服务、特性、声明和描述符的概念。上层应用程序利用这些概念派生功能。
GATT 不负责定义属性的使用规则。
GATT定义了客户端和服务器角色。GATT程序可以被认为分为三种基本类型:发现程序(Discovery procedures)、客户端启动程序(Client-initiated procedures)和服务器启动程序( Server-initiated procedures)。GATT服务器存储在ATT上传输的数据,并接受来自GATT客户机的ATT请求、命令和确认。在GATT服务器上发生指定事件时,GATT服务器会发送响应请求并向GATT客户端异步发送指示和通知。GATT还指定了GATT服务器上的数据格式。
主机既可以是GATT客户端,也可以是GATT服务器;从机既可以是GATT客户端,也可以是GATT服务器。一个GATT服务器中可包含一个或多个GATT服务,GATT服务是完成特定功能的一系列数据的集合。
GATT定义的多层数据结构简要概括起来就是服务(service)可以包含多个特征(characteristic),每个特征包含属性(properties)和值(value),还可以包含多个描述(descriptor)。它形象的结构如下图:
GATT包含若干个Profile,一个Profile包含若干个Services,一个Service包含若干个Characteristics,一个Characteristic包含Properties字段和若干个Descriptor(可选)
应用层
定义了上种类型:特性(characterustic)、服务(service)和规范(profile)