文章目录

  • 1 蓝牙模块HC-05
  • 1.1 简介
  • 1.2 管脚
  • 2 Arduino与HC-05连接
  • 3 蓝牙功能测试
  • 3.1 代码
  • 3.2 蓝牙配置
  • 3.3 蓝牙与手机连接
  • 4 两个蓝牙模块相互连接


1 蓝牙模块HC-05

1.1 简介

HC-05蓝牙模块是一种基于蓝牙协议的简单无线通信设备。该模块基于BC417单芯片蓝牙IC,符合蓝牙v2.0标准,支持UART和USB接口。

iiot和iot蓝牙模块_iiot和iot蓝牙模块

1.2 管脚

HC-05蓝牙模块有六个管脚,分别为:STATE、RXD、TXD、GND、VCC、EN。

  • STATE:状态指示。未连接时输出低电平,连接时输出高电平。
  • RXD:UART接收引脚(和MCU的TXD相连)。电平是3.3V,接5V的TXD需电压转换
  • TXD:UART发射引脚(和MCU的RXD相连)。
  • GND:接地。
  • VCC:接电源,可以用+5V。
  • EN:使能。接地禁用模块,悬空或接3.3V使能。

2 Arduino与HC-05连接

LED非必要。

RXD——D11,图中有电压转换。

TXD——D10。

iiot和iot蓝牙模块_单片机_02

3 蓝牙功能测试

3.1 代码

蓝牙接收和发送功能测试。

#include <SoftwareSerial.h>
// 设置Arduino软件串口,10-RX,11-TX
const int BT_RX = 10;
const int BT_TX = 11;
// Pin10为RX,接HC05的TXD
// Pin11为TX,接HC05的RXD
SoftwareSerial BT(BT_RX, BT_TX );
char val;
void setup() {
	Serial.begin(38400); //初始化Arduino串口,波特率自定,这里选38400
	Serial.println("BT is ready!"); //测试与PC之间串口是否正常,正常则显示上述文字,异常则显示乱码
	BT.begin(38400); // HC-05的AT模式默认通信波特率为38400
}
void loop() {
	if (Serial.available()) {
		val = Serial.read();
		BT.print(val); //将PC发来的数据存在val内,并发送给HC-05模块
	}
	if (BT.available()) {
		val = BT.read();
		Serial.print(val); //将HC-05模块发来的数据存在val内,并发送给PC
	}
}

3.2 蓝牙配置

  1. 上传代码。
  2. Arduino断电,按住HC-05模块上的按钮,将Arduino与PC连接,发现HC-05模块指示灯2秒周期慢闪,即进入AT模式。
  3. 打开PC串口调试助手,显示“BT is ready!”。
  4. 发送AT指令配置蓝牙模块。修改蓝牙名称、配对密码,从模式,任意地址连接。

常用AT指令有:

  • AT+NAME:查询修改蓝牙名称。
  • AT+NAME或AT+NAME?,返回蓝牙名称。
  • AT+NAME=XXX,修改蓝牙名称为XXX。
  • AT+ROLE:查询修改主从模式。
  • AT+ROLE或AT+ROLE?,返回当前主从模式,1表示主机,0表示从机。
  • AT+ROLE=X,修改主从模式,X为1或0,对应主机和从机。
  • AT+CMODE:查询修改连接模式。
  • AT+CMODE或AT+CMODE?,返回连接模式,1表示任意蓝牙地址连接模式,0表示指定蓝牙地址连接模式,需要地址绑定
  • AT+COMDE=X。
  • AT+PSWD:查询修改配对密码。
  • AT+PSWD或AT+PSWD?,返回密码,默认是1234。
  • AT+PSWD=XXXX,XXXX为新密码。
  • AT+ADDR:查询蓝牙模块地址。
  • 返回蓝牙模块地址,如98d3:91:fd3d35。
  • AT+BIND:查询修改绑定连接地址。
  • AT+BIND或AT+BIND?,返回绑定连接地址。
  • AT+BIND=XX,XX,XX,修改绑定地址,在CMODE=0时可用,注意冒号改为逗号。
  • AT+UART:查询修改串口波特率。
  • AT+ORGL:复位蓝牙模块。
  • AT+RMAAD:清空配对列表。

3.3 蓝牙与手机连接

  1. 手机打开蓝牙调试助手。
  2. 设置好蓝牙模块后,断电重新上电,HC-05进入正常模式(指示灯快速连闪),打开PC上的串口助手。
  3. 手机找到蓝牙后进行连接,连接成功后HC-05上的指示灯将进入2s周期的快速双闪。
  4. 此时手机发送数据可在PC串口助手显示,PC串口发送数据可在手机显示。

4 两个蓝牙模块相互连接

配置蓝牙A为主机,指定地址连接;蓝牙B为从机。

  1. 蓝牙A、B进入AT模式。
  2. 设置B配对码,AT+PSWD=“0000”。
  3. 设置B从模式,AT+ROLE=0。
  4. 查询B地址,AT+ADDR,得到B地址XX:XX:XX。
  5. 设置A配对码,AT+PSWD=“0000”。(一定要一样)
  6. 设置A主模式,AT+ROLE=1。
  7. 设置A指定地址连接,AT+CMODE=0。
  8. A绑定B,AT+BIND=XX,XX,XX。
  9. 重新上电,连接成功后HC-05上的指示灯将进入2s周期的快速双闪。