[HC-05]1.如何使用蓝牙模块HC-05进入AT模式?

最近在做课程设计 需要用到蓝牙模块 由于数据手册上写得比较难懂 所以整理资料后做此记录

1. HC-05模块介绍

在市场上hc-05模块有两种一种是有EN脚,另一种是KEY脚, 他们之间的差别在于进入AT模式的方法.


[HC-05]1.如何使用蓝牙模块HC-05进入AT模式?_第1张图片
EN引脚

[HC-05]1.如何使用蓝牙模块HC-05进入AT模式?_第2张图片
KEY引脚

引脚介绍:

  • STATE:led灯状态
  • RXD:Recibir Datos
  • TXD:Transmitir Dato
  • GND:GND
  • VCC:5v

EN脚的模块

  • EN:enable/disable 模块(一般不需要接)

KEY脚的模块

  • KEY: 3.3v 或者 5v (看模块) 进入AT模式

灯状态:

  • 不停闪烁:正常模式/等待连接模式
  • 2秒亮2秒灭: AT模式/配置模式
  • 每秒闪烁2次:连接成功

2.关于EN和KEY

若是EN脚的HC-05 模块每次进入AT模式需要按住板上的按钮后再给电。拥有KEY脚的模块就不需要,直接将KEY接VCC再模块给电即可。

如果觉得EN版的HC-05很麻烦也可以自己做一个KEY脚。下面图片你可以看见右边第一个焊接点就是KEY, 只要在这个点上在焊接条线我们就可以当成key脚来用。


[HC-05]1.如何使用蓝牙模块HC-05进入AT模式?_第3张图片

[HC-05]1.如何使用蓝牙模块HC-05进入AT模式?_第4张图片

3.如何进入AT模式?

这里使用Arduino来演示。
引脚接线:

  • KEY版HC-05


    [HC-05]1.如何使用蓝牙模块HC-05进入AT模式?_第5张图片
  • EN版HC-05
    VCC
    GND
    TXD -- pin6(Arduino)
    RXD -- pin7(Arduino)
    STATE -- 闲置
    EN --- 闲置

进入AT模式:
一般进入AT模式需要连接KEY到3.3v,但是我买的这个是EN版模块没KEY脚,打开AT模式需要按住上面的按钮然后连接电源才能开启AT模式。

Arduino代码

//在这里我们导入SoftwareSerial.h
#include 
 
//初始一个软件串口 serial2(Txd, Rxd)
SoftwareSerial serial2(6,7);
 
void setup() {
  //连接电脑串口
  Serial.begin(9600);
  //连接hc-05串口,AT模式默认串口速度是38400:
  serial2.begin(38400);
  Serial.println("init serial port AT");
}
 
void loop() {
  //把电脑输入串口的字符 写入到 hc-05 的串口中
  if(Serial.available())
    serial2.write(Serial.read());
  //把hc-05的串口输出的字符 输出到电脑串口中
  if(serial2.available())
    Serial.write(serial2.read());
}

注意: 串口窗口一定要换成 NL CR. 否则看不到hc-05模块的输出。

[HC-05]1.如何使用蓝牙模块HC-05进入AT模式?_第6张图片

  • 输入 AT 确认有没有进入AT模式,返回ok 说明已经进入。
    如果没反应或者返回ERROR,则看看hc-05的显示灯,每隔2秒闪烁说明已经 AT模式,Tx 和 Rx 可能接错。


    [HC-05]1.如何使用蓝牙模块HC-05进入AT模式?_第7张图片
  • 然后你就可以输入其他的AT指令

基本AT指令设置

指令 描述
AT+NAME? / AT+NAME= 询问模块名字 / 设置名字
AT+PSWD? / AT+PSWD= 询问密码 / 设置密码
AT+UART? / AT+UART= 设置通讯参数 默认9600,0,0
AT+ROLE? / AT+ROLE= 0 从, 1 主
AT+ADDR 当前模块的地址

AT 指令错误:

错误 描述
0 AT command error
1 The result is default value
2 PSKEY write error
3 Device name is too long (mbytes)
4 Device name is 0 byte
5 Bluetooth address: NAP is too
6 Bluetooth address: UAP is too
7 Bluetooth address: LAP is too
8 PIO port mask length is 0
9 Invalid PIO port
A Device class is 0 byte
B Device class is too long
C Inquire Access Code length is 0
D Inquire Access Code is too long
E Invalid Inquire Access Code
F Pairing password is 0
10 Pairing password is too long (more than 16 bytes)
11 Role of module is invalid
12 Baud rate is invalid
13 Stop bit is invalid
14 Parity bit is invalid
15 No device in the pairing list
16 SPP is not initialized
17 SPP is repeatedly initialized
18 Invalid inquiry mode
19 Inquiry timeout
1A Address is 0
1B Invalid security mode
1C Invalid encryption mode

4.参考资料

  • 作者tmirun:《Arduino hc-05》
    http://www.arduino.cn/forum.php?mod=viewthread&tid=21738&highlight=HC-05
  • AT指令参考手册
    https://www.taiwaniot.com.tw/wp-content/uploads/2016/01/ADIO-HC-05-1.pdf

你可能感兴趣的:([HC-05]1.如何使用蓝牙模块HC-05进入AT模式?)