文章目录
- 常用的蓝牙模块有哪几种?
- 蓝牙的透传
- 蓝牙的运行模式
- 开发方式
- AT指令集开发方式
- AT指令集
- BT-05调试
- 硬件图
- DX-BT05 4.0蓝牙模块介绍
- 连接步骤:
- 常用的几个AT指令
- 主模式的AT指令
常用的蓝牙模块有哪几种?
- 蓝牙主要有HC-05、HC-06、BT-04、BT-05等型号的蓝牙,它们在使用、控制等方面存在一些区别。
参考博文:蓝牙模块调试总结(BLE\HC-05\HC-06\HC-01\MLT-BT05)
蓝牙的透传
蓝牙模块支持透传
透传,又称透明传输,具体来说就是“输入即输出(如从WiFi模块串口输入的字符会透传到服务器端)”,数据不改变,不同协议之间的转换(如串口到WiFi、蓝牙等)由模块完成。使用者无需关心内部具体实现,因此模块对于使用者是“透明的”、似乎不存在的(因为可无视中间的实现原理)。一个高度封装的模块,应该隐藏内部实现细节,仅对外提供使用接口。
蓝牙的运行模式
-
蓝牙模块支持多种运行模式:从设备模式、主设备模式、广播模式、Mesh组网模式【常见的蓝牙模块的工作模式你了解几种?一文介绍4种】
-
注意:以上讨论的各种型号的蓝牙模块的一个重要区别在于
HC-06和BT04只支持从设备模式
,而HC-05支持从设备模式,也支持主设备模式
。也正是因为这一点,也导致了它们的第二个重要区别:它们的AT指令不同。
开发方式
AT指令集开发方式
接线方式:
USB转TTL | 蓝牙模块 |
---|---|
RX | TX |
TX | RX |
5V | 5V |
GND | GND |
AT指令集
-
首先需要明确一点,那就是不同型号的蓝牙的AT指令是不完全一样的,一定要参考手册,而且AT指令只有蓝牙在AT状态下才能有效。
-
注意:部分蓝牙模块AT指令之后要加回车(\r\n),有些不用,可以在XCOM软件设置
发送新行
则无须在输入框按下回车键或\r\n,且AT指令不分大小写。 -
HC-06也和BT-04一样,一旦上电即进入AT模式,不连接的状态下。
BT-04的AT指令需要换行
。HC-06的AT指令不需要回车换行
。BT-04和HC-06默认的波特率为9600 -
HC-05直接连接USB转TTL是无法进入AT模式的,
需要先按住按钮再上电,这样就能进入到AT模式,此时灯为慢闪状态
;而如果直接上电,指示灯为快闪状态,这种状态为等待连接状态,AT指令无效。且HC-05进入AT模式默认的波特率为38400
BT-05调试
硬件图
DX-BT05 4.0蓝牙模块介绍
带底板的模块一共有6个引脚,分别是:
项目 | Value |
---|---|
STATE | 连接状态引脚 |
RXD | 串口接收引脚 |
TXD | 串口发送引脚 |
GND | 电源地 |
VCC | 供电电源3.3V |
EN | 空引脚 |
-
从蓝牙 4.0 开始有两个分支,经典 4.0 和 BLE4.0,经典 4.0 就是传统的3.0 蓝牙升级而成,向下兼容。而 BLE 4.0 是一个新的分支,不向下兼容。BLE 是 Bluetooth Low Energy 低功耗蓝牙的缩写,顾名思义,其功耗较低。
-
BLE 不是设计为传输大量数据的,但是其有距离远(100 英尺/60 米),功耗低(休眠模式下 9~800uA)等优势
-
使用前要先在AT模式进行配置。配置蓝牙名称、密码、波特率、主从机等(AT指令),蓝牙模块指示灯快闪是普通模式,慢闪是进入AT模式。
-
led 指示蓝牙连接状态,闪烁表示没有蓝牙连接,常亮表示蓝牙已连接并打开了端口,STATE 脚输出高电平为已连接,其他状态为低电平。蓝牙连接以后自动切换到透传模式
-
请勿在设置里面搜索蓝牙,手机系统默认在经典模式下,不支持搜索 BLE 4.0 蓝牙 。
-
AT 指令不区分大小写,均以回车、换行字符结尾:\r\n
-
DX-BT05 4.0 蓝牙串口模块AT 指令集为 Command 指令集
连接步骤:
- 看到蓝牙模块上的指示灯开始慢闪,就是进入了AT模式
- 在XCOM上位机中设置波特率为9600bps或115200【默认值可能不一样】
- 发 AT 指令时必须回车换行【在XCOM软件设置
发送新行
则无须在输入框按下回车键或\r\n】, AT 指令只能在模块未连接状态下才能生效,一旦蓝牙模块与设备连接上,蓝牙模块即进入数据透传模式
- 模块重新上电,返回正常模式,输入配对码,连接蓝牙,打开手机端蓝牙调试助手,建立蓝牙通信
常用的几个AT指令
测试指令:
AT
查看模块AT指令集:
AT+HELP\r\n
获取软件版本号:
AT+VERSION
获取模块蓝牙地址:
AT+LADDR
设置/查询设备名称:
AT+NAME DX-BT05\r\n ——设置模块设备名为:“DX-BT05”【NAME后有空格】
AT+NAME ——查询模块设备名
设置/查询-配对码:
AT+PIN123123\r\n——配对码(自己随意设置)【PIN后无空格】
AT+PIN—— 默认值:123456
PIN码只能为6位!
设置/查询-波特率:
AT+BAUD5——5表示波特率为19200
AT+BAUD——查询波特率
1——1200
2——2400
3——4800
4——9600
5——19200
6——38400
7——57600
8——115200
9——230400
- 如果修改了串口的波特率,则需要关闭串口后重新设置串口助手的波特率,否则可能出现无法接受数据或乱码的情况。
设置/查询—串口停止位:
AT+STOP0——设置校验位为0
AT+STOP ——查询停止位
0——1 停止位
1——2 停止位
设置/查询—串口校验位
AT+PARI0——设置校验位为无校验位
AT+PARI——查询校验位
0——无校验
1——奇校验
2——偶校验
设置/查询—主/从模式:
AT+ROLE0——设置为主模式
AT+ROLE——查询模式
Param:(0、1)
0——从设备
1——主设备
默认值:0
设置/查询—模块鉴权工作类型:(重启生效)
AT+TYPE0——设置为无密码
AT+TYPE——查询模块鉴权工作类型
Param:(0~3)
0——无密码
1——简易配对
2——密码配对
3——密码配对并绑定
默认值为0
软件重启(500ms 后重启):
AT+RESET——发送AT回车,显示OK。也可以改蓝牙名称,但其他的指令几乎都不可以的时候使用
主模式的AT指令
- 主模块连接从模块需要通过 AT 指令进行连接(详情请参照 BT05 AT 指令集)
参考博文:【嵌入式模块】蓝牙模块使用总结