HC-05 嵌入式蓝牙串口通讯模块 
AT 指令集 
HC-05 嵌入式蓝牙串口通讯模块(以下简称模块)具有两种工作模式:命令响应工作
模式和自动连接工作模式,在自动连接工作模式下模块又可分为主(Master)、从(Slave)
和回环(Loopback)三种工作角色。当模块处于自动连接工作模式时,将自动根据事先设定
的方式连接的数据传输;当模块处于命令响应工作模式时能执行下述所有 AT 命令,用户可
向模块发送各种 AT 指令,为模块设定控制参数或发布控制命令。通过控制模块外部引脚
(PIO11)输入电平,可以实现模块工作状态的动态转换。 
 
串口模块用到的引脚定义: 
1、PIO8 连接 LED,指示模块工作状态,模块上电后闪烁,不同的状态闪烁间隔不同。 
2、PIO9 连接 LED,指示模块连接成功,蓝牙串口匹配连接成功后,LED 长亮。 
3、PIO11 模块状态切换脚,高电平-->AT 命令响应工作状态,低电平或悬空-->蓝牙常规工
作状态。 
4、模块上已带有复位电路,重新上电即完成复位。 
 
设置为主模块的步骤: 
1、PIO11 置高。 
2、上电,模块进入 AT 命令响应状态。 
3、超级终端或其他串口工具,设置波特率 38400,数据位 8 位,停止位 1 位,无校验位,
无流控制。 
4、串口发送字符“AT+ROLE=1\r\n”,成功返回“OK\r\n”,其中\r\n 为回车换行。 
5、PIO 置低,重新上电,模块为主模块,自动搜索从模块,建立连接。 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
指令详细说明 
(AT 指令不区分大小写,均以回车、换行字符结尾:\r\n) 
1、测试指令: 
指令 
AT 
 
2、模块复位(重启): 
指令 
AT+RESET 
 
3、获取软件版本号: 
指令 
AT+VERSION? 
举例说明: 
at+version?\r\n 
+VERSION:2.0-20100601 
OK 
 
4、恢复默认状态: 
指令 
AT+ORGL 
响应 
OK 
响应 
OK 
响应 
参数 
无 
参数 
无 
参数 
+VERSION:
 
OK 
Param:软件版本号 
响应 
OK 
参数 
无 
 
出厂默认状态: 
①.设备类:0 
②.查询码:0x009e8b33 
③.模块工作角色:Slave Mode 
④.连接模式:指定专用蓝牙设备连接模式 
⑤.串口参数:波特率—38400bits/s;停止位:1位;校验位:无 
⑥.配对码:“1234” 
⑦.设备名称:“H-C-2010-06-01” 
…… 
 
5、获取模块蓝牙地址: 
指令 
AT+ADDR? 
响应 
+ADDR:
 
OK 
参数 
Param:模块蓝牙地址 
蓝牙地址表示方法:NAP:UAP:LAP(十六进制) 
举例说明: 
模块蓝牙设备地址为:12:34:56:ab:cd:ef 
at+addr?\r\n 
+ADDR:1234:56:abcdef 
OK 
 
6、设置/查询设备名称: 
指令 
AT+NAME=
 
AT+NAME? 
响应 
OK 
1、+NAME:
 
OK——成功 
2、FAIL——失败 
参数 
Param:蓝牙设备名称 
默认名称:“HC-05”   
例如: 
AT+NAME=HC-05\r\n    ——设置模块设备名为:“HC-05” 
OK 
AT+NAME=“HC-05”\r\n    ——设置模块设备名为:“HC-05” 
OK 
at+name=Beijin\r\n                            ——设置模块设备名为:“Beijin” 
OK 
at+name=“Beijin”\r\n                            ——设置模块设备名为:“Beijin” 
OK 
at+name?\r\n 
+NAME: Bei jin 
OK 
 
7、获取远程蓝牙设备名称: 
指令 
AT+RNAME?
 
响应 
1、+NAME: 
OK——成功 
2、FAIL——失败 
参数 
Param1:远程蓝牙设备地址 
Param2:远程蓝牙设备地址 
蓝牙地址表示方法:NAP:UAP:LAP(十六进制) 
例如: 
模块蓝牙设备地址为:00:02:72:od:22:24,设备名称为:Bluetooth 
at+rname? 0002,72,od2224\r\n 
+RNAME:Bluetooth 
OK 
 
8、设置/查询—模块角色: 
指令 
AT+ROLE= 
响应 
OK 
AT+ ROLE? 
+ ROLE: 
OK 
参数 
Param:参数取值如下: 
0——从角色(Slave) 
1——主角色(Master) 
2——回环角色(Slave-Loop)   
默认值:0 
模块角色说明: 
Slave(从角色)——被动连接; 
Slave-Loop(回环角色)——被动连接,接收远程蓝牙主设备数据并将数据原样返回给远程蓝
牙主设备; 
Master(主角色)——查询周围 SPP 蓝牙从设备,并主动发起连接,从而建立主、从蓝牙设
备间的透明数据传输通道。 
9、设置/查询—设备类: 
指令 
AT+CLASS=
 
响应 
OK 
参数 
Param:设备类 
蓝牙设备类实际上是一个 32 位
的参数,该参数用于指出设备类
型,以及所支持的服务类型。   
默认值:0 
具体设置见附件 1:设备类说明 
为了能有效地对周围诸多蓝牙设备实施过滤,快速查询或被查询自定义蓝牙设备,用
1、+ CLASS:
 
AT+ CLASS? 
OK——成功 
2、FAIL——失败 
户可以将模块设置为非标准蓝牙设备类,如:0x1f1f(十六进制)。 
 
10、设备/查询—查询访问码: 
指令 
AT+IAC=
 
AT+ IAC? 
响应 
1、OK——成功 
2、FAIL——失败 
+IAC:
 
OK 
参数 
Param:查询访问码   
默认值:9e8b33 
具体设置见附件 2:查询访问码说明 
访问码设置为 GIAC(General Inquire Access Code:0x9e8b33)通用查询访问码,可用来
发现或被发现周围所有的蓝牙设备;为了能有效地在周围诸多蓝牙设备中快速查询或被查询
自定义蓝牙设备,用户可以将模块查询访问码设置成 GIAC 和 LIAC 以外的数字,如:9e8b3f。 
举例: 
AT+IAC=9e8b3f\r\n 
OK 
AT+IAC?\r\n 
+IAC: 9e8b3f 
OK 
 
11、设置/查询—查询访问模式: 
指令 
AT+INQM=
,
, 
 
AT+ INQM? 
响应 
1、OK——成功 
2、FAIL——失败 
+INQM:,, 
 
OK 
参数 
Param:查询模式 
0——inquiry_mode_standard 
1——inquiry_mode_rssi   
Param2:最多蓝牙设备响应数 
Param3:最大查询超时 
超时范围:1~48 
(折合成时间:1.28秒~61.44秒) 
默认值:1,1,48 
举例: 
AT+INQM=1,9,48\r\n——查询模式设置:带 RSSI 信号强度指示,超过 9 个蓝牙设备响应则
终止查询,设定超时为 48xl. 28=61.44 秒。 
OK 
AT+INQM\r\n 
+INQM:1, 9, 48 
OK 
12、设置/查询—配对码: 
指令 
AT+PSWD=
 
AT+ PSWD? 
响应 
OK 
+ PSWD  :
 
OK 
参数 
Param:配对码 
默认名称:“1234”   
 
13、设置/查询—串口参数: 
指令 
AT+UART=
,
, 
AT+ UART? 
响应 
OK 
+ UART=,, 
 
OK 
参数 
Param1:波特率(bits/s) 
取值如下(十进制): 
4800 
9600 
19200 
38400 
57600 
115200 
23400 
460800 
921600 
1382400 
Param2:停止位 
0——1 位 
1——2 位 
Param3:校验位 
0——None 
1——Odd 
2——Even 
默认设置:9600,0,0 
举例:设置串口波特率:115200,2 位停止位,Even 校验 
AT+UART=115200,1,2,\r\n 
OK 
AT+UART? 
+UART:115200,1,2 
OK 
 
14、设置/查询—连接模式: 
指令 
AT+CMODE= 
响应 
OK 
AT+ CMODE? 
+ CMODE: 
OK 
参数 
Param: 
0——指定蓝牙地址连接模式 
(指定蓝牙地址由绑定指令设置) 
1——任意蓝牙地址连接模式 
(不受绑定指令设置地址的约束) 
2——回环角色(Slave-Loop)   
默认连接模式:0 
15、设置/查询—绑定蓝牙地址: 
蓝牙地址表示方法:NAP:UAP:LAP(十六进制) 
指令 
AT+BIND=
 
AT+ BIND? 
响应 
OK 
+ BIND:
 
OK 
参数 
Param——绑定蓝牙地址 
默认绑定蓝牙地址: 
00:00:00:00:00:00 
蓝牙地址表示方法:NAP:UAP:LAP(十六进制) 
绑定指令只有在指定蓝牙地址连接模式时有效! 
 
举例说明: 
在指定蓝牙地址连接模式下,绑定蓝牙设备地址:12:34:56:ab:cd:ef 
命令及响应如下: 
AT+BIND=1234,56,abcdef\r\n 
OK 
AT+BIND?\r\n 
+BIND:1234:56:abcdef 
OK 
 
16、设置/查询—LED 指示驱动及连接状态输出极性: 
指令 
响应 
参数 
AT+POLAR=
,  OK 
AT+ BIND? 
+ POLAR=, 
OK 
Param1:取值如下 
0——PI08 输出低电平点亮 LED 
1——PI08 输出高电平点亮 LED 
Param2:取值如下 
0——PI09 输出低电平指示连接成功 
1——PI09 输出高电平指示连接成功 
默认设置:1,1 
HC-05 蓝牙模块定义:PI08 输出驱动 LED 指示工作状态;PI09 输出指示连接状态。 
 
举例说明: 
PI08 输出低电平点亮 LED,PI09 输出高电平指示连接成功。 
命令及响应如下: 
AT+POLAR=0,1\r\n 
OK 
AT+POLAR?\r\n 
+POLAR=0,1 
OK 
 
17、设置 PIO 单端口输出: 
指令 
AT+PIO=, 
响应 
OK 
参数 
Param1:PIO 端口序号(十进制数) 
Param2:PIO 端口输出状态 
0——低电平 
1——高电平 
HC-05 型蓝牙模块为用户提供 PIO 端口资源:PI00~PI07和 PI010,用户可用来扩展输入、
输出端口。 
举例说明: 
1、PI010 端口输出高电平 
AT+PI0=10,1\r\n 
OK 
2、PI010 端口输出高电平 
AT+PI0=10,0\r\n 
OK 
 
18、设置 PIO 多端口输出: 
指令 
AT+MPIO=
 
响应 
OK 
参数 
Param:PIO 端口序号掩码组合(十进制数) 
 
HC-05型蓝牙模块为用户提供 PIO端口资源:PI00~PI07和 PI010,用户可用来扩展输入、输出端口。 
 
PIO端口序号掩码=(1<<端口序号) 
PIO端口序号掩码组合=(PIO端口序号掩码 1|PIO端口序号掩码 2|……) 
 
如: 
PI02端口掩码=(1<<2) =0x004 
PI010端口掩码=(1<<10)=0x400 
PI02和 PI010端口掩码组合=(0x004|0x400)=0x404 
举例说明: 
1、PI010和 PI02端口输出高电平 
AT+MPI0=404\r\n 
OK 
2、PI04端口输出高电平 
AT+PI0=004\r\n 
OK 
3、PI010端口输出高电平 
AT+PI0=400\r\n 
OK 
5、所有端口输出低电平 
AT+MPI0=0\r\n 
OK 
 
19、查询 PIO端口输入 
指令 
AT+MPIO? 
响应 
+MPIO:
 
OK 
参数 
Param——PIO 端口值(16bits) 
Param[0]=PI00 
Param[1]=PI01 
Param[2]=PI02 
…… 
Param[10]=PI010 
Param[11]=PI011 
HC-05型蓝牙模块为用户提供 PIO端口资源:PI00~PI07和 PI010~PI011,用户可用来扩展输入、输出端
口。 
 
20、设置/查询—寻呼扫描、查询扫描参数: 
指令 
AT+IPSCAN=
,, 
, 
AT+IPSCAN? 
响应 
OK 
+IPSCAN:  ,,
, 
OK 
参数 
Param1:查询时间间隔 
Param2:查询持续时间 
Param3:寻呼时间间隔 
Param4:寻呼持续时间 
上述参数均为十进制数。 
默认值:1024,512,1024,512 
举例说明: 
at+ipscan=1234,500,1200,250\r\n 
OK 
at+ipscan? 
+IPSCAN:1234,500,1200,250 
 
21、设置/查询—SHIFF节能参数: 
指令 
响应 
AT+SNIFF=
,, 
, 
AT+IPSCAN? 
OK 
+SNIFF:   ,  ,
, 
参数 
Param1:最大时间 
Param2:最小时间 
Param3:尝试时间 
Param4:超时时间 
上述参数均为十进制数。 
默认值:0,0,0,0 
 
22、设置/查询安全、加密模式: 
指令 
AT+SENM=,, 
AT+ SENM? 
响应 
1、OK——成功 
2、FAIL——失败 
+ SENM:,, 
OK 
参数 
Param:安全模式,取值如下: 
0——sec_mode0+off 
1——sec_mode1+non_secure 
2——sec_mode2_service 
3——sec_mode3_link 
4——sec_mode_unknown 
Param2 加密模式,取值如下: 
0——hci_enc_mode_off 
1——hci_enc_mode_pt_to_pt 
2——hci_enc_mode_pt_to_pt_and_bcast 
默认值:0,0 
 
23、从蓝牙配对列表中删除指定认证设备(Authenticated Device): 
指令 
响应 
参数 
Param:蓝牙设备地址 
OK 
AT+PMSAD= 
举例说明: 
从配对列表中删除蓝牙地址为:12:34:56:ab:cd:ef的设备 
at+rmsad=1234,56,abcdef\r\n 
OK——删除成功 
或 
at+rmsad=1234,56,abcdef\r\n 
FAIL——配对列表中不存在 12:34:56:ab:cd:ef蓝牙设备 
 
24、从蓝牙配对列表中删除所有认证设备(Authenticated Device): 
指令 
AT+RMAAD 
响应 
OK 
参数 
无 
举例说明: 
从配对列表中删除所有蓝牙设备 
at+rmaad\r\n 
OK 
25、从蓝牙配对列表中查找指定的认证设备(Authenticated Device): 
参数 
指令 
响应