文章目录
-
- 1、前言
- 2、ESP32 Advertising案例
- 3、广播核心库 —— BLEAdvertising、BLEAdvertisedDevice
-
- 3.1 广播信道PDU
- 3.2 广播数据 —— BLEAdvertisementData
-
- 3.2.1 广播数据协议结构 —— AD Structure
-
- 3.2.1.1 FLAG —— 设备 LE 物理连接的功能
- 3.2.1.2 Service UUID —— 本设备所支持的 Service
- 3.2.1.3 Local Name —— 设备名字
- 3.2.1.4 TX Power Level —— 设备发送广播包的信号强度
- 3.2.1.5 Security Manager Out of Band —— 带外安全管理
- 3.2.1.6 外设(Slave)连接间隔范围
- 3.2.1.8 Service Data —— 服务数据
- 3.2.1.8 Public Address —— 公开目标地址
- 3.2.1.9 Randon Address —— 随机目标地址
- 3.2.1.10 Appearance —— 设备外观
- 3.2.1.11 ManufaturerSpecific—— 厂商自定义数据
- 3.2.2 广播数据协议实现 —— BLEAdvertisementData
-
- 3.2.2.1 setCompleteServices —— 设置完整的Service UUID
- 3.2.2.2 setPartialServices —— 设置非完整的Service UUID
- 3.2.2.3 setFlags—— 设置Flags,用来标识设备 LE 物理连接的功能
- 3.2.2.4 setManufacturerData—— 设置制造厂商自定义数据
- 3.2.2.5 setName—— 设置设备全名
- 3.2.2.6 setShortName—— 设置设备简称
- 3.2.2.7 setServiceData —— 设置 Service 对应的数据,UUID+Data
- 3.2.2.8 setAppearance—— 设置Appearance,表示设备外观
- 3.2.2.9 addData —— 通用添加数据到payload
- 3.2.2.10 getPayload —— 获取payload
- 3.3 管理广播过程 —— BLEAdvertising
- 5、实例
- 6、总结
授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力。希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石。。。
重点说一下,麻烦三连点赞,你的点赞是博主创作的前进动力
。
1、前言
来回忆一下Arduino ESP32 Ble核心内容:
- 从设备角度来看,统一叫做
BLEDevice
- 从CS角度来看,可能又会分为 客户端(
BLEClient
)和 服务端(BLEServer
) - 从链接层状态角度来看,又会涉及广播状态(
BLEAdvertisedDevice
、BLEAdvertising