HC-05蓝牙模块调试从模式和主模式经历

时间:2022-04-23 22:20:42

HC-05蓝牙模块调试从模式和主模式经历

拿到的板子如下,我要实现蓝牙模块既可以做主站也可以做从站,

 HC-05蓝牙模块调试从模式和主模式经历

本人之前没有蓝牙的调试经验(小白一枚),拿到厂家给的AT指令和蓝牙测试软件.exe,一脸茫然,这都是啥啊,反复看了几遍AT指令集,每个指令的含义是清楚的,但是不知道每个指令的发送顺序,不知道主模式时应该调用哪些指令,从模式的时候应该调用哪些,虽然很懵逼,但是心态要正,再不济我不是还有度娘嘛,开始搜索.............

第一个网页,太深,没看懂

第二个网页,还是云里雾里

第三个网页, 知道怎么接线了

。。。。。。。

n个网页,比较照顾我这种小白,手把手的一步一步的写的比较清楚,虽然只是一个简单的从站配置和连接,也算是离成功近了一步。先试试,

 

10分钟后按照网页的配置,设置成功,手机和电脑都能搜索到蓝牙模块了,兴奋啊,万里长征走完第一步了,剩下的还有更麻烦的,我不仅要实现从站,还要实现主站,再次进行搜索,99%的都是一个类似helloworld的,只有从站的配置,主站的很少或者是 根据mac地址绑定的,不是我要的结果,再次茫然。

 

静下心来分析,网上的东西也都是大家根据官方文档来写的,只有自己种才有吃不完的菜,开始分析AT指令集,一点一点的尝试

半个小时后,终于通了,可以通过串口工具发数据到蓝牙模块,连接到蓝牙打印机,打印出数据了,中文和英文都是可以的。

 

想想自己的调试历程,也是参考了比较多的资料,现在决定整理出来供需要的朋友参考。

高手莫喷

 

 

 

 

 

使用工具:TTLusb模块

串口助手使用的是 sscom3.2

 

接线方式   蓝牙与USB转串口模块连接方式,RXD-TX TXD-RX VCC-VCC GND-GND

 

模块默认的参数如下:

 HC-05蓝牙模块调试从模式和主模式经历

 

测试AT指令:

1、如何进入蓝牙的AT模式:HC-05需要先按住模块左上角的按钮,然后上电,让某一引脚经历高电平台变为低电平的过程,即可进入AT指令设置模式。同时注意在实际HC05的购买中,有些商家会直接将一些HC-05作为从机销售,所以有些HC05模块没有焊接按钮,因此我们可以自己焊接按钮,或使用导电的物品(杜邦线、镊子),让那个引脚置高。对于HC05来说,模块指示灯快闪表示蓝牙未连接,慢闪表示进入AT模式,双闪表示蓝牙已连接并打开端口。

Ps:如果板子像我买的板子,在上点之后也可以进入AT模式,按上蓝牙模块上的按钮就进入AT模式,放开则进入通讯模式。

2、打开串口助手,选择正确的端口号。

3、设置AT需要在该模块规定的固定初始波特率下设置(HC05为38400),而有些蓝牙模块需要在你上次设置的波特率下进行AT指令的发送。

4、有些模块在发送AT指令时,需要在自己写在发送区的AT指令过后加回车"\r\n",同时注意区分大小写。

5、具体有哪些AT指令以及它们的意义需要参考该模块的《AT指令集》

从站配置:

key然后给蓝牙模块上电,电脑端软件设置好

设置如图:

 HC-05蓝牙模块调试从模式和主模式经历

如果发送AT指令之后没有回应,从新按key上电。

 

电脑端可以安装BluetoothView.exe方便查看蓝牙模块是否已工作。

 HC-05蓝牙模块调试从模式和主模式经历

 

指令详解(可以查阅AT指令集里面写的很详细):

AT:测试指令,返回OK表示通信成功
AT+PSWD=1234:设置 蓝牙配对密码
AT+PSWD?:查询是否设置成功
AT+NAME=Bluetooth-Slave :设置蓝牙显示名称,可以任意设置但是不可以超过20字符

AT+ROLE=0:设置蓝牙模块为从站,

 HC-05蓝牙模块调试从模式和主模式经历

AT+UART=38400,0,0  设置蓝牙在工作模式时的波特率,和模块在AT模式下的波特率是两回事。建议在调试的时候设置为一样的,这样就不需要频繁的切换串口工具的波特率了。

 HC-05蓝牙模块调试从模式和主模式经历

设置主站的配置信息

如图

 

 HC-05蓝牙模块调试从模式和主模式经历

1、主要指令详解

AT+ROLE=1   

AT+CMODE=0/1 (我测试用的0是之前连接过,建议使用1

AT+CMODE=0需要配合AT+bind一起使用

 

 HC-05蓝牙模块调试从模式和主模式经历

HC-05蓝牙模块调试从模式和主模式经历AT+INIT  初始化SPP规范库,作为主站必须初始化一次,否则在 执行at+inqm=1,10,15  at+inq或返回error(16)  意思是说spp库未初始化。

AT+pair AT+link是配对和连接

此时 主从已经配对完成同时蓝牙模块也从AT模式切换到了正常模式即使按着key按钮(pio10为高)

如果要断开连接 需要从新按key按钮,发送AT+DISC

 

 

补充两条指令:

AT+CLASS=0   我使用的是默认的,该指令表示的蓝牙模块的使用场景,详见指令集,也是通过AT+class修改模块的设备类,也就是说 如果模块修改为 0x1f1f,则主模块只能搜索到class0x1f1f的从站

 

 

AT+iac

 HC-05蓝牙模块调试从模式和主模式经历

 

AT+iac 默认为 0x9e8b33,该码是通用访问码, 可以修改为任意值,

主要的功能是过滤,主站只能查询和自己相同iac码的从站。