好久没有更新博客了,把以前做的一个需要用到两个蓝牙模块配对的小项目参考网上做的教程重新整理的配对设置教程发上来
实现蓝牙模块的互相配对需要一个HC05主模块和一个HC06从模块
HC05与HC06蓝牙模块长得很像,怎么区分看下面:
HC05模块上有个按键
HC06模块上没有按键
设置蓝牙模块还需要一个USB转TTL的工具
蓝牙模块与USB转TTL接线
RXD <———> TXD
TXD <———> RXD
VCC <———> 5V
GND <———> GND
我们需要一个串口助手软件
步骤一:HC06蓝牙模块设置
- 1.设置波特率为9600
- 2.打开串口
- 3.发送区输入AT
- 4.点击发送
- 5.接收区看到OK即说明进入AT模式了
HC06波特率更改
发送:AT+BAUD4 返回:OK9600 HC06是不可以查询它的波特率
波特率标号对应表:
1———1200
2———2400
3———4800
4———9600(默认)
5———19200
6———38400
7———57600
8———115200
9———230400
A———460800
B———921600
C———1382400
HC06的密码更改
发送:AT+PIN1234 ,这将密码改成1234,对于HC06,你是不可以查询它的密码
HC06改蓝牙名称
发送:AT+NAMEname 返回:OKname
步骤二:HC05蓝牙模块的设置
HC05与USB转TTL接好线后,按着HC05蓝牙模块上的按键,再把USB转TTL接上电脑的USB接口,打开串口助手软件
- 1.设置波特率为38400
- 2.打开串口
- 3.发送区输入AT然后加个回车,不然发送没效果
- 4.点击发送
- 5.在接收区里返回OK即HC05蓝牙模块进入了AT命令模式
a.更改HC05蓝牙模块密码
AT+PSWD=1234 蓝牙配对密码为1234
AT+PSWD? 查询蓝牙模块密码b.更改HC05蓝牙模块波特率
AT+UART=9600,0,0 蓝牙通信串口波特率为9600,停止位1位,无校验位
AT+UART? 查询蓝牙模块波特率c.更改HC05蓝牙模块名称
AT+NAME=HC05 蓝牙模块名称改为HC05
AT+NAME? 查询蓝牙模块名称
步骤三:配对与连接
- 1.确保HC05和HC06有相同的密码
- 2.确保HC05和HC06有相同的波特率
- 3确保HC05进入了AT模式,然后在串口调试助手中输入以下指令
AT+RMAAD //清除所有已配对设备,你会收到”OK”的回复
AT+ROLE=1 //设置 HC05为主模块, 你会收到”OK”的回复
AT+CMODE=0 //允许 HC05 连接任何设备, 你会收到”OK”的回复
AT+INQM=0,5,9 //设置9秒内能搜索设备最多为5个, 你会收到”OK”的回复
AT+INIT //启动串口配置文件,你会收到”OK”的回复 //这个指令需要HC05的EN 管脚置高电平. 如果没有, 你不会收到任何回复
AT+INQ //搜索其他蓝牙设备, HC06, 你会收到类似如下的回复 ‘’+INQ:2016:12:215598,1F00,7FFF’’. 这返回了三个值, 第一个是 HC06的地址,这是我们需要的, 第二个是设备的种类 , 第三个是信号强度。这个指令只有在 HC05为主模块并且在 AT+INIT 指令之后才会生效。 - 4.使用指令
"AT+PAIR=<address>,<timeout>"
举例说明, 如果蓝牙地址是 2016:12:215598, 我需要输入 “AT+PAIR=2016,12,215598,9”. 在这个指令中, 9 代表HC05 会在9秒钟和HC06配对.如果配对失败, 你会收到一个error的回复,如果配对成功,你会收到”OK”的回复 - 5.使用指令”
"AT+BIND=<address>"
举例说明,如果蓝牙地址是2016:12:215598, 我需要输入 “AT+BIND=2016,12,215598” - 6.输入指令”AT+CMODE=1” 设置 HC05仅和已配对设备进行连接
- 7.输入指令
"AT+LINK=<address>"
连接HC06蓝牙模块
举例说明, 我需要输入 “AT+LINK=2016,12,215598”.
如果所有的步骤都完成了,最后你会收到”OK”的回复
步骤四:验证
现在HC05 和 HC06 应该已经配对成功并且相互连接
你会看到HC05的LED每2秒钟很快的闪 2下,HC06的LED一直亮,不闪烁,这表明连接已经建立,以后每次上电之后,HC05和HC06都会自动连接
这样你就可以愉快地用一个做遥控,一个做接收啦,做点遥控车啥的