HC05蓝牙模块主机与从机进行连接通信

原文链接:https://www.yourcee.com/newsinfo/2925991.html

请添加图片描述

点击图片购买

HC-05蓝牙模块简介

HC-05蓝牙模块采用串口通信,是一款基于 Bluetooth Specification V2.0 带 EDR 蓝牙协议的数传模块,最远可以实现10米的通信距离,板载自带LED灯可以较为直观的观察到蓝牙所处的工作状态,模块主要采用串口AT指令的方式进行参数配置与数据通信
相比较于HC-06等从机模块HC-05具有主从一体,可自行配置工作于主机或从机模式下,模块指示灯可指示模块处于AT模式(参数配置)、主机未记录从机地址、主机记录从机地址等多个状态,具体可参照下表

指示灯状态状态
AT模式慢闪(常亮长灭的闪烁)38400波特率方式
主机未记录从机地址快速闪烁
主机记录从机地址慢闪(长时间灭然后闪烁一下)
配对并连接成功指示灯两闪一停

使用前连线

HC-05模块接口较为简单,上面已经板载了按键可以直接进入AT模式,在接串口用电脑进行配置通信的时候仅仅只需要供电以及UART四根线接上即可,通信用引脚功能对照下表就行

引脚名称功能
VCC电源正,3.2~6V供电
GND电源负,地
TXD数据发送端
RXD数据接收端

模块通信为TTL电平UART协议,要在电脑上面通信的话需要USB-TTL模块进行电平转换(虽然电脑也是串口协议但是使用的USB电平),个人推荐下面这个土豪金小板(一块板子用了三年,供电足,通信兼容也好,美滋滋)

请添加图片描述

点击图片购买

接线在HC-05模块背面有上表对应引脚的丝印,USB-TTL模块也有对应的引脚丝印,具体接线直接对着下表去连接就行,值得一说的是TXD数据发送端和RXD数据接收端需要交叉接线才能一端发送一端接收

HC-05USB-TTL
VCC5V
GNDGND
TXDRXD
RXDTXD

说明一下,主机与从机配对是需要两个HC-05的,因此也需要两个USB-TTL模块(问一个模块能不能自己和自己配对的也是醉了),两个模块接线都是一样的接,下面进入AT模式对参数进行配置

参数配置

参数配置需要进入AT模式发送指令才会有效,对此手册中也有进行说明

1、模块上电,未配对情况下就是AT 模式,波特率为模块本身的波特率,默认:9600,发送AT 指令时需要置高一 次PIO11。
2、PIO11 置高电平后,再给模块上电,此时模块进入AT 模式,波特率固定为:38400,可以直接发送AT 指令
(注:当用户忘记模块本身波特率时,使用第二种方法固定为38400,平时建议用户使用第一种方法进入AT 模式!)

其中置高电平PIO11是指的将模块上的按键按下去一次,模块已经将这部分做成了按键的形式,我们使用第二种方式去进行配置,在上电前将按键按住不松,然后插电,这个时候会发现模块上的指示灯处于慢闪(常亮长灭的状态),如果没有就是没进入AT模式,这个也是比较好区分的所以采用第二种方式进入AT模式

从机模块配置

指示灯正常闪烁之后我们打开电脑的设备管理器查看端口号,我这里查看识别为COM4,请记住这个端口号,我们会将这个端口的模块设置成从机模式

在这里插入图片描述

打开一个串口软件,这里使用XCOM(网上可以随便找,大同小异),有需要手册以及串口软件的可以在下方或者私信邮箱打包好给你发过去,回到串口软件界面

在这里插入图片描述
参数配置成如上所示,串口选择COM4(根据上面自己电脑识别的去选择),波特率后面的参数照着上面的选,下面发送新行的位置勾选起来,先发送一个AT观察有没有OK返回,返回OK之后就可以开始配置参数了

下面看到主机与从机配对时从机需要使用的AT指令以及功能,我们将端口4所在的模块设置成从机

AT指令功能
AT测试指令,响应:OK
AT+ORGL恢复默认设置,具体可以配置详情参考手册,响应:OK
AT+ROLE=0将模块设置成从机模式,响应:OK
AT+ROLE?查询模块当前的模式,这里用来确定前面设置生效了
AT+ADDR?获取模块蓝牙地址
AT+ PSWD=1122设置配对码为1122
AT+ PSWD?查询模块当前的配对码
AT+UART?查询当前串口参数

以上参数拍好了顺序按照上面的顺序一条一条发送就行,在串口软件界面选择多条发送,将上面的指令按顺序写入编辑框中,可对照下图

在这里插入图片描述

点击后面的0,1,2…对应按钮之后会得到类似下面一组的数据返回

OK
OK
OK
+ROLE:0
OK
+ADDR:2021:1:113965
OK
OK
+PSWD:1122
OK
+UART:38400,0,0
OK

返回的 +ROLE:0 参数的 0 代表正确设置为了从机模式
参数 +ADDR:2021:1:113965 后面一串数字 2021:1:113965 为从机模块的地址,不同的模块获取到的数据不一样,这里记住这串数字后面设置主机模块的时候需要用到
参数 +PSWD:1122 1122 为设置的配对码,跟着设置成一样的就行,想要修改的话后面设置主机的时候需要一起进行修改

主机模块配置

主机模块我们按照之前的方式一样去连线然后按住按键上电进入AT模式,同样的在设备管理器里面能看到新出现一个设备,记住他的端口号,我这里是COM9

在这里插入图片描述
我们这里为了避免和从机模块用的串口搞混用另一个串口软件,打开之后参数配置成和下图一样的38400波特率,勾选发送新行,发送一个AT看有没有返回OK,有OK我们就顺利进入下一步设置

在这里插入图片描述
下一步可以参照下表整理的这次连接需要用到的AT指令以及功能简介,更多的指令可以参考HC-05 AT指令集文档,里面还有非常多的指令,本次用不上就不做介绍了

AT指令功能
AT测试指令,响应:OK
AT+ORGL恢复默认设置,具体可以配置详情参考手册,响应:OK
AT+ROLE=1将模块设置成主机模式,响应:OK
AT+ROLE?查询模块当前的模式,这里用来确定前面设置生效了
AT+ PSWD=1122设置配对码为1122
AT+ PSWD?查询模块当前的配对码
AT+CMODE=0设置为指定蓝牙地址连接模式(地址由绑定指令设置)
AT+BIND=2021,1,113965绑定蓝牙地址设置为:2021,1,113965,以自己的模块为准修改
AT+BIND?查询绑定蓝牙地址
AT+UART?查询当前串口参数

以上有几条指令不能照抄
指令 AT+ PSWD=1122 后面的参数 1122 一定要和上面设置从机的时候设置成一样的,不一定要是1122但是一定要是一样的
指令 AT+BIND=2021,1,113965 后面的地址是设置的 2021,1,113965 是因为上面从机配置时使用指令 AT+ADDR? 获取的地址为 2021:1:113965,不同模块获取到的会存在差异,

注意:要将获取到的从机地址中间的冒号 : 用逗号 , 代替去发送 AT+BIND 设置绑定地址的指令

串口软件配置界面可参照下图按顺序去发送

在这里插入图片描述
接收的数据参照如下的格式去做比对,如果返回了其他的异常数据一定要去检查问题在哪里

OK
OK
OK
OK
+ROLE:1
OK
OK
+PSWD:1122
OK
OK
OK
+BIND:2021:1:113965
OK

最后的时候可以发送一条 AT+UART? 指令来查询当前的波特率是多少去设置通信的时候的参数,用过的模块不一定知道波特率多少

重新上电

模块不要按按键直接断电之后重新上电等待一会两个模块的指示灯会从快闪转变成指示灯两闪一停的状态为连上了,我这里两个模块用 AT+UART? 指令查询的波特率都为*38400* ,重新打开串口助手参数设置为*38400* (根据自己两次获取的串口参数而定)之后就可以双向直接收发数据通信了

在这里插入图片描述

串口软件可能有点BUG第一行的数据会乱码,问题不大

总结

HC-05为市面上较为经典的蓝牙模块,指令集齐全又同时具有主从机一体的功能使用起来方便,非常适合无线串口参数获取或调节,这篇文章主要以主机与从机相互连接的AT指令为主,也是较多的人需要用到但是没有对此有相关说明的部分,写完这篇文章希望对使用HC-05的小伙伴会有帮助
需要手册、软件等资料的朋友在下方留言或者私信邮箱即可,看到就会发过去,欢迎留言交流,大家互相学习互相进步!

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值