前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >HC-05蓝牙模块主从机通信

HC-05蓝牙模块主从机通信

作者头像
知否知否应是绿肥红瘦
发布2025-02-19 21:29:33
发布2025-02-19 21:29:33
14500
代码可运行
举报
文章被收录于专栏:Linux知识Linux知识
运行总次数:0
代码可运行
一、HC-05蓝牙模块介绍

HC-05是一款主从一体式串口蓝牙模块,使用时无需理解复杂的蓝牙协议,把它当作普通串口使用即可,串口通信为透传模式,由于它同时支持主从机模式,所以任意两个蓝牙模块之间都是可以通信的,下文将介绍如何使用两个蓝牙模块进行主从机通信。 注意:HC-05属于经典蓝牙2.0版本,与BLE蓝牙区别很大,由于BLE蓝牙没有向下兼容,所以是无法和HC05通信的。

HC-05模块实物
HC-05模块实物
HC05底板原理图
HC05底板原理图

模块引脚功能介绍如下

引脚

功能

EN

使能

VCC

3.6~6V电源输入,实测3.3V也是可以的

GND

TXD

串口发送

RXD

串口接收

STATE

连接状态 低电平:未连接 高电平:已连接

LED状态灯

状态

说明

快闪 1s两次

正常工作模式 模块进入可配对状态

慢闪 2s1次

AT模式 此时可以直接发AT指令 波特率38400

双闪 一次闪2下

已配对状态 此时是透传模式

除此之外,该模块上还有一个按键,其作用是选择是否进入AT模式。 实际通信只需要VCC、GND、TXD、RXD 四个引脚即可。

二、AT模式

HC-05有两种方式进入AT模式:

  1. 按下KEY键,然后再上电,上电后便进入AT模式,波特率38400。
  2. 正常上电,需要发送AT指令时,先按下KEY键再发送,波特率和当前通信波特率一致,默认值为9600。 注意:当模块进入已配对状态时,除非重新上电复位,否则是无法进入AT模式的,也就不能发任何AT指令。
三、AT指令与错误码

不同型号的蓝牙模块支持的AT指令集不一样,有些厂家可能“偷懒”,很多AT指令没有实现,因此需要以蓝牙模块的手册为准。 另外,AT指令必须以“\r\n”结尾,且必须大写。 这里只介绍一些常用的AT指令(仅针对HC-05)。

指令

响应

说明

AT+RESET

OK

模块复位

AT+VERSION?

+VERSION:Param OK

返回模块版本号

AT+ORGL

OK

恢复出厂设置

AT+ADDR?

+ADDR:Param OK

查询模块地址 不能设置地址

AT+NAME?

+NAME:Param OK

返回模块名称

AT+ROLE=Param

+ROLE:Param OK

Param:参数取值如下:0——从角色(Slave)1——主角色(Master)2——回环角色(Slave-Loop)默认值:0

AT+CLASS=Param

OK

Param:设备类蓝牙设备类实际上是一个 32 位的参数,该参数用于指出设备类型,以及所支持的服务类型。默认值:0

AT+IAC=Param

OK

Param:查询访问码 默认值:9e8b33

AT+PSWD=Param

OK

Param:配对码 默认名称:“1234”

AT+UART=Param,Param2,Param3

OK

Param1:波特率(bits/s) Param2:停止位 Param3:校验位

AT+CMODE=Param

OK

Param:0——指定蓝牙地址连接模式(指定蓝牙地址由绑定指令设置)1——任意蓝牙地址连接模式(不受绑定指令设置地址的约束)2——回环角色(Slave-Loop)默认连接模式:0

AT+BIND=Param

OK

Param——绑定蓝牙地址 默认绑定蓝牙地址:00:00:00:00:00:00

AT+STATE?

+ STATE:Param OK

返回模块工作状态 “INITIALIZED”——初始化状态 “PAIRABLE”——可配对状态 “INQUIRING”——查询状态 “CONNECTING”——正在连接状态

AT+INQ

+INQ: Param1,Param2,Param3,OK

扫描蓝牙设备 Param1:蓝牙地址 Param2:设备类 Param3:RSSI信号强度

AT+INQC

OK

取消扫描设备

AT+LINK=Param

OK

连接蓝牙设备 Param:远程设备蓝牙地址

AT+DISC

1、+DISC:SUCCESS——断开连接成功 OK 2、+DISC:LINK_LOSS——连接丢失 OK

断开连接

AT 指令错误代码

错误码

说明

0

AT 命令错误

1

指令结果为默认值

2

PSKEY 写错误

3

设备名称太长(超过 32 个字节)

更多指令与错误码描述详见HC-05手册HC-05手册

三、主从机配置

主机:

代码语言:javascript
代码运行次数:0
复制
AT+CMODE=1\r\n #任意地址连接 主机上电后自动连接周围存在的从机
AT+PSWD=1234\r\n #配对码配置为1234
AT+ROLE=1\r\n #主机模式

从机:(从机其实不用配置 因为模块默认就是从机模式 只要保证主从机配对码一致即可)

代码语言:javascript
代码运行次数:0
复制
AT+PSWD=1234\r\n #配对码配置为1234
AT+ROLE=0\r\n #从机机模式

以上配置可以在电脑端通过串口调试助手配置好,然后单片机接上蓝牙模块即可,模块上电后主从机会自动建立连接,连接成功后,主从机就可以通过串口通信了(透传模式 :发什么收什么)。

四、备注说明

1.AT+INQ 返回ERROR:(1F) 1F错误码在HC-05手册中没有说明,暂定为未知错误 解决方法是:尝试恢复出厂设置(AT+ORGL \r\n)另外本条指令需要通过上文提到的第二种方式发送才可以 出厂默认状态: ①.设备类:0 ②.查询码:0x009e8b33 ③.模块工作角色:Slave Mode ④.连接模式:指定专用蓝牙设备连接模式 ⑤.串口参数:波特率—38400bits/s;停止位:1 位;校验位:无 ⑥.配对码:“1234” ⑦.设备名称:“HC-05”

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-02-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、HC-05蓝牙模块介绍
  • 二、AT模式
  • 三、AT指令与错误码
  • 三、主从机配置
  • 四、备注说明
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档