Bluetooth LE AT 示例(BLE调试助手和模块连接过程)
创始人
2025-06-01 00:11:39
0

一,简介

ESP-AT 当前仅支持 Bluetooth LE 4.2 协议规范,本文档中的描述仅适用于 Bluetooth LE protocol 4.2 协议规范。请参考 核心规范 4.2 获取更多信息。

Bluetooth LE 协议架构

Bluetooth LE 协议栈从下至上分为几个层级:Physical Layer (PHY)、Link Layer (LL)、Host Controller Interface (HCI)、Logical Link Control and Adaptation Protocol Layer (L2CAP)、Attribute Protocol (ATT)、Security Manager Protocol (SMP)、Generic Attribute Profile (GATT)、Generic Access Profile (GAP)。

  • PHY:PHY 层主要负责在物理信道上发送和接收信息包。Bluetooth LE 使用 40 个射频信道。频率范围:2402 MHz 到 2480 MHz。

  • LL:LL 层主要负责创建、修改和释放逻辑链路(以及,如果需要,它们相关的逻辑传输),以及与设备之间的物理链路相关的参数的更新。它控制链路层状态机处于 准备、广播、监听/扫描、发起连接、已连接 五种状态之一。

  • HCI:HCI 层向主机和控制器提供一个标准化的接口。该层可以由软件 API 实现或者使用硬件接口 UART、SPI、USB 来控制。

  • L2CAP:L2CAP 层负责对主机和协议栈之间交换的数据进行协议复用能力、分段和重组操作。

  • ATT:ATT 层实现了属性服务器和属性客户端之间的点对点协议。ATT 客户端向 ATT 服务端发送命令、请求和确认。ATT 服务端向客户端发送响应、通知和指示。

  • SMP:SMP 层用于生成加密密钥和身份密钥。SMP 还管理加密密钥和身份密钥的存储,并负责生成随机地址并将随机地址解析为已知设备身份。

  • GATT:GATT 层表示属性服务器和可选的属性客户端的功能。该配置文件描述了属性服务器中使用的服务、特征和属性的层次结构。该层提供用于发现、读取、写入和指示服务特性和属性的接口。

  • GAP:GAP 层代表所有蓝牙设备通用的基本功能,例如传输、协议和应用程序配置文件使用的模式和访问程序。GAP 服务包括设备发现、连接模式、安全、身份验证、关联模型和服务发现。

Bluetooth LE 角色划分

在 Bluetooth LE 协议栈中不同的层级有不同的角色划分。这些角色划分互不影响。

  • LL:设备可以划分为 主机 和 从机,从机广播,主机可以发起连接。

  • GAP:定义了 4 种特定角色:广播者、观察者、外围设备 和 中心设备。

  • GATT:设备可以分为 服务端 和 客户端。

重要

  • 本文档中描述的 Bluetooth LE 服务端 和 Bluetooth LE 客户端 都是 GATT 层角色。

  • 当前,ESP-AT 支持 Bluetooth LE 服务端 和 Bluetooth LE 客户端 同时存在。

  • 不论 ESP-AT 初始化为 Bluetooth LE 服务端还是 Bluetooth LE 客户端,同时连接的最大设备数量为 3。

GATT 其实是一种属性传输协议,简单的讲可以认为是一种属性传输的应用层协议。这个属性的结构非常简单。它由 服务 组成,每个服务由不同数量的 特征 组成,每个 特征 又由很多其它的元素组成。

GATT 服务端 和 GATT 客户端 这两种角色存在于 Bluetooth LE 连接建立之后。GATT 服务器存储通过属性协议传输的数据,并接受来自 GATT 客户端的属性协议请求、命令和确认。简而言之,提供数据的一端称为 GATT 服务端,访问数据的一端称为 GATT 客户端。

重要

  • ESP32 Bluetooth LE 服户端需烧录 ble_data.bin 文件到 flash 中,用以提供 Bluetooth LE 服务。

  • 如何生成 ble_data.bin 文件,请参考文档 自定义 Bluetooth LE Services 工具。

  • ble_data.bin 文件的烧录地址,见 at_customize.csv 中 ble_data 对应的地址,或者在文件 build/download.config 中记录的地址。

二,BLE调试助手和模块连接过程

仅作笔记

参考链接:

(11条消息) ESP32 使用BLE蓝牙透传_esp32 蓝牙透传_乐乐爱学习1的博客-CSDN博客

1,硬件准备。

模块名称ESP-WROOM-32

UART0用于日志打印输出和更新固件,UART2用来接收AT指令通信。

上位机使用串口工具,USB转串口连接蓝牙模块。

手机APP使用 "BLE蓝牙调试助手",手机应用市场可下载。

2,更换蓝牙模块bin文件。

模块默认固件可能不支持,需要更新固件。我使用了

ESP32-WROOM-32_AT_Bin_V2.4.0.0.zip

链接

发布的固件 - ESP32 - — ESP-AT 用户指南 latest 文档 (espressif.com)

3,指令准备

AT+BLEINIT=2 //将esp32设置成蓝牙服务端
AT+BLEGATTSSRVCRE //GATTS 创建服务
AT+BLEGATTSSRVSTART //GATTS 开启全部服务。
AT+BLEADDR?  //ESP32 蓝牙 LE 服务器获取其 MAC 地址。
AT+BLEADVPARAM=50,50,0,0,7,0,,  //ESP32 Bluetooth LE 服务端设置广播参数。
AT+BLENAME="AiThinker"
AT+BLEADVDATA="0201060A0941695468696E6B6572"
AT+BLEADVSTART //

4,串口工具。扩展里发送多条指令,记得勾选“加回车换行”。

5,BLE调试助手。

6,连接成功之后,串口工具提示

+BLECONN:0,"69:60:2c:27:27:14"
+BLECONNPARAM:0,0,0,6,0,500
+BLECONNPARAM:0,0,0,9,0,2000

7,app发送数据,串口接收。

三,总结。

1,发送单个字符,速度还是比较快的,但是多个字符明显慢了,不知道什么原因。

2,断开连接之后,助手不能再发现模块了,须模块发送“AT+BLEADVSTART”指令。

3,手机自带蓝牙发现不了,必须再BLE调试助手中发现设备。

4,最后想实现透传,还没实现。

相关内容

热门资讯

"汉堡小成马卡龙&q... 近期,有不少网友 在社交媒体晒出 耳机盒与汉堡包的对比照片 调侃“麦当劳这是汉堡包 还是马卡龙”? ...
任正非:理论科学家是孤独的,我... 6月10日消息,近日,在深圳华为总部,围绕大众关心的一些热点话题,与华为首席执行官任正非面对面交流。...
友阿股份:筹划发行股份及支付现... 11月26日消息,友阿股份公告,公司正在筹划发行股份及支付现金方式购买资产事项,因有关事项尚存不确定...
新股N红四方持续走高一度涨超2... 11月26日消息,新股N红四方复牌后持续走高一度涨超2100%,成交金额超18亿,股价一度超180元...
“死了么”APP改名 1月13日,死了么APP发布消息称,经团队审慎决策,"死了么"APP将于即将发布的新版本中,正式启用...
贵州茅台,只有一个核心 斑马消费 杨伟1499飞天茅台酒在i茅台上线后,身边的朋友趋之若鹜,不管能不能打到枣,先挥两杆子再说...
特朗普建议盟友“撤离”伊朗 来源:新华国际头条特朗普建议盟友“撤离”伊朗美国总统特朗普13日在底特律回答记者有关美国是否建议盟友...
*ST东晶:独董傅宝善涉嫌内幕... 2026年1月13日晚间,*ST东晶(002199.SZ)发布公告称,公司独立董事傅宝善因涉嫌内幕交...
巨头“牵手”!苹果谷歌官宣合作 当地时间12日,美国谷歌公司与苹果公司宣布达成一项为期多年的协议,苹果选定谷歌的人工智能模型“双子座...
中国金龙指数跌1.84%,摩根... *中概股普遍承压*摩根大通财报表现不及预期,金融板块承压*芯片与部分板块走强,费城半导体指数创新高美...