APP下载

蓝牙技术在单片机控制中的应用

2021-11-06吴赓

机电信息 2021年26期

摘 要:蓝牙技术,是一种无线数据传输技术,在短距离无线数据传送中有很大的应用需求。鉴于此,在介绍蓝牙无线通信模块HC-05的结构和应用,蓝牙模块的配对设置的基础上,对应用两个蓝牙模块实现两个单片机之间时钟显示的数据传输进行了分析,实现了单片机之间的无线通信。

关键词:蓝牙技术;蓝牙无线通信模块;单片机通信

1    蓝牙技术概述

(1)蓝牙技术是一种无线数据传输技术,在短距离无线数据传送中有很大的应用需求。蓝牙无线通信在单片机应用系统中可以实现两个单片机串口之间的无线通信,也可实现手机和单片机之间的无线通信,并能实现双向数字传输,这就给单片机无线控制和应用提供了新的方法[1]。

在单片机中应用蓝牙技术,可以实现近程无线通信,搭建蓝牙新功能的单片机系统应用平台,可以为单片机开发应用技术增加新的内容。

(2)本文使用的蓝牙无线通信模块是HC-05蓝牙应用模块,它有两种工作模式,即接收指令工作模式和自动连接工作模式。在自动连接工作模式下,模块的工作模式有3种,分别为主机模式、从机模式和回环模式。常用的自动连接工作模式分别是主机模式和从机模式配对进行数据传输。选定使用的工作模式并再次上电后,模块就会自动按照设定好的工作模式进行数据发送和接收[2]。

模块实物图如图1所示。

模块引脚说明如表1所示,电路原理图如图2所示。

2    HC-05蓝牙无线通信模块的设置

HC-05蓝牙无线通信模块需要在设置后才能使用,具体的设置过程如下:

(1)首先要准备USB转TTL模块,将USB转TTL转换模块连接到电脑的USB口上,然后利用串口调试助手进行蓝牙模块的AT命令调试,这时蓝牙模块的工作方式是接收指令工作模式。

(2)USB转TTL模块与HC-05的连接如图3所示,USB转TTL模块的RXD接HC-05蓝牙无线通信模块的TXD端,USB转TTL模块的TXD接HC-05蓝牙无线通信模块的RXD端,然后两个模块的VCC端相连接,两个模块的GND端相连接。

(3)当蓝牙模块的工作方式是接收指令工作模式时,能执行AT命令,用户可通过串口调试助手向模块发送各种AT指令,为模块设定控制参数或发布控制命令。HC-05蓝牙应用模块常用的AT指令详细介绍如表2所示。

进入命令响应工作模式有两种方法:(1)模块上电,未配对情况下就是AT模式,波特率为模块本身的波特率,默认为9 600,发送一次AT指令时需要置高一次PIO11;(2)PIO11置高电平后,再给模块上电,此时模块进入AT模式,波特率固定为38 400,可以直接发送AT指令。

置高一次PIO11是指在蓝牙模块中有一个小按键,按一下就置高一次PIO11。也就是说,第一种方法需要每发送一次AT指令按一次;而第二种方式是长按的过程中上电,之后就无须再管了,直接发送AT命令即可。需要注意的是,两种进入命令响应工作模式的方式使用的波特率是不一样的,建议使用第二种方式。

怎么区分是否进入了命令响应工作模式呢?在蓝牙模块上有灯,当灯快闪的时候,就是自动连接工作模式;当灯慢闪的时候,就是命令响应工作模式[2]。

(4)AT命令简介:进入到命令响应工作模式之后,就可以使用串口调试助手进行蓝牙调试了。需要注意的是,AT指令不区分大小写,均以回车、换行结尾。

(5)蓝牙模块的配对设置:

1)设置第一个HC-05蓝牙无线通信模块。

串口调试助手XCOM将蓝牙模块1恢复默认设置:AT+ORGL,并发送。

设置蓝牙模块1配对码,配置蓝牙1的配对码:AT+

PSWD=“0000”,并发送。蓝牙1与蓝牙2的配对码自己随意设置,但必须一样,这样才能成功配对。

设置1主模式串口调试助手A,将蓝牙A配置为从机模式:AT+ROLE=1,并发送。

蓝牙模块1绑定蓝牙模块2地址。AT+BIND=98d3,32,30d8ea,这个地址是查询蓝牙模块2的地址后得出的數据。

确认绑定地址,串口调试助手XCOM输入:AT+BIND?设置串口波特率串口调试助手XCOM,设置蓝牙1的串口波特率,输入AT+UART=56700,0,0。

设置蓝牙模块1的连接模式为0,即AT+CMODE=0。数据0的含义是蓝牙连接模块必须按照指定蓝牙地址进行连接,这样第一个蓝牙模块1才能自动连接第二个蓝牙模块2。

2)用另外一个串口助手设置另外一个HC-05。

与设置蓝牙模块1的方式相同,先恢复蓝牙模块2默认设置。

设定蓝牙模块2配对码,要与蓝牙模块1的配对码相同。

设置蓝牙模块2为主模式,将蓝牙模块2配置为主机模式:AT+ROLE=0,并发送,因为此前蓝牙模块1已经配置成为从机模式了。

查询蓝牙模块2地址,查询蓝牙模块2地址的AT命令是:AT+ADDR?发送得到蓝牙2的地址:98d3:32:30d8ea,将这个地址返回给蓝牙模块1,这样才能够在蓝牙1中使用指定地址连接模式。

设置串口波特率,设置蓝牙模块2的串口波特率,输入AT+UART=56700,0,0。两个蓝牙模块的串口波特率的设定要相同,如果使用串口调试助手发送和接收数据,波特率可以是56 700,这样传输数据比较快速。如果使用蓝牙模块传输数据,那么波特率最好使用9 600,这样传输数据比较稳定[3]。

(6)常规工作模式:重新上电后两个蓝牙模块都进入常规工作模式,各自的蓝牙模块会自动搜索相同绑定地址的蓝牙配对模块,完成配对。之后,两个蓝牙模块之间就能通过单片机的串行口传递主模块发给从模块的数据了。

3    利用两个HC-05蓝牙无线通信模块连接两个单片机进行串行通信

两个HC-05蓝牙无线通信模块设置好之后,两个单片机就可以像串口通信一样使用HC-05蓝牙无线通信模块进行单片机之间的数据传送。两个连接在各自单片机上的蓝牙模块传输单片机实时时钟数据如图4所示。通过HC-05蓝牙无线通信模块,可以实现单片机之间和单片机与外设之间的短距离无线数据传输,从而简化了单片机控制系统的接线,提高了单片机控制方式的多样性、便捷性和智能化程度。

4    结语

通过两个蓝牙模块的设置,可以实现单片机之间的无线短程通信,取消单片机串口之间需要导线连接的通信线路,提高单片机应用的灵活性,有利于进一步开发应用各种单片机无线控制技术。

[参考文献]

[1] 蓝牙[EB/OL].[2021-07-10].https://baike.baidu.com/

item/%E8%93%9D%E7%89%99/102670?fr=aladdin.

[2] 两个蓝牙HC-05的完美配对学习笔记[EB/OL].(2018-08-

01)[2021-07-10].https://blog.csdn.net/seek97/

article/details/81333701.

[3] 两个HC-05蓝牙模块互相绑定构成无线串口模块[EB/OL].

(2018-10-29)[2021-07-10].https://blog.csdn.net/

whik1194/article/details/83513657.

收稿日期:2021-07-19

作者简介:吴赓(1970—),男,福建福州人,硕士研究生,讲师,研究方向:单片机应用技术。