小编刚开始接触HC-05蓝牙透传模块,只是感到很神奇。但对它的原理和使用方法一无所知。做项目要用到它的时候,无非就是代码复制粘贴,有种照搬照抄的意思。
但是今天小编要谈谈一段时间内对HC-05学习的心得。如果你有这方面(做项目用到过HC-05)实操的话,就不用看小编的这篇文章了,建议直接学习野火的YH-HC05蓝牙透传模块 用户手册 即可。对HC-05一点认知还没有的建议看看我的文章。直接上正题。
一、从实物方面和应用方面来认识HC-05蓝牙透传模块。
(1)实物方面:

它有六个引脚,引脚的作用如下(看引脚名称和说明即可,其他的是野火stm32具体应用说明):

那么这样我们就从实物方面了解了他长什么样,引脚都是干嘛的。

(2)应用方面:
我们以单片机为例,通过上表我们知道,如果单片机的项目里要用到HC-05蓝牙透传模块的话,至少要连4根线:
单片机TX——蓝牙模块RX
单片机RX——蓝牙模块TX
电路里的VCC——蓝牙VCC
电路里的GND——蓝牙GND
这是实现通信的必连4条线。
接下来呢,我们讲一下另外两个引脚KEY和INT。在此之前你必须要把一句话铭记于心:单片机与蓝牙之间的通信实质上就是普通的串口通信

二、KEY引脚的讲解
通过表格我们知道,KEY引脚的高低决定了HC-05蓝牙模块处于什么模式,AT命令模式or透传模式。
那这两个模式有什么区别呢?
1、在AT模式下:我们能完成对HC-05蓝牙透传模块的一系列功能设置。例如设置蓝牙串口波特率、修改蓝牙名称及密码等操作。
2、在透传模式下:蓝牙模块就可以充当单片机与手机蓝牙/其他有蓝牙的单片机之间的媒介来完成互相通信。至于透传是什么意思,百度百科一下,可以把HC-05蓝牙模块当做信使来看待。

三、INT引脚的讲解
这个引脚的作用我的理解就是:
配对状态:一个蓝牙寻找另外一个或多个蓝牙设备与之连接的整个过程,在这个过程中蓝牙处于配对状态。如果这个过程结束了,蓝牙就不在配对状态。这个引脚相当于是一个状态位,个人认为这个引脚实际用处不大。

四、结合实例——自制手机app实现蓝牙控制51单片机加热系统
思路:单片机电路<——>蓝牙<——>APP
1、先看一下硬件部分的电路图:

图中U17就是HC-05蓝牙模块,注意观察它与单片机的连线。只用了最基本的4条线哦!!!。咱们一些同学可能疑惑野火的STM32F103霸道板上可是六根线都用上啦!!!这个问题咱们之后再说。

2、利用串口调试助手软件在AT指令模式下实现对HC-05的设置。
(1)下面就是我们搞蓝牙常用的串口调试助手。

(2)购买和使用能够手动进入AT模式的HC-05模块,类似下图带有按键(复位键)的。

(3)下面这些是设置蓝牙模块的具体操作的过程







注:另一个有蓝牙功能的设备是APP时,单片机端的蓝牙模块可以看做从机,因此这个项目中设置硬件电路中的蓝牙模块为成从机是没问题的。
这些AT模式下的AT指令其实对照HC-05的官方手册操作就行,还有些其他的指令就不多提了。
那么这样我们就利用软件完成了对蓝牙模块的设置。就不需要在单片机硬件电路的时候设计连接KEY引脚,还要专门编程来通过单片机使蓝牙进入AT模式,再完成相关设置,节省了我们很多资源

3、理解蓝牙是怎么充当51单片机的无线串口(信使)的作用的。
看电路图我们知道只有4根线连接VCC,GND,TX,RX。KEY(模式引脚)和INT(配对状态输出)都是悬空的。那么说明在整个电路运行时HC-05都是在透传模式。我的理解就是,让HC-05处于这种透传模式下,那么不管它是接收数据/发送数据,他只是一个中转站,对数据没有任何影响,也不做任何判断或处理。只负责接收来自单片机的数据然后发送出去,或者接收来自别的蓝牙设备数据给单片机。
至于单片机接收到数据怎么判断、处理以及怎么发送数据等就是单片机自己的事了(通过单片机编写的程序完成)。而另一端(APP来说),它怎么接收、判断、处理数据和发送数据也是APP自己是事情(通过APP自己编写的程序完成这些工作)。

4、单片机串口如何通过蓝牙将数据发给app呢?
看mian.c中的程序注释:
研究这个硬件程序的时候,自己添加注释的太多,别太介意。
链接:https://pan.baidu/s/1smT0OmQASs_bY7pNaKlDiQ
提取码:zqli
5、怎么自己制作APP,并实现接收来自单片机端蓝牙来的信息/发送信息给单片机实现功能呢?
这里不多说,建议大家学习一下appinventor在线app开发平台,里面提供了blue开发的组件,可以实现上述的功能。具体怎么操作,建议买本书,也可以看看网易云课堂的“老巫婆”教学视频先了解一下。
下面是我做的个app图形界面:

最后总结一下,写这篇文章时为了分享自己在学习app通过蓝牙控制单片机的心得。看到网上很多资料讲的很笼统,一会儿什么AT模式,一会儿什么透传模式,还有什么多机主从透传蓝牙通信等放一块了。对于身为学渣的我感到太难了,今天就特意吧pp通过蓝牙控制单片机的部分讲了讲。
如果哪位大佬觉得我讲的不对,请及时指出批评。

更多推荐

小白学习HC-05蓝牙透传模块(有实例讲解——自制手机app实现蓝牙控制单片机加热系统)第一天 :整体分析,理清思路