参考资料
https://blog.csdn.net/xia3976/article/details/122199162
1、实验目的
验证蓝牙模块是不是好的,能不能AT指令改变查询配置;
验证设置从机模式,成功之后,用手机现成的蓝牙软件(实验室大群里面有),测试双方收发是否正常;
验证设置为主机模式的配置(下个实验抽空再做)
2、实验部分知识。
2.1 蓝牙模块
蓝牙模块有 命令响应工作模式(AT模式) 和 自动连接模式
自动连接工作模式下模块又可分为主(Master)、从(Slave)和回环(Loopback)三种工作角色。
配置蓝牙模块需要在AT模式下进行。
传输数据,模块需要处于自动连接模式下。
HC-05蓝牙模块是一款支持蓝牙2.0协议的串口蓝牙模块,具有以下基本功能和技术参数:
基本功能:
支持主从一体模式,可通过AT指令配置为主机或从机模式。
提供透明传输模式,方便实现串口设备的无线通讯。
内置LED指示灯,用于显示蓝牙连接状态。
技术参数:
工作电压:3.3V(兼容5V输入)
通讯距离:10米(空旷环境)
波特率:默认9600bps,可通过AT指令配置
支持UART接口,TXD、RXD、VCC、GND四个引脚
尺寸:37.3mm x 15.5mm
2.2 AT指令
**
常用AT命令:
**
AT+ORGL 恢复出厂默认设置
AT+VERSION? 返回HC-05的软件版本号
AT+NAME? 返回HC-05的名字
AT+NAME=car_uart 修改蓝牙模块的名字为car_uart
AT+UART? 返回蓝牙波特率
AT+UART=115200,0,0 设置串口波特率115200,1位停止位,无校验
【波特率 停止位: 0=1位,1=2位 校验位: 0=无校验,1=奇校验,2=偶校验 默认设置为9600,0,0】
AT+PSWD? 查询配对密码
AT+PSWD=“123456” 设置密码123456
AT+ROLE? 查询主从状态,=1:设置成主,=0:设置成从,=2:设置成回环
AT+ROLE=0 设置成从
主蓝牙:
1.设置配对码: AT+PINXXXX (XXXX为四位数字,并与从蓝牙的配对码保持一致)
2.设置蓝牙为主机: AT+ROLE=1 (0为从机,1为主机,2为回环角色)
3.设置蓝牙连接模式: AT+CMODE=0 (0是指定蓝牙地址连接模式,设置为0才能自动的连接绑定的地址)
4.设置蓝牙连接地址:AT+LINK=98d3:34:90c097(这里的地址是我事先在从蓝牙上查询到的地址,看别的博客是BIND命令,但是我不太清楚这两个命令有什么区别)
从蓝牙:
1.设置配对码: AT+PINXXXX (XXXX为四位数字,并与主蓝牙的配对码保持一致)
2.设置蓝牙为主机: AT+ROLE=0 (0为从机,1为主机,2为回环角色)
3.设置蓝牙连接模式: AT+CMODE=0 (0是指定蓝牙地址连接模式,设置为0才能自动的连接绑定的地址)
2.3主机从机模式
2.4 LED闪烁状态
1、通信模式,连线前
主机未记录从机地址时,快闪;
主机记录从机地址时,慢闪;
从机快闪。
2、通信模式,连线后
LED 两闪一停。
3、AT模式
LED 每 2 秒亮 1 秒。
3、实验步骤
准备杜邦线,准备USB转TTL模块或者51下载器,电脑安装一下串口助手软件,这里推荐用XCOM串口助手,用这个进行讲解。
3.1接线
USB转TTL模块 HC-05
5V/VCC ------> VCC
GND ------> GND
(TX) ------> RXD
(RX) ------> TXD
3.2 USB转TTL模块的驱动下载安装
如果电脑不能识别模块,那么需要安装驱动。
看设备管理器
没有驱动的话,自己网上搜索,安装一下驱动。
要看自己驱动的芯片是什么,一般是PL2303,CH340之类的芯片,如果是CH340的芯片,那么就百度这个安装。
3.3 让蓝牙模块进入AT模式。
步骤,用HC05板子上面的按键,实现进入AT模式
第一步,接好线;
USB转TTL模块 HC-05
5V/VCC ------> VCC
GND ------> GND
(TX) ------> RXD
(RX) ------> TXD
第二步,先不插入USB,用手按着HC05的按键;不放手,插入USB,看到HC05模块的LED灯闪烁;AT模式LED 每 2 秒亮 1 秒。
说明进入AT模式,其实我们不用管亮灭时间,大概慢亮慢灭就是。
3.4 用串口助手进行调试
打开XCOM软件,按照下面配置打开串口。在多条发送里面,可以写下常用的AT指令。点击指令右边的0123456789按钮,就能发送对应指令。
比如我们查询下当前模块的名字。看到应道名字是HC-05,因此当前模块名字就是这个。这些指令前面都是AT,所以叫做AT指令。
更改名字。改为HC05-002
再次查询一下名字,看一下是不是成功。
查询一下当前模块的通信波特率是多少。看到波特率是9600,如果另外一个通信,那就要一样的通信速度。
可以更改波特率是115200.再重新查询一下,是不是改变了。
查询,并且设置一下该模块的密码。和模块配对的时候,要输入密码,就像wifi一样。这里是1234,可以改为123456,同理设置之后,可以重新查询一下是否配置成功。
查询当前工作模式是什么。是0,因此是从机模式,只能被动接收连接。
比如我们手机如果也开蓝牙,然后搜索蓝牙,从机HC05不断发送蓝牙信号等待连接,手机搜索到之后,然后就配对,输入配对密码,就连接成功。
后面如果我们做蓝牙双模块相互通信,需要一个是主机模块,一个是从机模块。可以通过AT+ROLE=1设置为主机模式。
下面我们查询一下模块的地址,类似身份证。后面除了从地址中知道是不是这个模块,也可以从名字知道这个模块,名字可以改变,但是地址只能是一个,像人一样,只能是是一个身份证号码。AT+ADDR?
上述成功之后。我们把USB转TTL模块拔下来,断电,然后重新插上去,上电,这次不按下按键,会自动进入从机模式。这个时候HC05的板载LED快闪状态。
手机端连接蓝牙模块
我们用手机打开蓝牙,搜索蓝牙。看下有没有对应的蓝牙。
看到我的手机就是显示地址,重新刷新会显示蓝牙模块的名字。输入配对码。
连接成功。
手机安装软件。
手机蓝牙和HC05蓝牙模块连接成功之后,进行下面的步骤。
选择经典蓝牙。BLE是低功耗蓝牙,不一样。注意。我们这里用第一个。
我们点击Connect。
注意有时候不能一次连接成功,有时候需要关闭这个软件再打开进来链接。
手机如果之前连接成功之后,那么里面有配对列表,找到我们的蓝牙模块。
然后连接Connect。连接成功,页面有提示,然后点击DONE。
随便点击一个页面,然后点击Run。
这里我们选
电脑打开串口助手,重新设置波特率,和之前设置AT的蓝牙模块的蓝牙波特率一致,然后打开串口,
手机按下congji后面的SEND,发送命令。可以看到串口助手里面收到命令。随便输入,最多重新打开软件,连接蓝牙,重复上面的步骤等等。
congji这个可以自己编辑,发送数据。
电脑这边,也发送一下AT+Name这些命令。
看到手机也收到了。
也可以用单个命令发送。
也可以打开手机软件里面的其他模块,自己测试,比如滑杆,按钮这些东西。
本次实验先这样。后面自己编辑一个手机软件模块也可以的。
附录,常用AT