如何通过USB到TTL转换器进入HC05/HC-06蓝牙模块的AT命令模式

电子说

1.3w人已加入

描述

步骤1:识别模块

您需要做的第一件事就是识别模块。它可以是HC05或HC06。除引脚排列外,两个模块的功能相同。 HC05也可以同时充当主设备和从设备,而HC06只能充当从设备。仅通过观察就很难区分两者。一种可能的方法是检查突破板的背面。如果背面写有“ JY-MCU”,则可能是HC06。矿山上写有“ ZS-040”,它是HC05。我测试的HC06模块后面有一个带有三个PCB足迹的蓝牙标志(请参阅图2)。要确认设备身份,可以打开模块电源,在PC或移动设备上搜索新设备,然后在找到的设备列表中查找HC05或HC06。

步骤2:引脚排列和进入AT模式

TTL

PINS:突破板上找到的引脚是

KEY:必须将该引脚拉高才能进入AT模式.VCC:指示范围是3.6到6伏。为了安全起见,应将其连接到3.3伏。

GND:接地。

RXD:串行输入引脚。

TXD串行输出引脚。

STATE:可能连接或未连接到任何引脚。据说输出蓝牙连接状态。

某些分线板有EN引脚甚至WAKE UP引脚而不是KEY引脚。它们似乎都未连接到模块的任何引脚。但这没关系,因为我们还是不需要它们。

确定模块后,现在该进入AT模式了。

对于HC05:蓝牙模块的Rx引脚到USB到TTL转换器的Tx引脚,以及蓝牙的Tx引脚到转换器的Rx引脚。也连接他们的地面,但还不连接Vcc。首先,您必须将Vcc与钥匙引脚短路。通过面包板或其他任何方式将关键引脚和Vcc连接在一起。连接所有其他引脚后,将bt模块的Vcc连接到USB至TTL转换器的Vcc。现在,模块上的指示灯将以2秒的间隔闪烁。这意味着它已进入AT模式。如果指示灯闪烁更快,则说明未进入AT模式。断开Vcc,检查电路,然后重试。如果不起作用,则可能是模块的KEY引脚没有真正焊接到主芯片的KEY上,即第34引脚。您可以在万用表的帮助下进行检查。

如果使用arduino uno,则将Bluetooth模块的Rx引脚连接到Arduino Uno的引脚11(arduino mega上应该是相同的),以及Arduino的Tx引脚。蓝牙到Arduino的引脚10还要将模块的关键引脚连接到arduino的引脚9并接地,但还不连接Vcc。您必须先打开arduino的电源,然后像使用USB到TTL转换器一样连接Vcc。

对于HC06:只需将模块的Rx连接到Tx usb-ttl转换器和模块的Tx。连接地面和Vcc。模块处于AT模式。没看到那个来吗? :P原来HC06模块被永久配置为从设备,并且在未与任何其他设备配对时始终处于AT模式。因此,没有像HC05一样处于AT模式的确认指示灯闪烁。只需打开模块电源并传递AT命令即可修改默认设置。

连接概述:

HC05 USB至TTL Arduino

Vcc Vcc Vcc

Rx Tx引脚11

Tx Rx引脚10

Gnd Gnd Gnd 键Vcc引脚9

HC06 USB至TTL

Vcc Vcc

Rx Tx

Tx Rx

Gnd Gnd

第3步:如果不存在或未连接密钥

TTL

仅适用于HC05 :如前所述,某些型号的分线板没有按键引脚,而是有一个EN(启用)引脚或WAKE UP引脚,它们可能连接也可能不连接就像STATE引脚一样。在这种情况下,您必须将导线焊接到bt模块的第34引脚。我将一个公头焊接到了地上,但是如果您不能焊接或不想焊接,那么您可以在将Vcc连接到5V时握住一根电线(公对公跳线的尖端很方便)。 bt模块处于AT模式后,您可以松开电线。

HC06不需要钥匙钉。

步骤4:建立连接

TTL

TTL

TTL

》对于HC05:

一旦模块处于AT模式,请打开arduino。转到工具》串行端口》选择您的USB转TTL转换器连接到的COM端口(要查找,请转到您PC的设备管理器》端口(COM&LPT))。现在打开串行监视器。 bt模块现在正在以38400的波特率进行通信。因此,请将串行监视器右下角的波特率更改为38400。还要将波特率旁边的“ no line end”更改为“ NL&CR”。

如果您没有Arduino IDE,请下载Tera term(这是出色的终端信号处理器)。开放Tera条款。将打开一个弹出窗口,选择“串行”,然后选择USB至TTL转换器连接的COM端口。按确定,将建立连接。现在转到设置》串行端口》将波特率设置为38400。设置波特率后,转到设置》终端》从下拉菜单中将换行符更改为CR + LF。还要选中换行符下的本地回显框。现在设置完成。

如果使用arduino(UNO/MEGA)板,则复制粘贴以下代码,这只是arduino示例中包含的Software Serial示例的修改。

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#include

SoftwareSerial mySerial(10,11) ;//RX,TX

void setup(){

Serial.begin(9600);

pinMode(9,OUTPUT); digitalWrite(9,HIGH);

Serial.println(“输入AT命令:”);

mySerial.begin(38400);

}

无效循环()

{

如果(mySerial.available())

序列.WRITE(mySerial.read());

if(Serial.available())

mySerial.write(Serial.read());

}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

将代码上传到arduino板上,代码上传完成后,打开串行监视器,更改“无行结尾”底部的“ NL&CR”,将其关闭,然后从USB断开arduino板的连接。现在再次将arduino重新连接到USB,将蓝牙模块的vcc连接到arduino 5volt,然后打开串行监视器。模块上的指示灯应每隔2秒闪烁一次。这意味着它已进入AT模式。现在您可以输入AT命令了。

对于HC06:

现在HC06有一个小的缺点,它不等待任何终止符对于每个AT命令条目。而是对一秒钟后输入的任何字符起作用。因此,如果您不能在一秒钟内完成命令输入,它将被忽略。由于这种行为,使用Windows Hyper-terminal软件进行手动输入配置可能非常困难。必须使用允许批量发送多个字符的终端软件。我发现arduino可以正常工作。另一方面,如果使用Tera term,则必须在记事本中写下AT命令,然后将其复制粘贴到Tera term。右键单击Tera term控制台,将自动粘贴复制的行并立即执行。

因此,一旦模块连接到usb-ttl转换器并通电,打开arduino,选择usb-ttl com端口,设置波特率达到38400。与HC05不同,无需应用其他设置。对于Tera Therm,选择适当的com端口,转到设置》串行端口》将波特率设置为38400,转到设置》终端》选中本地回显框,所有设置均已设置。

步骤5:AT命令

TTL

对于HC05:键入“ AT”(不带引号) ),然后按Enter。如果出现“ OK”,则表示一切正常,模块已准备好接受命令。现在,您可以更改模块的名称,检索地址或版本,甚至重置为出厂设置。要查看默认名称,请键入AT + NAME。该名称将被提示,默认情况下为HC-05或JY_MCU或类似名称。要更改名称,只需键入AT + NAME =您所需的名称。

这里有个重要的注意事项,如果钥匙引脚不高,即在接收AT命令时未连接到Vcc(如果您未焊接导线并在模块进入AT模式后将其释放),即使给出正确的命令,也不会显示默认名称。但是您仍然可以通过上述命令更改名称。要验证名称是否确实更改过,请从您的PC/手机上搜索设备。更改后的名称将会出现。要更改波特率,请键入AT + UART =所需的波特率。通过发送AT + RESET命令退出。

最有用的AT命令是

AT:断开连接。

AT + NAME:请参阅默认名称

AT + ADDR:请参阅默认地址

AT + VERSION:请参阅版本

AT + UART:请参见波特率

AT + ROLE:请参阅bt模块的角色(1 =主控/0 =从属)

AT + RESET:重置并退出AT模式

AT + ORGL:恢复出厂设置

AT + PSWD:请参阅默认密码

更详细的AT命令在第一个pdf中给出。

对于HC06::在arduino串行监视器上,键入“ AT”(不带引号),然后按Enter,“ OK”将确认AT模式。与HC05不同,您看不到默认名称或波特率。您只能更改它们。要更改名称,请键入AT + NAMEDESIRED NAME,请注意命令和名称之间不应有空格。模块将回复您的设置名称。例如,AT + NAMEPROTOTYPE会将名称设置为PROTOTYPE。要更改波特率,请键入AT + BAUDX,其中X = 1到9。

1设置为1200bps

2设置为2400bps

3设置为4800bps

4设置为9600bps(默认值)

5设置为19200bps

6设置为38400bps

7设置为57600bps

8设置为115200bps

所以发送AT + BAUD4会将波特率设置为9600。

对于Tera Term,请在其他位置写下命令,然后通过右键单击将其粘贴到控制台上。无需按回车键。该命令将立即执行并确认。

HC 06 AT命令是受限制的,在此可以找到所有我能找到的内容。

AT:检查连接

AT + NAME:更改名称。名称与命令之间没有空格。

AT + BAUD:更改波特率,x是波特率代码,命令与代码之间没有空格。AT+ PIN:更改引脚,xxxx是引脚,再次,没有空格。

AT + VERSION

责任编辑:wv 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分