原文链接:https://blog.****.net/m0_37697335/article/details/84431240
蓝牙模块是电子开发经常使用的模块,通常使用串口协议的方式与蓝牙通信, 从而完成数据的传输,串口通信很常见,用起来也很简单,几乎所有的单片机都配有串口通信功能。
蓝牙模块用于小数据量的无线传输,使用很方便。 但是由于需要统一的传输格式,诸如波特率、 校验位等不同,所以蓝牙经常需要修改自身设定的传输数据格式。
要用到的软件(蓝牙测试程序)下载链接:https://pan.baidu.com/s/12CvHYHLEeC7J4Tw1Cmy8nw
HC05是主从一体的模块,也就是既可以作为从机(只能被别的模块请求连接),也可以作为主机(可以主动连接别的蓝牙模块)。配置蓝牙模块要使用AT命令操作。
首先,需要的是蓝牙模块和一个USB转TTL的模块,如下图:
蓝牙模块原理图:
要使用 AT 命令,首先要知道 HC-05 的波特率,然后要进入 AT 命令模式。使用串口一定要知道三要素,一是波特率,二是串口号,三是数据格式,HC-05只支持一种数据格式: 数据位8 位,停止位1 位,无校验位,无流控制。后面不再对数据格式进行描述。
进入AT 命令模式的方式:
USB转TTL模块未插入电脑前,按住按键(上图标记的key处,如果没有按键,可短接PIO11口至高电平(一般为3.3V),如原理图所示),然后USB转TTL模块插入电脑通电,若此时灯是慢闪(2s间隔),则模块已进入AT命令模式,,此时可松开手,默认波特率是38400;此模式我们叫原始模式。原始模式下一直处于AT命令模式状态。
打开蓝牙测试软件:按图示步骤进行。
需要注意的是,1、在波特率要选择正确,此处是原始模式,所以是38400。2、AT命令后面需要换行,然后点发送命令才有效,如果没有换行,发送命令,软件只会把它们当作是字符。
下面记录一下几种需要配置的场合。
一、更改波特率。
比如,我设置的波特率为4800,则输入指令如下指令,效果如下下图所示,说明修改成功,经测试确认成功。
AT+UART=4800,0,0(这里加个回车)
二、修改蓝牙模块密码
修改密码的AT指令格式如下:(以修改后的密码为1314为例)
AT+PSWD=1314(这里加回车)
三、修改蓝牙模块名字
修改模块名字的AT指令如下:(修改后的名字为FlyTo-X),FlyTo-X本人博客名。。。
AT+NAME =FlyTo-X(这里加回车)
附录一:主从机配置方法
附录二:比较完整的AT指令说明
1, AT+ROLE设置主从模式:
AT+ROLE?是查询主从状态;AT+ROLE=1是设成主,AT+ROLE=0是设成从,AT+ROLE=2设成回环角色(Slave-Loop(回环角色)——被动连接,接收远程蓝牙主设备数据并将数据原样返回给远程蓝牙)。
2, AT+RESET:HC-05复位
3, AT+VERSION?:获取HC-05的软件版本号,只能获取,不能修改。
4, AT+ORGL:恢复出厂默认设置,当把模块设置乱了,使用此命令进行恢复默认值。
5, AT+ADDR?:获取HC-05的蓝牙地址码,只能获取,不能修改。
6, AT+NAME?:获取HC-05的名字,AT+NAME=BSP-06,修改模块的名字为BSP-06,具体名字自行修改。
7, AT+CLASS?:设置查询设备的类型,尽量不要去修改此参数。默认是1F00。
8, AT+IAC?:查询设置查询访问码,默认是9E8B33,尽量不要去修改此参数。
9, AT+PSWD?:查询设置配对密码,AT+PSWD=”0000”,密码要有双引号,密码是四位数字.
10, AT+UART:AT+UART?是查询当前模块的波特率,AT+UART=波特率,0,0。
11, AT+CMODE:AT+CMODE?是查询当前连接模式。AT+CMODE=0,1,2(0——指定蓝牙地址连接模式(指定蓝牙地址由绑定指令设置)1——任意蓝牙地址连接模式(不受绑定指令设置地址的约束)2——回环角色(Slave-Loop)默认连接模式:0)。
12, AT+BIND:AT+BIND?查询当前绑定地址,AT+BIND=NAP,UAP,LAP(用逗号隔开)。
13, AT+RMADD:从蓝牙配对列表中删除所有认证设备.
14, AT+STATE?:获取蓝牙模块工作状态.
15, AT+LINK=NAP,UAP,LAP:与远程设备建立连接。
16, AT+DISC:断开连接.
17, AT+RNAME?NAP,UAP,LAP:获取远程蓝牙设备名称.
18, AT+ADCN?:获取蓝牙配对列表中认证设备数。
19, AT+MRAD?获取最近使用过的蓝牙认证设备地址。
20, AT+INQM:设置查询模式,AT+INQM=1,9,48(1-带RSSI信号强度指示,9-超过9个蓝牙设备响应则终止查询,48-设定超时为48*1.28=61.44秒)