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

步骤1:识别模块
您需要做的第一件事就是识别模块。它可以是hc05或hc06。除引脚排列外,两个模块的功能相同。 hc05也可以同时充当主设备和从设备,而hc06只能充当从设备。仅通过观察就很难区分两者。一种可能的方法是检查突破板的背面。如果背面写有“ jy-mcu”,则可能是hc06。矿山上写有“ zs-040”,它是hc05。我测试的hc06模块后面有一个带有三个pcb足迹的蓝牙标志(请参阅图2)。要确认设备身份,可以打开模块电源,在pc或移动设备上搜索新设备,然后在找到的设备列表中查找hc05或hc06。
步骤2:引脚排列和进入at模式
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步:如果不存在或未连接密钥
仅适用于hc05 :如前所述,某些型号的分线板没有按键引脚,而是有一个en(启用)引脚或wake up引脚,它们可能连接也可能不连接就像state引脚一样。在这种情况下,您必须将导线焊接到bt模块的第34引脚。我将一个公头焊接到了地上,但是如果您不能焊接或不想焊接,那么您可以在将vcc连接到5v时握住一根电线(公对公跳线的尖端很方便)。 bt模块处于at模式后,您可以松开电线。
hc06不需要钥匙钉。
步骤4:建立连接
》对于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命令
对于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


基于单腔双波长激光器的中红外双光梳系统介绍
YAZAKI对电动汽车未来需求的设计
国家地理杂志使用大疆无人机首次拍摄珠峰全景照片
L-com诺通推出新型超六类双屏蔽高柔性拖链级以太网线缆
替代ELK:ClickHouse+Kafka+FlieBeat才是最绝的
如何通过USB到TTL转换器进入HC05/HC-06蓝牙模块的AT命令模式
激光雷达(LiDAR)技术借此夯实了其在汽车自动化的地位
传感器制造产业的发展将受益于物联网的爆发
电源模块的作用,如何选择合适的电源模块
键控音量耳机放大器电路图
电力系统三道防线的基本原理 电力系统运行的基本要求
华为p11什么时候上市?华为p11最新消息:全面屏+八曲面,华为P11惊艳四方
探究当前相关企业正在如何提升中国集成电路产业实力
介绍单个数据项的写入事务的过程
详细解读Linux内核的poll机制
HoloSens:华为机器视觉的“王炸”
iphone13预定后多久发货,iphone13预定期间可以以旧换新吗
IDC预测未来5年机械硬盘仍呈高速增长 SSD价格短期上扬
大学生利用3D打印机为医务人员打印口罩
又一国产操作系统崛起,流畅度不输Windows开机仅需30秒