向HC-05蓝牙模块发送命令需进入AT模式:接线后按住模块按钮上电,指示灯慢闪表示进入,使用串口调试工具(如Arduino IDE串口监视器),选择正确波特率(通常38400),通过串口发送AT指令(如AT),每条指令以回车换行结尾。
HC-05是一款非常流行且经济实惠的蓝牙串口通信模块(Bluetooth Serial Port Profile – SPP),广泛应用于Arduino、单片机项目以及各种需要无线串口通信的场景,掌握如何向其发送命令是控制设备、配置模块参数(如名称、密码、主从模式)以及实现双向通信的关键,本指南将详细解释发送命令的几种主要方式及其步骤。
核心概念:理解命令模式(AT模式)与通信模式
在向HC-05发送命令前,必须明确你处于哪种模式:
-
命令模式 (AT Mode):
- 目的:用于配置HC-05模块本身的参数,例如蓝牙名称、配对密码、波特率、工作模式(主/从/回环)、查询设备等。
- 进入方式:这是关键一步!通常需要在模块上电之前,将模块的
KEY
(或EN
)引脚拉高(接VCC,通常是+3.3V),上电后,模块上的状态指示灯会慢闪(大约每2秒闪一次),表示已进入AT命令模式。 - 通信设置:在命令模式下,HC-05默认使用特定的波特率(最常见的是
38400
,但也可能是9600
或115200
,请查阅你的模块手册或尝试)和无校验、8数据位、1停止位(8N1
)的串口设置,你需要确保你的发送设备(如USB转TTL、Arduino、电脑串口助手)也使用完全相同的波特率和8N1
设置。 - 命令格式:AT命令通常以
AT
开头,后跟具体的指令和参数,最后以\r\n
(回车换行)结束,查询模块版本的命令是AT+VERSION?\r\n
,设置蓝牙名称为MyHC05
的命令是AT+NAME=MyHC05\r\n
。注意:命令必须大写,且\r\n
不可或缺。
-
通信模式 (Data Mode):
- 目的:这是模块的正常工作状态,用于在已配对的蓝牙设备之间透明地传输串行数据(就像一条无线串口线)。
- 进入方式:
KEY
(或EN
)引脚悬空或拉低(接GND)时上电,状态指示灯会快闪(未连接)或双闪后常亮(已连接)。 - 通信设置:此时模块使用你在命令模式下配置的波特率(或者出厂默认值,通常是
9600
8N1
)进行数据传输,发送的数据就是普通的串行数据,不需要AT
前缀或特定格式(除非你的接收设备要求特定协议)。
发送命令的几种常用方法
以下介绍三种最常用的向HC-05发送命令(主要在AT模式下)的方法:
使用USB转TTL模块 + 串口助手软件 (最常用)
这是最基础、最通用的方法,尤其适合初始配置模块。
- 所需硬件:
- HC-05蓝牙模块
- USB转TTL串口模块 (如 CH340, CP2102, FT232RL 等,务必确保其工作电压与HC-05匹配,通常是3.3V!)
- 杜邦线若干
- 连接步骤 (AT模式):
- 断开所有电源。
- 将USB转TTL模块的
TXD
连接到HC-05的RXD
。 - 将USB转TTL模块的
RXD
连接到HC-05的TXD
。 - 将USB转TTL模块的
GND
连接到HC-05的GND
。 - 关键: 将HC-05的
KEY
(或EN
)引脚连接到VCC
(通常是+3.3V)。(这是进入AT模式的关键!) - 将USB转TTL模块插入电脑USB口(此时HC-05通过USB转TTL模块的3.3V或5V取电,务必确认HC-05的VCC接的是3.3V! 接5V可能烧毁模块)。
- 观察HC-05状态灯:慢闪(约2秒一次)表示成功进入AT模式。
- 软件操作:
- 在电脑上打开串口助手软件(如Arduino IDE内置串口监视器、Putty、CoolTerm、SSCOM等)。
- 在软件中选择正确的串口号(对应你的USB转TTL模块)。
- 设置波特率为
38400
(最常用,如果无响应,尝试9600
或115200
)。 - 设置数据位
8
,停止位1
,校验位None
(8N1
)。 - 在发送区,确保勾选了“发送新行”或“添加回车换行”选项(这相当于自动添加
\r\n
),如果没有此选项,你需要在命令后手动输入\r\n
或选择发送HEX
0D 0A
。 - 输入AT命令(大写),例如
AT
,然后点击发送。 - 如果连接和设置正确,你应该会收到模块的响应
OK
(对于AT
命令)或其他具体信息(如AT+VERSION?
会返回版本号)。 - 发送其他需要的AT命令进行配置(如
AT+NAME
,AT+PSWD
,AT+UART
,AT+ROLE
等)。 - 重要: 配置完成后,断开电源,移除
KEY
引脚与VCC的连接(让其悬空或接GND),再重新上电,模块将以新配置进入通信模式。
通过Arduino Uno等开发板中转 (无需USB转TTL)
如果你手头有Arduino Uno等板子,可以利用其USB转串口功能。
- 所需硬件:
- HC-05蓝牙模块
- Arduino Uno (或其他有独立USB转串口芯片的板子,如Mega)
- 杜邦线若干
- 连接步骤 (AT模式):
- 断开Arduino USB线。
- 将HC-05的
TXD
连接到Arduino的D0 (RX)
。 - 将HC-05的
RXD
连接到Arduino的D1 (TX)
。 - 将HC-05的
GND
连接到Arduino的GND
。 - 将HC-05的
VCC
连接到Arduino的5V
或3V
(强烈建议接3V
! 接5V需确认模块支持或使用电平转换)。 - 关键: 将HC-05的
KEY
(或EN
)引脚连接到Arduino的+3.3V
或+5V
(同样建议接3V
)。 - 将Arduino通过USB线连接到电脑。
- 观察HC-05状态灯:慢闪表示进入AT模式。
- 软件操作:
- 打开Arduino IDE。
- 打开
Tools -> Serial Monitor
。 - 在串口监视器右下角,设置波特率为
38400
(或尝试9600
/115200
)。 - 在右下角的下拉菜单中,选择
Both NL & CR
(或Newline
,这确保发送\r\n
)。 - 在顶部的输入框输入AT命令(大写),例如
AT
,然后点击Send
。 - 查看返回信息是否为
OK
。 - 配置完成后,断开USB线,移除
KEY
引脚与VCC的连接(让其悬空或接GND),再重新连接USB线上电,模块进入通信模式。
通过已配对的手机/电脑蓝牙发送数据 (通信模式)
此方法用于在通信模式下向与HC-05连接的另一端设备(如单片机)发送数据或指令(非AT配置命令),这要求HC-05已处于通信模式并成功与手机/电脑配对连接。
- 所需条件:
- HC-05模块已配置好并处于通信模式(状态灯快闪或双闪后常亮)。
- 手机/电脑已与HC-05配对(默认密码通常是
1234
或0000
)。
- 操作步骤:
- 手机端:
- 在手机应用商店搜索安装蓝牙串口通信APP(如“蓝牙串口”、“Serial Bluetooth Terminal”、“Arduino Bluetooth Controller”等)。
- 打开APP,搜索并连接名为你的HC-05名称(默认可能是
HC-05
)的设备。 - 连接成功后,APP通常会提供一个输入框。
- 在输入框中输入你想要发送的数据或指令(例如
LED_ON
,A90
等,这取决于你的接收端单片机程序如何解析),然后点击发送按钮。注意:此时发送的是普通数据,不是AT命令! APP通常会帮你添加换行符(\n
或\r\n
),具体看APP设置。
- 电脑端 (Windows):
- 在系统设置中配对连接HC-05(配对码通常是
1234
)。 - 配对成功后,在
设备管理器 -> 端口(COM和LPT)
下,会看到新增的蓝牙串行端口(如Standard Serial over Bluetooth link (COMx)
)。 - 打开你喜欢的串口助手软件(如Putty, CoolTerm, RealTerm, Arduino IDE串口监视器等)。
- 选择对应的
COMx
端口。 - 设置波特率、数据位、停止位、校验位与HC-05在通信模式下使用的设置一致(通常出厂是
9600
8N1
,或者是你之前用AT命令AT+UART
设置的)。 - 在发送区输入数据或指令,并确保发送时包含换行符(勾选“发送新行”或手动添加
\r\n
/发送0D 0A
)。 - 点击发送,数据将通过蓝牙串口透明地传输到HC-05,再由HC-05通过其TXD引脚发送给连接的微控制器。
- 在系统设置中配对连接HC-05(配对码通常是
- 手机端:
重要注意事项与常见问题 (E-A-T重点)
- 电压匹配 (安全与可靠性):HC-05模块的逻辑电平通常是3V,确保其
VCC
供电电压为3.3V(最安全),且与之通信的设备(USB转TTL的RXD/TXD、Arduino的RX/TX)也工作在3.3V逻辑电平,如果必须连接5V设备(如Arduino Uno的5V引脚或5V逻辑的TX/RX),务必使用逻辑电平转换器,否则可能损坏HC-05模块。 - 波特率一致性 (可靠性):无论是AT模式还是通信模式,发送端和接收端(HC-05)的波特率、数据位、停止位、校验位设置必须完全一致,否则会出现乱码或无法通信,AT模式常用
38400
,通信模式常用9600
(可配置)。 KEY
引脚是关键 (专业性):进入AT模式必须在上电前将KEY
拉高(接VCC),且上电后状态灯慢闪才表示成功,配置完成后必须断开KEY
与VCC的连接(悬空或接GND)并重新上电才能进入通信模式。- 命令格式 (专业性):AT命令必须大写,必须以
\r\n
(回车换行)串口助手务必勾选“发送新行”或等效选项。 - 无响应怎么办? (问题解决能力 – 可信度)
- 检查所有连线(TXD-RXD交叉连接,GND-GND,VCC-3.3V,KEY-VCC(AT模式))。
- 确认
KEY
引脚在AT模式下已正确接VCC且上电后灯慢闪。 - 尝试不同的波特率(
38400
,9600
,115200
,57600
等)。 - 检查串口号选择是否正确。
- 检查串口助手是否设置了
8N1
。 - 检查串口助手是否发送了
\r\n
。 - 尝试给模块完全断电(拔掉所有连线)再重新连接。
- 模块可能损坏(较少见)。
- 热插拔风险 (可靠性):尽量避免在通电状态下插拔串口线(尤其是TXD/RXD),可能产生瞬时高压损坏芯片。
- 参考文档 (权威性):不同厂家或批次的HC-05在默认波特率、AT命令集细节上可能有微小差异,最权威的参考是模块附带的资料或主控芯片(通常是BC417/BT41)的数据手册/AT命令集文档。
向HC-05发送命令主要分为配置命令(AT模式)和数据通信(通信模式),核心在于:
- 明确模式:通过
KEY
引脚控制进入AT模式(慢闪)或通信模式(快闪/常亮)。 - 正确连接:TXD-RXD交叉连接,GND共地,VCC供电匹配(3.3V优先)。
- 参数匹配:发送端和HC-05的波特率、数据格式(
8N1
)必须严格一致。 - 格式正确:AT命令需大写并以
\r\n
通信数据按接收端要求格式发送。 - 安全操作:注意电压,避免热插拔。
掌握这些要点,你就能熟练地配置和控制你的HC-05蓝牙模块,为你的项目增添无线通信能力,如果在操作中遇到问题,请优先检查连线、模式、波特率和命令格式这四大关键点。
引用与参考说明 (References)
- 本指南基于广泛使用的HC-05蓝牙模块的通用规格和常见应用实践。
- AT命令集参考了基于Cambridge Silicon Radio (CSR) BC417/BT41芯片的蓝牙模块典型AT指令集(如
AT+NAME
,AT+PSWD
,AT+UART
,AT+ROLE
,AT+VERSION?
等),具体命令细节可能因模块固件版本或制造商略有不同,建议查阅所购模块的配套资料。 - 串口通信原理(波特率、数据位、停止位、校验位)遵循标准异步串行通信协议。
- 电压电平要求参考了常见HC-05模块的规格书(通常标明逻辑电平为3.3V)。
- 操作步骤结合了使用USB转TTL模块、Arduino开发板以及手机蓝牙串口APP的实际经验。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6059.html