凌风清羽 发表于 2016-4-30 23:01:16

【转载】蓝牙HC05模块探究-设置AT指令

蓝牙HC05是主从一体的蓝牙串口模块,简单的说,当蓝牙设备与蓝牙设备配对连接成功后,我们可以忽视蓝牙内部的通信协议,直接将将蓝牙当做串口用。当建立连接,两设备共同使用一通道也就是同一个串口,一个设备发送数据到通道中,另外一个设备便可以接收通道中的数据。当然,对于建立这种通道连接是有一定条件,那就是对蓝牙设置好能进行配对连接的AT模式。 一般的蓝牙串口模块引脚:
RXD:接收端
TXD:发送端
AT:设置工作模式(1、工作模式 2、AT指令设置模式)
VCC:模块供电正极(5V)
GND:模块供电负极
例如:
http://www.arduino.cn/data/attachment/forum/201304/19/222958x6uvf3uvhigi29m7.jpg
一般的蓝牙模块使用有三种。
第一:蓝牙从设备与电脑配对连接(1、电脑自带蓝牙 2、电脑不带蓝牙,这事需要蓝牙适配器)
第二:蓝牙从设备与手机配对连接
第三:蓝牙从设备与蓝牙主设备配对连接
HC05蓝牙模块的AT模式设置的方法大致有三种:一、默认设置二、用USB转UART模块设置三、用带有蓝牙设置的主控器串口程序进行设置
第一:主要默认设置:
    模块工作角色:从模式
    串口参数:38400bits/s 停止位1位无校验位
    配对码:1234
    设备名称:HC-05
    连接模式:任意蓝牙设备连接模式(恢复默认设置 AT指令:AT+ORGL)
第二:用USB to UART模块设置蓝牙
http://www.arduino.cn/data/attachment/forum/201304/19/222954fo2f2hjp622j7z66.jpg
    蓝牙与USB转串口模块连接方式,RXD-TX TXD-RX VCC-VCC GND-GND
    要设置蓝牙AT指令,必须让AT引脚置高,然后接上蓝牙模块,当蓝牙模块state灯变为慢闪,则表明已经进入AT模式。(j将蓝牙模块与转串口模块对插,用跳线将AT对应的引脚接VCC)这时候将转串口模块接入电脑,打开超级终端或者串口调试助手便可以开始设置AT模式。
    打开串口调试助手,测试AT指令,找到相应串口号后,注意两点,1、设置AT模式的波特率为38400 2、输入指令后加上回车后换行,发送后返回OK。(串口调试助手下载地址:http://www.arduino.cn/forum.php?mod=viewthread&tid=1183 )
http://www.arduino.cn/data/attachment/forum/201304/19/223207h0zgye0sfjg6c1kg.jpg
下面来设置模块为从机模式,依次输入指令
AT+NAME=Bluetooth-Slave蓝牙名称为Bluetooth-Slave
AT+ROLE=0                蓝牙模式为从模式
AT+CMODE=0               蓝牙连接模式为任意地址连接模式
AT+PSWD=1234             蓝牙配对密码为1234
AT+UART=9600,0,0       蓝牙通信串口波特率为9600,停止位1位,无校验位
AT+RMAAD               清空配对列表
相应返回OK表示设置成功。这个时候的蓝牙就可以与电脑主机或者手机配对通信。需要注意的是设置指令里的符号不要在中文状态下输入,否则不会返回相应指令。

第三:用Arduino配置蓝牙AT指令
步骤一 给Arduino下载程序

#define AT 2
#define LED 13
void setup()
{
       pinMode(LED,OUTPUT);
       pinMode(AT,OUTPUT);
       digitalWrite(AT,HIGH);
       Serial.begin(38400);//这里应该和你的模块通信波特率一致
       delay(100);
       Serial.println("AT");
       delay(100);
       Serial.println("AT+NAME=OPENJUMPER-Bluetooth");//命名模块名
       delay(100);
       Serial.println("AT+ROLE=0");//设置主从模式:0从机,1主机
       delay(100);
       Serial.println("AT+PSWD=1234");//设置配对密码,如1234
       delay(100);
       Serial.println("AT+UART=9600,0,0");//设置波特率9600,停止位1,校验位无
       delay(100);
       Serial.println("AT+RMAAD");//清空配对列表
}
void loop()
{
       digitalWrite(LED, HIGH);
       delay(500);
       digitalWrite(LED, LOW);
       delay(500);
}
步骤二 蓝牙与Ardino连线 RXD-TX TXD-RX VCC-VCC GND-GND AT-2 (当很多传感器扩展板带有蓝牙模块接口,则可以直接将蓝牙插在扩展板上接口,不用麻烦接线)。
步骤三 按下Arduino的复位按键,让程序开始运行一次,当发现板载L灯500ms闪烁时则表明已设置成功。

两个蓝牙模块配对连接教程:(具体AT指令参考HC05AT指令集)
简单说 一个蓝牙设置为主机,一个蓝牙设置为从机,设置对应密码波特率AT指令后,自动连接配对。


第一步:准备好做主机的蓝牙模块,用cp2102转串口模块连接蓝牙并进入AT设置模式(指示灯慢闪)
分别输入下面AT指令 (注意输入指令后加上回车后换行,发送后返回OK表示设置成功,如下指令是一条一条输入,切勿所有一起输入再点发送。设置完成后可以通过AT指令类似AT+NAME?这样的指令查询刚刚设置是否成功,具体参考HC05AT指令集)


AT+NAME=Bluetooth-Master蓝牙主机名称为Bluetooth-Master
AT+ROLE=1                蓝牙模式为主模式
AT+CMODE=1            蓝牙连接模式为任意地址连接模式
AT+PSWD=1234             蓝牙配对密码为1234
AT+UART=9600,0,0       蓝牙通信串口波特率为9600,停止位1位,无校验位
AT+RMAAD               清空配对列表


第二步:准备好做从机的蓝牙模块用cp2102转串口模块连接蓝牙并进入AT设置模式(指示灯慢闪)
分别输入下面AT指令 (注意输入指令后加上回车后换行,发送后返回OK表示设置成功)
(如果设置没有效果可以先恢复出厂设置AT+ORGL)


AT+NAME=Bluetooth-Slave蓝牙名称为Bluetooth-Slave
AT+ROLE=0                蓝牙模式为从模式
AT+CMODE=1            蓝牙连接模式为任意地址连接模式
AT+PSWD=1234             蓝牙配对密码为1234
AT+UART=9600,0,0       蓝牙通信串口波特率为9600,停止位1位,无校验位
AT+RMAAD               清空配对列表

第三步:分别给主模块和从模块选择进入工作模式,并重新上电。两个模块会自动连接然后配对,这样后,状态灯会出现慢闪烁指示。

凌风清羽 发表于 2016-4-30 23:01:59

Hc-05千万要注意电压啊,今晚一下毁了两个,呜呜~~~~(>_<)~~~~

hnyzcj 发表于 2016-5-1 07:06:49

凌风清羽 发表于 2016-4-30 23:01
Hc-05千万要注意电压啊,今晚一下毁了两个,呜呜~~~~(>_

zhe这个东西这么容易挂

大连林海 发表于 2016-5-1 07:52:42

凌风清羽 发表于 2016-4-30 23:01
Hc-05千万要注意电压啊,今晚一下毁了两个,呜呜~~~~(>_

看 你把另一个帖子的版主都吓到了 哈哈

凌风清羽 发表于 2016-5-1 14:22:17

大连林海 发表于 2016-5-1 07:52
看 你把另一个帖子的版主都吓到了 哈哈

哈哈,是我的电压不稳

凌风清羽 发表于 2016-5-1 14:22:53

hnyzcj 发表于 2016-5-1 07:06
zhe这个东西这么容易挂

应该是我的电压不稳,最好直接用3.3V,不要用上面的5V接口

dsweiliang 发表于 2016-5-4 09:38:11

学习学习

孙毅 发表于 2016-6-12 09:57:01

6666666!
求带飞!

凌风清羽 发表于 2016-6-13 12:21:34

孙毅 发表于 2016-6-12 09:57
6666666!
求带飞!

哈哈,搞定了没

孙毅 发表于 2016-6-13 23:31:01

凌风清羽 发表于 2016-6-13 12:21
哈哈,搞定了没

你竟然还有空回帖子?!
必须搞定啊,我是大圣啊。。。。
当然,得有你这个如来罩着!

20060606 发表于 2020-8-16 07:33:32

感谢分享
页: [1]
查看完整版本: 【转载】蓝牙HC05模块探究-设置AT指令