关于HC-05及BT-06蓝牙模块的一点使用心得

[复制链接]

1

主题

5

帖子

195

积分

二氧化硅

Rank: 2

积分
195
楼主
查看: 11803回复: 7 发表于 2018-11-2 12:09:17   只看该作者
  HC-05及BT-06(兼容HC-06)是常用的蓝牙无线串口模块,在实际的使用及进入AT模式时,我发现了一些小问题,在此与大家交流分享。


  首先是HC-05与USB转TTL模块的连接,TX接RXD,RX接TXD,并从TTL板上引出5V给蓝牙模块供电。HC-05还有STATE与EN两个引脚,在此不用连接。

打开串口软件,在这里可以使用串口助手,或者stc-isp中附带的串口助手。在这里有一点要注意,如果已经打开了一个串口助手,再打开另一个串口助手时就会提示端口被占用,故同时只能打开一个。



HC-05进入AT模式的方法有两种,一是按住模块上的按键同时上电,此时模块LED每两秒闪烁一次,波特率设置为38400;另一种是模块上电后按一下按键,注意此时模块进入AT模式,但LED闪烁并不会发生变化,此时不会改变模块的波特率,若之前没有设定,则为默认值9600。



这里采用串口调试助手,打开串口后将波特率设置与模块相同(默认9600,无校验位,数据位8,停止位1),在发送区输入AT,敲击一次回车,点击手动发送,则模块接受数据后会发回OK,表示连接成功并进入AT模式。



在此有一点需要特别注意,每一句AT命令后有且只能有一个回车,比如先输入AT,回车,发送,模块发回OK,然后将光标移到AT后,改为AT+ROLE,回车,试图询问模块角色,但发送后模块不会作出回应,应为第一次输入的回车依然存在,此时共有两个回车,模块无法识别。解决方法是输入过一次回车后,再改动命令后不必输入回车直接发送,或清空输入区后重新输入。
在这里附上HC-05的AT指令集
BLK-MD-HC-05_AT指令集.pdf (188.43 KB, 下载次数: 7)

不过要注意的是,使用询问指令如AT+PSWD?时,问号可加可不加,为了避免在之后使用BT-06(HC-06)时发生混淆,我个人建议不加问号。
另一点是,在修改模块参数时,如修改配对密码,指令集中给出的格式为AT+PSWD=<Param>,其中的<Param>即为所要修改的值,实际命令为:AT+PSWD=0000(修改配对码为0000)。
同时注意有且只有一个回车。



此外,在使用stc-isp附带的串口助手时,注意选择文本模式,而非HEX模式。



















打赏

参与人数 1赫兹币 +2 积分 +5 收起 理由
shengxiang + 2 + 5 赞一个!

查看全部打赏

1

主题

5

帖子

195

积分

二氧化硅

Rank: 2

积分
195
沙发
发表于 2018-11-2 12:41:02   只看该作者
对于BT-06模块的使用
BT-06模块可与HC-06模块兼容,但价格比其低很多,至于实际使用性能有何差距我还没有做过对比。HC-05为主从一体模块,而HC-06及BT-06为从机模块,只能作为从机使用。起初我还以为主机只能发送,从机只能接收,就把HC-05设为主机,想让它给手机蓝牙发送信息,结果发现手机根本无法扫描到HC-05:Q。后来才知道蓝牙是全双工的。。。同时主机能自动搜索其他从机,但不能被搜索,从机能被搜索但不能搜索其他从机,所以如果想用蓝牙模块与手机通信,使用从机模块即可。
BT-06在连线上与HC-05相同,但没有AT按键,实际上,BT-06模块在与电脑串口连接后可直接进入AT模式。此外BT-06的AT指令要加回车,但多加了不会有影响,这一点比HC-05方便不少。
不过要注意的是,BT-06与HC-05的AT指令并不相同,如询问配对码为AT+PIN,而不是AT+PSWD,大家可以自行上网查询。
另一点,BT-06的询问指令 不能 加问号,这是因为BT-06的修改命令不用加等号,再此举一例:
输入AT+NAME?试图询问模块名,但其实是将模块命名为?
输入AT+NAME=AAA试图将模块名改为AAA,但其实改为了=AAA
正确的格式为:
AT+NAME           询问模块名称
AT+NAMEAAA      修改模块名称为AAA
AT+PIN               询问模块配对码
AT+PIN0000        修改模块配对码为0000
同时记得每条指令后加回车。


1

主题

5

帖子

195

积分

二氧化硅

Rank: 2

积分
195
板凳
发表于 2018-11-2 12:45:55   只看该作者
串口调试助手和stc-isp都很容易被Windows Defender及Macfee误删,大家记得加入信任:lol

1

主题

11

帖子

49

积分

一粒轻沙

Rank: 1

积分
49
4#
发表于 2018-11-2 13:58:29   只看该作者
以前没有接触过,看了楼主的介绍想问一下 HC-05进入AT的两种方法里,第一种破特率设置一定要是38400吗,如果是固定的数值,因为第二种方式说了不会改变模块的波特率,那第一种是自动变成38400的还是需要手动的? 谢谢楼主

1

主题

5

帖子

195

积分

二氧化硅

Rank: 2

积分
195
5#
发表于 2018-11-2 16:01:32   只看该作者
青山入我怀 发表于 2018-11-2 13:58
以前没有接触过,看了楼主的介绍想问一下 HC-05进入AT的两种方法里,第一种破特率设置一定要是38400吗,如 ...

第一种模式蓝牙模块会自动以38400的波特率与PC通信,这是为了防止用户忘记原来设定的波特率,在此模式下蓝牙模块原来的波特率不会改变(只是暂时设置为38400,如果拔下蓝牙模块,它还是用原来设定的波特率),用户可以查询或修改原来的波特率。

1

主题

11

帖子

49

积分

一粒轻沙

Rank: 1

积分
49
6#
发表于 2018-11-5 11:23:05   只看该作者
哦哦哦~谢谢楼主 感觉挺有意思的找时间试试~

0

主题

5

帖子

240

积分

二氧化硅

Rank: 2

积分
240
7#
发表于 2019-5-23 11:13:10   只看该作者
不错不错,很详细

0

主题

1

帖子

46

积分

一粒轻沙

Rank: 1

积分
46
8#
发表于 2020-9-22 15:55:31   只看该作者
邓俊彬 发表于 2019-5-23 11:13
不错不错,很详细

nice!!!perfect!!!
快速回复 返回顶部 返回列表