HC-05 蓝牙串口通信模块应该是使用最广泛的一种蓝牙模块之一了。
HC-05 模块是一款高性能主从一体蓝牙串口模块,可以不用知道太多蓝牙相关知识就可以很好的上手。说白了,只是个蓝牙转串口的设备,你只要知道串口怎么编程使用,就可以了,实现了所谓的透明传输(透传)。
补充:透传,即透明传输(pass-through),指的是在通讯中不管传输的业务内容如何,只负责将传输的内容由源地址传输到目的地址,而不对业务数据内容做任何改变。
所以本文就介绍一下这款蓝牙通信模块的使用,包括蓝牙模块的调试、手机与蓝牙模块之间的传输、手机蓝牙与树莓派通信。 但是这仅仅是使用,以后有时间应该会对蓝牙有一个稍微深度的学习。
模块名称:HC-05 蓝牙串口通信模块
参考资料:HC-05 蓝牙串口通信模块官方资料包
知识储备:串口通信基本原理(超基础、详细版)
其他模块:USB 转 TTL 模块、手机蓝牙串口助手 app
手机蓝牙串口助手软件,可以点击链接下载:蓝牙串口。因为这是我见过所有手机端界面最好看的了,其他的界面都有点太糟糕了。
蓝牙模块的调试
准备工作
USB 转 TTL 模块与 HC-05 蓝牙模块的接线:
两模块共地,两模块共 VCC(VCC 取 5V);蓝牙模块的 RX 接转换模块的 TX,蓝牙模块的 TX 接转换模块的 RX。 如下图所示:
这个时候就要将转换模块连接到电脑上,然后利用串口调试助手进行蓝牙模块的调试。
附可能会用到的驱动:链接:https://pan.baidu.com/s/1bpYLfCr 密码:yabv
蓝牙模块的调试
HC-05 蓝牙串口通讯模块具有两种工作模式:命令响应工作模式和自动连接工作模式。 在自动连接工作模式下模块又可分为主(Master)、从(Slave)和回环(Loopback)三种工作角色。
- 当模块处于自动连接工作模式时,将自动根据事先设定的方式连接的数据传输;
- 当模块处于命令响应工作模式时能执行 AT 命令,用户可向模块发送各种 AT 指令,为模块设定控制参数或发布控制命令。
怎么进入命令响应工作模式?
进入命令响应工作模式有两种方法:
- 模块上电,未配对情况下就是 AT 模式,波特率为模块本身的波特率,默认:9600,发送一次 AT 指令时需要置高一次 PIO11;
- PIO11 置高电平后,再给模块上电,此时模块进入 AT 模式,波特率固定为:38400,可以直接发送 AT 指令。
什么叫做置高一次 PIO11?
在蓝牙模块中有一个小按键,按一下就置高一次 PIO11。 也就是说,第一种方法需要每发送一次 AT 指令按一次;而第二种方式是长按的过程中上电,之后就无需再管了,直接发送 AT 命令即可。
需要注意一下,两种进入命令响应工作模式的方式使用的波特率是不一样的,建议使用第二种方式。
怎么区分进了命令响应工作模式呢?
在蓝牙模块上有灯,当灯快闪的时候,就是自动连接工作模式;当灯慢闪的时候,就是命令响应工作模式。
AT 命令
进入到命令响应工作模式之后,就可以使用串口调试助手进行蓝牙调试了。
首先有一点,AT 指令不区分大小写,均以回车、换行结尾。 下面介绍常用的 AT 指令:
中的程序一模一样,几乎没有什么改动。
区别就是,在UART实验中,USART1是和USB转串口模块连接在一起的,然后与电脑上的串口调试助手进行通信;现在改成USART1是和蓝牙模块连接在一起的,然后和手机上的蓝牙串口调试助手进行通信。

[https://yngzmiao.blog.csdn.net/article/details/80368485?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-17.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-17.no_search_link](https://yngzmiao.blog.csdn.net/article/details/80368485?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-17.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-17.no_search_link)