【保姆级】ECB02系列蓝牙模块超全使用指南
一、选型参考
如图所示ECB02系列蓝牙模块有各种不同类型的型号,不同型号的模块其支持的功能不尽相同。大家选择前请参考下方的产品特点以及项目所需功能按需选择。本教程为入门教程选用低成本性价比高的ECB02H2
模块举例说明。
二、模块介绍
此模块引脚简单,只有电源以及两个串口线,因此通常用来直接将此模块作为蓝牙透传功能使用,只用来作为数据收发配对,无复杂操作。
ECB02H2模块引脚说明
以上为引脚用途说明,使用时请按照对应连线进行正确接线,尤其是电源线别接错了,否则容易烧毁模块!!!
LED
作为模块工作的指示灯,自行观察区分状态
三、硬件连接说明
RXD\TXD
连接单片机的设定的串口引脚或者TTL的TXD\RXD
(反过来)连接。电源连接与单片机一样的输出口就行,切记不要3.3v连接5v输出,容易烧模块,当然亲测我的这个连接5V好像没啥事,不过最好看看相关电气参数!
四、配置验证
与USB转TTL相连后接入电脑,将波特率设置成115200
,模块指示灯闪烁,这时打开串口助手,输入AT指令再回车就可以发送AT指令了。
注意:记得勾选在串口发送数据后追加\r\n !!!
-> AT
-> OK
进入AT模式成功
五、AT指令详细列表及使用方法
注意:不同版本的蓝牙模块可能不支持部分AT命令,请自行测试
1. 基础测试与查询
指令 | 功能 | 示例 | 返回值 |
---|---|---|---|
AT\r\n | 测试串口是否正常 | AT\r\n | OK\r\n |
AT+MODEL?\r\n | 查询模块型号 | AT+MODEL?\r\n | +MODEL:ECB02S\r\nOK\r\n |
AT+VER?\r\n | 查询软件版本 | AT+VER?\r\n | +VER:1.0.0\r\nOK\r\n |
AT+RST\r\n | 模块复位 | AT+RST\r\n | OK\r\n |
AT+ECHO?\r\n | 查询是否回显 | AT+ECHO?\r\n | +ECHO:1\r\nOK\r\n 或 +ECHO:0\r\nOK\r\n |
AT+ECHO=0\r\n 或 AT+ECHO=1\r\n | 设置回显(0:关闭,1:开启) | AT+ECHO=0\r\n | OK\r\n |
2. 主从机模式
指令 | 功能 | 示例 | 返回值 |
---|---|---|---|
AT+ROLE?\r\n | 查询主从机模式 | AT+ROLE?\r\n | +ROLE:Central\r\nOK\r\n 或 +ROLE:Peripheral\r\nOK\r\n |
AT+ROLEMODE?\r\n | 查询主从机配置 | AT+ROLEMODE?\r\n | +ROLEMODE:0\r\nOK\r\n 或 +ROLEMODE:1\r\nOK\r\n 或 +ROLEMODE:2\r\nOK\r\n |
AT+ROLE=0\r\n | 设置主从机模式由引脚配置 | AT+ROLE=0\r\n | OK\r\n |
AT+ROLE=1\r\n | 设置为主机模式 | AT+ROLE=1\r\n | OK\r\n |
AT+ROLE=2\r\n | 设置为从机模式 | AT+ROLE=2\r\n | OK\r\n |
3. AT模式与通信
指令 | 功能 | 示例 | 返回值 |
---|---|---|---|
AT+MODE?\r\n | 查询AT模式 | AT+MODE?\r\n | +MODE:0\r\nOK\r\n 或 +MODE:1\r\nOK\r\n 或 +MODE:2\r\nOK\r\n |
AT+MODE=0\r\n | 设置AT模式由引脚配置 | AT+MODE=0\r\n | OK\r\n |
AT+MODE=1\r\n | 设置AT命令有效,非AT命令透传 | AT+MODE=1\r\n | OK\r\n |
AT+MODE=2\r\n | 设置所有数据透传,AT命令无效 | AT+MODE=2\r\n | OK\r\n |
4. 功耗与状态
指令 | 功能 | 示例 | 返回值 |
---|---|---|---|
AT+SLEEP?\r\n | 查询睡眠配置 | AT+SLEEP?\r\n | +SLEEP:0\r\nOK\r\n 或 +SLEEP:1\r\nOK\r\n |
AT+SLEEP=0\r\n | 禁止模块进入睡眠 | AT+SLEEP=0\r\n | OK\r\n |
AT+SLEEP=1\r\n | 允许模块通过引脚进入睡眠 | AT+SLEEP=1\r\n | OK\r\n |
AT+LED?\r\n | 查询LED显示状态 | AT+LED?\r\n | +LED:0\r\nOK\r\n 或 +LED:1\r\nOK\r\n |
AT+LED=0\r\n | 关闭LED显示 | AT+LED=0\r\n | OK\r\n |
AT+LED=1\r\n | 打开LED显示 | AT+LED=1\r\n | OK\r\n |
5. 蓝牙连接与通信
指令 | 功能 | 示例 | 返回值 |
---|---|---|---|
AT+CONNOTIFY?\r\n | 查询连接状态通知 | AT+CONNOTIFY?\r\n | +CONNOTIFY:0\r\nOK\r\n 或 +CONNOTIFY:1\r\nOK\r\n |
AT+CONNOTIFY=0\r\n | 关闭连接状态通知 | AT+CONNOTIFY=0\r\n | OK\r\n |
AT+CONNOTIFY=1\r\n | 开启连接状态通知 | AT+CONNOTIFY=1\r\n | OK\r\n |
AT+LINK?\r\n | 查询蓝牙连接状态 | AT+LINK?\r\n | +LINK:OnLine\r\nOK\r\n 或 +LINK:OffLine\r\nOK\r\n |
AT+DISC\r\n | 断开蓝牙连接 | AT+DISC\r\n | OK\r\n |
AT+BLENOTIFY?\r\n | 查询蓝牙订阅状态 | AT+BLENOTIFY?\r\n | +BLENOTIFY:0\r\nOK\r\n 或 +BLENOTIFY:1\r\nOK\r\n |
6. 高级功能
指令 | 功能 | 示例 | 返回值 |
---|---|---|---|
AT+OFF\r\n | 进入关机模式 | AT+OFF\r\n | OK\r\n |
AT+FACTORY\r\n | 恢复出厂设置 | AT+FACTORY\r\n | OK\r\n |
AT+BTAT?\r\n | 查询蓝牙AT状态 | AT+BTAT?\r\n | +BTAT:0\r\nOK\r\n 或 +BTAT:1\r\nOK\r\n |
AT+BTAT=0\r\n 或 AT+BTAT=1\r\n | 设置蓝牙AT功能(0:关闭,1:开启) | AT+BTAT=1\r\n | OK\r\n |
AT+UART?\r\n | 查询串口波特率 | AT+UART?\r\n | +UART:115200\r\nOK\r\n |
AT+UART=X\r\n | 设置串口波特率(X为波特率值) | AT+UART=9600\r\n | OK\r\n |
AT+MTU?\r\n | 查询MTU值 | AT+MTU?\r\n | +MTU:23\r\nOK\r\n 或 +MTU:247\r\nOK\r\n |
7. 蓝牙配置
指令 | 功能 | 示例 | 返回值 |
---|---|---|---|
AT+POWE?\r\n | 查询蓝牙功率 | AT+POWE?\r\n | +POWE:3\r\nOK\r\n |
AT+POWE=X\r\n | 设置蓝牙功率(X为0-9) | AT+POWE=7\r\n | OK\r\n |
AT+SUUID?\r\n | 查询服务UUID | AT+SUUID?\r\n | +SUUID:FFF0\r\nOK\r\n |
AT+SUUID=XXXX\r\n | 设置服务UUID | AT+SUUID=FFE0\r\n | OK\r\n |
AT+RUUID?\r\n | 查询读特性UUID | AT+RUUID?\r\n | +RUUID:FFF1\r\nOK\r\n |
AT+RUUID=XXXX\r\n | 设置读特性UUID | AT+RUUID=FFF1\r\n | OK\r\n |
AT+WUUID?\r\n | 查询写特性UUID | AT+WUUID?\r\n | +WUUID:FFF2\r\nOK\r\n |
AT+WUUID=XXXX\r\n | 设置写特性UUID | AT+WUUID=FFF2\r\n | OK\r\n |
AT+NAME?\r\n | 查询蓝牙名字 | AT+NAME?\r\n | +NAME:MyDevice\r\nOK\r\n |
AT+NAME=X\r\n | 设置蓝牙名字 | AT+NAME=MyDevice\r\n | OK\r\n |
AT+MAC?\r\n | 查询MAC地址 | AT+MAC?\r\n | +MAC:001122334455\r\nOK\r\n |
AT+MAC=XXXXXXXXXXXX\r\n | 设置MAC地址 | AT+MAC=001122334455\r\n | OK\r\n |
AT+ADVINT?\r\n | 查询广播间隙 | AT+ADVINT?\r\n | +ADVINT:200\r\nOK\r\n |
AT+ADVINT=X\r\n | 设置广播间隙 | AT+ADVINT=3\r\n | OK\r\n |
8. 连接参数
指令 | 功能 | 示例 | 返回值 |
---|---|---|---|
AT+CONINTMIN?\r\n | 查询连接间隙最小值 | AT+CONINTMIN?\r\n | +CONINTMIN:6\r\nOK\r\n |
AT+CONINTMIN=X\r\n | 设置连接间隙最小值 | AT+CONINTMIN=160\r\n | OK\r\n |
AT+CONINTMAX?\r\n | 查询连接间隙最大值 | AT+CONINTMAX?\r\n | +CONINTMAX:12\r\nOK\r\n |
AT+CONINTMAX=X\r\n | 设置连接间隙最大值 | AT+CONINTMAX=180\r\n | OK\r\n |
AT+LATENCY?\r\n | 查询从机潜伏 | AT+LATENCY?\r\n | +LATENCY:0\r\nOK\r\n |
AT+LATENCY=X\r\n | 设置从机潜伏 | AT+LATENCY=4\r\n | OK\r\n |
AT+CONTIMEOUT?\r\n | 查询连接超时 | AT+CONTIMEOUT?\r\n | +CONTIMEOUT:300\r\nOK\r\n |
AT+CONTIMEOUT=X\r\n | 设置连接超时 | AT+CONTIMEOUT=600\r\n | OK\r\n |
9. 主机模式
指令 | 功能 | 示例 | 返回值 |
---|---|---|---|
AT+SCANMAX?\r\n | 查询扫描从机最大数 | AT+SCANMAX?\r\n | +SCANMAX:10\r\nOK\r\n |
AT+SCANMAX=X\r\n | 设置扫描从机最大数 | AT+SCANMAX=20\r\n | OK\r\n |
AT+SCANTIME?\r\n | 查询扫描时间 | AT+SCANTIME?\r\n | +SCANTIME:500\r\nOK\r\n |
AT+SCANTIME=X\r\n | 设置扫描时间 | AT+SCANTIME=1000\r\n | OK\r\n |
AT+SCAN\r\n | 开始扫描从机 | AT+SCAN\r\n | +SCAN:3\r\n0,null,5081E95F09BD,-68\r\n1,ABC,5081E95F09BA,-68\r\n2,DQD,5081E95F09BE,-68\r\nOK\r\n |
AT+LIST=X\r\n | 获取设备列表中的设备 | AT+LIST=1\r\n | 1,ABC,5081E95F09BA,-68\r\nOK\r\n |
AT+CONNECT=X\r\n | 连接设备 | AT+CONNECT=1\r\n | OK\r\n |
AT+BOND?\r\n | 查询绑定的从机 | AT+BOND?\r\n | +BOND:NAME,ABC\r\nOK\r\n 或 +BOND:MAC,5081E95F09BA\r\nOK\r\n |
AT+BONDC\r\n | 清除绑定的从机 | AT+BONDC\r\n | OK\r\n |
AT+BONDNAME=X\r\n | 设置绑定从机蓝牙名字 | AT+BONDNAME=ABC\r\n | OK\r\n |
AT+BONDMAC=X\r\n | 设置绑定从机MAC地址 | AT+BONDMAC=5081E95F09BA\r\n | OK\r\n |
六、常见蓝牙使用场景及详细AT指令流程
场景1:蓝牙模块作为从机,与手机APP连接
目标:将蓝牙模块配置为从机模式,设置蓝牙名字和广播间隙,并允许手机APP连接。
步骤:
-
设置模块为从机模式:
AT+ROLE=2\r\n
返回:
OK\r\n
-
设置蓝牙名字:
AT+NAME=MyPeripheral\r\n
返回:
OK\r\n
-
设置广播间隙为200ms:
AT+ADVINT=3\r\n
返回:
OK\r\n
-
设置连接参数为低功耗模式:
AT+CONPARAM=1\r\n
返回:
OK\r\n
-
查询当前配置:
AT+ROLE?\r\n AT+NAME?\r\n AT+ADVINT?\r\n AT+CONPARAM?\r\n
返回:
+ROLE:Peripheral\r\nOK\r\n +NAME:MyPeripheral\r\nOK\r\n +ADVINT:200\r\nOK\r\n +CONPARAM:160,180,4,600\r\nOK\r\n
-
模块上电后,手机APP扫描并连接模块。
场景2:蓝牙模块作为主机,自动连接到指定从机
目标:将蓝牙模块配置为主机模式,并绑定一个从机设备,实现自动连接。
步骤:
-
设置模块为主机模式:
AT+ROLE=1\r\n
返回:
OK\r\n
-
扫描周围的蓝牙设备:
AT+SCAN\r\n
返回:
+SCAN:3\r\n 0,null,5081E95F09BD,-68\r\n 1,MyPeripheral,5081E95F09BA,-68\r\n 2,DQD,5081E95F09BE,-68\r\n OK\r\n
-
绑定从机蓝牙名字或MAC地址:
AT+BONDNAME=MyPeripheral\r\n
或者:
AT+BONDMAC=5081E95F09BA\r\n
返回:
OK\r\n
-
查询绑定信息:
AT+BOND?\r\n
返回:
+BOND:NAME,MyPeripheral\r\nOK\r\n
-
模块上电后自动连接绑定的从机:
-
如果连接成功,模块会返回:
CONNECT OK\r\n
-
如果连接失败,模块会返回:
CONNECT FAIL\r\n
-
-
断开连接:
AT+DISC\r\n
返回:
OK\r\n
场景3:调整蓝牙通信的功耗与性能
目标:根据实际需求调整蓝牙模块的连接参数,以优化功耗或性能。
步骤:
-
查询当前连接参数:
AT+CONINTMIN?\r\n AT+CONINTMAX?\r\n AT+LATENCY?\r\n AT+CONTIMEOUT?\r\n
返回:
+CONINTMIN:6\r\nOK\r\n +CONINTMAX:12\r\nOK\r\n +LATENCY:0\r\nOK\r\n +CONTIMEOUT:300\r\nOK\r\n
-
调整连接参数以降低功耗:
AT+CONINTMIN=160\r\n AT+CONINTMAX=180\r\n AT+LATENCY=4\r\n AT+CONTIMEOUT=600\r\n
返回:
OK\r\n
-
验证调整后的参数:
AT+CONINTMIN?\r\n AT+CONINTMAX?\r\n AT+LATENCY?\r\n AT+CONTIMEOUT?\r\n
返回:
+CONINTMIN:160\r\nOK\r\n +CONINTMAX:180\r\nOK\r\n +LATENCY:4\r\nOK\r\n +CONTIMEOUT:600\r\nOK\r\n
-
测试连接并观察功耗变化。
场景4:恢复模块出厂设置并重新配置
目标:将蓝牙模块恢复到出厂设置,并重新进行基本配置。
步骤:
-
恢复出厂设置:
AT+FACTORY\r\n
返回:
OK\r\n
-
查询模块当前状态:
AT+ROLE?\r\n AT+NAME?\r\n AT+ADVINT?\r\n
返回:
+ROLE:Peripheral\r\nOK\r\n +NAME:DefaultName\r\nOK\r\n +ADVINT:200\r\nOK\r\n
-
重新配置模块:
AT+ROLE=2\r\n AT+NAME=MyNewDevice\r\n AT+ADVINT=3\r\n
返回:
OK\r\n
-
验证配置是否生效:
AT+ROLE?\r\n AT+NAME?\r\n AT+ADVINT?\r\n
返回:
+ROLE:Peripheral\r\nOK\r\n +NAME:MyNewDevice\r\nOK\r\n +ADVINT:200\r\nOK\r\n
七、总结
通过上述详细的AT指令列表和场景示例,希望可以帮助你轻松地配置和使用ECB02蓝牙模块。无论是将模块设置为从机模式与手机APP连接,还是作为主机模式自动连接从机,都可以通过串口使用简单的AT指令完成。希望这份指南能帮助你快速上手并实现蓝牙模块的各种功能。