BLE食用说明——简单介绍
都是废话
BLE(Bluetooth Low Energy),也称为蓝牙低功耗,是一种无线个人区域网络技术,用于短距离数据交换。它在经典蓝牙的基础上进行了优化,专注于降低能耗,同时仍然提供足够的通信性能。
BLE通讯主要由广播(Advertising)和连接(Connection)两部分组成。
广播是BLE设备宣布其存在并传递少量数据的一种方式,主要有Advertising Packets(包含设备的基本信息,如设备名称、服务UUID等)和Scan Response Packets(设备在接收到扫描请求时返回的额外信息)。
广播包结构包括
Preamble(1字节,固定为0xAA),
Access Address(4字节,广播信道的地址,固定为0x8E89BED6),
PDU(可变长度,包含实际的数据),
CRC(3字节,用于校验数据完整性)。
连接建立后,数据通过连接事件(Connection Events)进行传输
每个连接事件包括主设备(Central)和从设备(Peripheral)之间的一次完整的数据交换。
连接事件结构包括Header(包含包类型和长度信息),
LL Data(链路层数据,包括控制包或用户数据),
和MIC(用于确保数据完整性和防止篡改)。
数据通过预定义的服务()和特性(Characteristic)进行传输,每个特性都有一个唯一的UUID(通用唯一标识符)。
服务是一个逻辑功能单元,包含多个特性,例如心率服务包含测量值和传感器位置等特性;
特性是一个具体的数据单元,包括一个值和可选的描述符(提供关于特性值的额外信息,如格式、范围等)。

服务UUID与特性UUID
#define SERVICE_UUID "6E400001-B5A3-F393-E0A9-E50E24DCCA9E" // UART service UUID #define CHARACTERISTIC_UUID_RX "6E400002-B5A3-F393-E0A9-E50E24DCCA9E" #define CHARACTERISTIC_UUID_TX "6E400003-B5A3-F393-E0A9-E50E24DCCA9E"
BLE是一种基于服务端/客户端的通讯方式,类似发布订阅,服务方一般是下位机板子,然而客户端才是上位机
什么是特征
特征描述符的概念
addDescriptor 的用途
浙公网安备 33010602011771号