HC-05 Bluetooth Module

来自丢石头百科
HC-05 Bluetooth Module
HC-05-Bluetooth-Module(SMD).jpg
HC-05-Bluetooth-Module(with-headers).jpg
HC-05-Bluetooth-Module(without-headers).jpg
基本信息

分类: Bluetooth UART

品牌: 丢石头

功能简介
特性

无特性,不解释

接口

UART接口

相关产品

产品简介

HC-05 蓝牙串口通信模块,是基于 Bluetooth Specification V2.0 带 EDR 蓝牙协议的数传模块。无线工作频段为 2.4GHz ISM,调制方式是 GFSK。模块最大发射功率为 4dBm,接收灵敏度-85dBm,板载 PCB 天线,可以实现 10 米距离通信。

模块采用邮票孔封装方式,模块大小 27mm×13mm×2mm,方便客户嵌入应用系统之内,自带 LED 灯,可直观判断蓝牙的连接状态。

模块采用 CSR 的 BC417 芯片,支持 AT 指令,用户可根据需要更改角色(主、从模式)以及串口波特率、设备名称等参数,使用灵活。

电气特性

  • 模块尺寸:27mm x 13mm x 2mm
  • 工作频段:2.4G
  • 空中速率:2Mbps
  • 通讯接口:UART
  • 天线接口:内置PCB天线
  • 工作电压:3.0V ~ 3.6V
  • 通信电流:40mA
  • RSSI支持:不支持
  • 接收灵敏:度-85dBm@2Mbps
  • 通信电平:3.3V TTL
  • 发射功率:4dBm(最大)
  • 参考距离:10m
  • 工作湿度:10%~90%
  • 工作温度:-25°C~75°C
  • 存储温度:-40°C~85°C

默认参数

  • UART 波特率:9600
  • PIN:1234
  • MODE:HC-05默认为从机,HC-05-USB默认为主机

以上参数均可修改。如果先按住按钮(置高 KEY 脚)再给模块上电,波特率固定为 38400。

快速入门

硬件连接

  • USB 串口模块 2 个
  • 本模块 2 个

串口模块 RXD 连接本模块 TXD,串口模块 TXD 连接本模块 RXD(交叉连接)。

使用步骤

1. 使用串口调试软件打开两个 USB 串口(下称A、B)。默认情况下,波特率设置成 9600。串口调试软件勾选“加回车换行”或者“发送新行”,这意味着发送的命令末尾有追加\r\n。

2. 将A模块设置成主机,按下A模块的按钮,串口A发送:

AT+ROLE=1

3. 将B模块设置成从机,按下B模块的按钮,串口B发送:

AT+ROLE=0

4. 两个模块重新上电之后,只要 PIN 码一致,就会自动配对。默认情况下,PIN 码是 1234。

5. 通过串口助手,两个模块可以互相收发信息。

这里给出常用 AT 指令以便快速测试,须以 \r\n 结尾:

AT                    // 测试指令,返回 OK
AT+UART=115200,0,0    // 波特率设置成 115200,无停止位,无校验位
AT+PSWD=1234          // 配对码设置成 1234
AT+ROLE=0             // 0 配置为从机,1 配置为主机

详见 #AT 指令

连接说明

工作原理简单介绍

HC-05 Bluetooth Module 2.jpg

  • 注:如上图所示,HC-05 模块用于代替全双工通信时的物理连线。左边的设备向模块发送串口数据,模块的 RXD 端口收到串口数据后,自动将数据以无线电波的方式发送到空中。右边的模块能自动接收到,并从 TXD 还原最初左边设备所发的串口数据。从右到左也是一样的。

模块与单片机 MCU 等设备的连接

HC-05 Bluetooth Module 3.jpg

  1. 模块与供电系统为 3.3V 的 MCU 连接时,串口交叉连接即可(模块的 RX 接 MCU 的 TX、模块的 TX 接 MCU 的 RX)
  2. 模块与供电系统为 5V 的 MCU 连接时,可在模块的 RX 端串接一个 220R~1K 电阻再接 MCU 的 TX,模块的 TX 直接接 MCU 的 RX,无需串接电阻。(注:请先确认所使用的 MCU 把 3.0V 或以上电压认定为高电平,否则需加上 3.3V/5V 电平转换电路)
  • 注:模块的电源为 3.3V,不能接 5V, 5V 的电源必须通过 LDO 降压到 3.3V 后再给模块供电。

模块之间的连接通讯

HC-05 Bluetooth Module 4.png

设置一个为主机,一个为从机,配对码一致(默认均为 1234),波特率一致,上电即可自动连接。

HC-05 支持一对一连接。

在连接模式 CMODE 为 0 时,主机第一次连接后,会自动记忆配对对象,如需连接其他模块, 必须先清除配对记忆。在连接模式 CMODE 为 1 时,主机则不受绑定指令设置地址的约束,可以与其他从机模块连接。详情请参考 #AT 指令

  • HC-05 默认为从机

模块与手机的连接通讯

HC-05 Bluetooth Module 5.png

HC-05 可以与安卓手机自带蓝牙连接,通讯测试可以使用安卓串口助手软件。

模块与 PC 的连接通讯

HC-05 Bluetooth Module 6.png

  • HC-05 直接连接电脑需借助 HC-05-USB 蓝牙虚拟串口与电脑相连。
  • HC-05 可直接连接电脑的自带蓝牙设备进行通讯。

引脚定义

贴片

HC-05 Bluetooth Module 7.png

引脚 定义 I/O 方向 说明
1 TXD 输出 URAT 输出口,3.3V TTL 电平
2 RXD 输入 URAT 输入口,3.3V TTL 电平
3 CTS 悬空 暂不支持串口流控功能
4 RTS 悬空 暂不支持串口流控功能
5 PCM_CLK 悬空 NC
6 PCM_OUT 悬空 NC
7 PCM_IN 悬空 NC
8 PCM_SYNC 悬空 NC
9 AIO0 悬空 NC
10 AIO1 悬空 NC
11 RST 输入,上拉 模块复位脚,要求不小于 10ms 的低电平进行复位
12 VCC 输入 电源脚,要求直流 3.3V 电源,供电电流不小于 100mA
13 GND GND 模块公共地
14 NC 悬空 NC
15 USB_D- 悬空 暂不支持 USB 功能
16 CSB 悬空 NC
17 MOSI 悬空 NC
18 MISO 悬空 NC
19 CLK 悬空 NC
20 USB_D+ 悬空 暂不支持 USB 功能
21 GND 悬空或接地 模块公共地
22 CON 输入 板载 LED 灯控制脚,接地关闭 LED 灯
23 PIO0 悬空 NC
24 PIO1 悬空 NC
25 PIO2 悬空 NC
26 PIO3 悬空 NC
27 PIO4 悬空 NC
28 PIO5 悬空 NC
29 PIO6 悬空 NC
30 PIO7 悬空 NC
31 PIO8 输出 模块状态指示灯输出脚(注①)
32 PIO9 输出 模块连接指示灯输出脚(注②)
33 PIO10 悬空 NC
34 PIO11 输入,弱下拉 AT 指令设置脚,主机清除记忆(注③)

注①:模块状态指示灯输出脚,高电平输出,接 LED 时请串接电阻。

  • 连线前,主机未记录从机地址时,快闪;主机记录从机地址时,慢闪;从机快闪。
  • 连线后,LED 两闪一停。

先置高 KEY 脚再给模块上电,进入 AT 指令模式,波特率固定为 38400,LED 每 2 秒亮 1 秒。

注②:模块连接指示灯输出脚,高电平输出,接 LED 时请串接电阻。

  • 连线前,灯脚恒低电平输出。(LED 灯灭)
  • 连接后,灯脚恒高电平输出。(LED 灯常亮)

注③:输入脚,内部下拉。此脚接高电平,模块进入 AT 指令模式、主机用来清除已记录的从机地址。

底板

引脚 说明
STATE PIO9,模块连接指示灯输出脚
RXD UART 输入口
TXD UART 输入口
GND 模块公共地
VCC 模块电源
KEY AT 指令设置脚,主机清除记忆

AT 指令

详细 AT 指令请参见用户手册(点击下载)关于 AT 指令章节,这里给出 AT 指令的常规使用方式。

工作模式

HC-05 嵌入式蓝牙串口通讯模块(以下简称模块)具有两种工作模式:命令响应工作模式和自动连接工作模式,在自动连接工作模式下模块又可分为主(Master)、从(Slave)和回环(Loopback)三种工作角色。

当模块处于自动连接工作模式时,将自动根据事先设定的方式连接的数据传输;

当模块处于命令响应工作模式时能执行下述所有 AT 命令,用户可向模块发送各种 AT 指令,为模块设定控制参数或发布控制命令。

通过控制模块外部引脚(PIO11)输入电平,可以实现模块工作状态的动态转换。

串口模块用到的引脚定义

  1. PIO8 连接 LED,指示模块工作状态,模块上电后闪烁,不同的状态闪烁间隔不同。
  2. PIO9 连接 LED,指示模块连接成功,蓝牙串口匹配连接成功后,LED 长亮。
  3. PIO11 模块状态切换脚,高电平-->AT 命令响应工作状态,低电平或悬空-->蓝牙常规工作状态。
  4. 模块上已带有复位电路,重新上电即完成复位。

模块进入 AT 模式的方法

  • 方法一:模块上电之后,按下板子上的按钮,即可进入 AT 模式。贴片的模块需要置高一次 PIO11 引脚,即可进入 AT 模式。默认波特率:9600。
  • 方法二:PIO11 置高电平后,再给模块上电,此时模块进入 AT 模式,波特率固定为:38400,可以直接发送 AT 指令。

(注:当用户忘记模块本身波特率时,使用第二种方法固定为 38400,平时建议用户使用第一种方法进入 AT 模式!)

设置为主模块的步骤

  1. 进入 AT 模式
  2. 使用串口调试助手,发送 AT 指令“AT+ROLE=1\r\n”,成功返回“OK\r\n”,其中 \r\n 为回车换行。
  3. PIO11 置低电平,重新上电,模块为主模块,自动搜索从模块,建立连接。

指令详细说明

AT 指令不区分大小写,均以回车、换行结尾,部分 AT 指令需要对模块 34 脚 PIO11 一直置高电平才有效。

详细 AT 指令请参见用户手册(点击下载)关于 AT 指令章节。

  • 该文档中所说的 PIO11 置高电平一次,或者 34 脚置高一次,等于按下模块上的按钮一次。
  • 该文档中所说的 34 脚一直置高,等于按住模块上的按钮。

资料下载

选型列表

产品型号 工作频段 天线接口 工作电压 通信电流 接收灵敏度 发射功率 参考距离 指令数量 空中速率 通信协议
HC-05 2.4G 内置PCB天线 3.0~3.6V 40mA -85dBm@2Mbps 4dBm(最大) 10m 丰富 2Mbps 蓝牙 2.0
HC-06 2.4G 内置PCB天线 3.0~3.6V 40mA -85dBm@2Mbps 4dBm(最大) 10m 精简 2Mbps 蓝牙 2.0
HC-08 2.4G 内置PCB天线 2.0~3.6V TBD -93dBm@1Mbps 4dBm(最大) 80m 普通 1Mbps 蓝牙 4.0
HC-12 433.4 ~ 473.0MHz 弹簧天线/天线插座 3.2~5.5V 可调 可调 20dBm(最大) 1000m 精简 可调 无线

FAQ

问题:
HC-05HC-06 主要区别是什么?
答复:
  1. 邮票孔的引脚稍有区别。
  2. AT 指令支持的程度不同。HC-05 指令集更加丰富,可实现更多配置。
  3. HC-05 AT 设置时,指令末尾需要加上\r\n(如果使用串口助手,则勾上“发送新行”),而 HC-06 指令末尾不需要加上\r\n。
  4. HC-05 需要按按钮进入 AT 设置,HC-06 不需要。
  5. HC-05 模块的 STATE 用于指示连接状态,而 HC-06 模块的 STATE 是预留的,没有功能。


问题:
为什么有些指令用不了?
答复:
有些指令发送之前需要按住模块上的按钮,有些则只支持从机模式等等。请参见用户手册。


问题:
KEY脚有什么用?
答复:
是 AT 指令设置脚,也可用于主机清除记忆,功能同底板上的按钮。


问题:
两个蓝牙模块无法配对,怎么办?
答复:
示例蓝牙:
  • 蓝牙A地址:3014:10:271614
  • 蓝牙B地址:2015:2:120758

步骤:

  1. 【AT模式】两个蓝牙模块的PIO11接VCC,上电后即进入AT指令模式,都用USB转TTL模块连接到电脑的USB接口。
  2. 【打开串口调试助手】开启2个串口调试窗口,一个打开蓝牙A的COM口,一个打开蓝牙B的COM口。【默认波特率一般为38400】
  3. 【恢复A默认设置】串口调试助手A,将蓝牙A恢复默认设置:AT+ORGL\r\n 【\r\n即回车、换行,在串口调试助手上输入一个回车即可】
  4. 【设置A配对码】串口调试助手A,配置蓝牙A的配对码:AT+PSWD=1212\r\n 【蓝牙A与蓝牙B的配对码相同,这样才能成功配对】
  5. 【设置A主模式】串口调试助手A,将蓝牙A配置为主机模式:AT+ROLE=1\r\n
  6. 【恢复B默认设置】串口调试助手B,将蓝牙B恢复默认设置:AT+ORGL\r\n
  7. 【设置B配对码】串口调试助手B,配置蓝牙B的配对码与蓝牙A一致:AT+PSWD=1212\r\n
  8. 【设置B从模式】串口调试助手B,将蓝牙B配置为从机模式:AT+ROLE=0\r\n
  9. 【 查询B地址 】串口调试助手B,查询蓝牙B的地址:AT+ADDR?\r\n 【如2015:2:120758】
  10. 【蓝牙A绑定蓝牙B】串口调试助手A,蓝牙A绑定蓝牙B地址:AT+BIND=2015,2,120758\r\n 【注意把地址的冒号换成逗号】
  11. 【常规工作模式】2个模块的PIO11引脚都接地,重新上电后进入常规工作模式,自动完成配对。之后,串口调试助手A和串口调试助手B就能互传数据了。


Icon-mail.png 联系 丢石头

我们的工作时间是: 09:00-18:00 (UTC+8 周一到周六)