文章目录
- 前言
- 一、蓝牙广播
- 1:广播信道
- 2:广播的数据结构
- 3:用户广播结构
- 4:广播包的内容:
- 广播事件:
- 二、蓝牙状态切换
- 蓝牙从机(Peripheral)的状态
- 蓝牙主机(Central)的状态
- 三、蓝牙服务和特性
- 1.蓝牙服务(Bluetooth Service):
- 2.蓝牙特性(Bluetooth Characteristic):
前言
蓝牙协议官网
一、蓝牙广播
1:广播信道
广播间隔 (Advertising Interval):通常范围从20毫秒到10.24秒之间。(依次在37,38,39信道发送相同的广播数据包)
2:广播的数据结构
广播包的格式和内容受到严格定义,以确保不同厂商的设备之间的互操作性。
3:用户广播结构
4:广播包的内容:
广播包的内容
- Flags : 提供关于广播者的一些基本信息,例如是否支持BR/EDR、是否在进行非连接模式下的广播等。
- Service UUIDs : 告诉外面本设备所支持的服务,分为3个类型:16bit 32bit 128bit , 每个类型又有两个类别 完整和非完整 。
- Local Name : 设备名称,可以是完整0x08 的也可以是简短缩写 0x09 的版本。
- Manufacturer Specific Data (0xFF): 厂商自定义的数据,允许制造商添加专有的信息到广播包中。
- TX Power Level (0x0A): dBm 发射功率级别,帮助接收方估算距离,iBeacon 室内定位技术的原理。
- Appearance (0x19): 描述设备外观特性的值,如手表、心率监测仪等。
- Service Data (0x16): 关联特定服务的数据,比如温度传感器可能广播当前温度。
广播事件:
可连接、可扫描的非定向广播事件
可连接的非定向广播事件
可连接的定向广播事件
不可连接、不可扫描的非定向广播事件
不可连接、不可扫描定向广播事件
可扫描非定向广播事件
可扫描定向广播事件
二、蓝牙状态切换
状态转换图
从机: Standby -> Advertising -> [Initiation] -> Connection -> Disconnection -> Standby
主机: Standby -> Scanning -> [Initiation] -> Connection -> Disconnection -> Standby
蓝牙从机(Peripheral)的状态
- 待机(Standby): 设备处于空闲状态,没有进行任何广播或连接活动。
- 广播(Advertising):从机发送广播包以宣告自己的存在,并等待来自主机的连接请求。根据广播模式的不同,它可以是可连接、不可连接、可扫描或定向广播。
- 初始化(Initiation): 当从机接收到一个有效的连接请求时,它会进入这个短暂的状态,准备建立连接。
- 连接(Connection): 一旦连接建立,从机和主机之间就可以开始交换数据。在这个状态下,从机可以接收和发送数据给主机。
- 断开连接(Disconnection): 连接终止后,从机会回到待机状态,等待新的广播或连接周期。
蓝牙主机(Central)的状态
- 待机(Standby): 主机处于空闲状态,没有正在进行的扫描或连接活动。
- 扫描(Scanning): 主机监听周围的广播包,以发现可用的从机。扫描可以是被动的(仅监听)或主动的(监听并请求额外信息)。
- 初始化(Initiation): 在检测到感兴趣的从机后,主机会发起连接请求,此时它进入初始化状态。
- 连接(Connection): 成功建立连接后,主机和从机之间可以双向通信。主机负责管理连接参数和数据传输。
- 断开连接(Disconnection): 当连接被有意或无意地中断时,主机会返回到待机状态,等待下一次操作。
三、蓝牙服务和特性
1.蓝牙服务(Bluetooth Service):
服务是蓝牙设备提供的一组功能的集合。每个服务都有一个唯一的标识符(UUID),用于区分不同的服务。服务可以是标准的(如心率监测、温度传感器)或是自定义的。通过服务,设备能够进行特定类型的数据交换。例如,一个心率监测设备可能会提供一个心率服务,用于传输心率数据。
2.蓝牙特性(Bluetooth Characteristic):
特性是服务的组成部分,每个特性也有一个唯一的UUID。特性定义了具体的数据格式和属性,包含了设备可以读取、写入或者通知的具体数据。例如,在心率服务中,心率特性可能包含心率值、测量单位等信息。特性可以具有不同的权限,例如可读、可写、可通知等。
简单来说,服务是功能的集合,而特性是具体的数据项。蓝牙设备通过这些服务和特性进行通信,交换信息,实现各种应用场景,如音频传输、健康监测、智能家居控制等。