如何使用Arduino轻松更改蓝牙模块名称
文件列表(压缩包大小 970B)
免费
概述
在这个项目中,你将学习如何命名蓝牙模块,并检测蓝牙工作状态。
Arduino UNO
HC-06蓝牙模块
杜邦线
面包板
Arduino IDE
你是否注意到当我们购买带有蓝牙的设备并且信号以品牌或设备的名称命名时有多有趣?
我之所以这样说,是因为我一直很想了解它的工作原理,并以我自己项目的名称来命名模块。
这很简单,但是在两点上有所不同:配对时识别模块,并使用设备名称自定义原型。
我想你有这个问题,或者至少是好奇地学习如何在原型模块中实现此功能。
要了解此配置,你将在此例程中学到以下几点:
首先,我想告诉你了解蓝牙模块及其与Arduino的连接过程的重要性。购买时,你会发现模块HC-05和HC-06。这是Arduino社区广泛使用的两个模块。这些模块之间的主要区别在于HC-05模块可以用作主机或从机。
从模式允许其具有由另一设备发起的通信,而主模式允许蓝牙模块发起与任何其他蓝牙设备的通信。而HC-06蓝牙模块只能作为从属模式。
现在,我想向你介绍可用于与Arduino通信蓝牙模块的基本结构。实际上有两种方法,但是我将解释为什么这种方法将对你的项目有用。
我选择在下图中向你介绍此模型,因为我们将使用TX和RX引脚进行串行通信,所以他们将被占用,我们将无法通过蓝牙通信共享相同的引脚。
为避免此问题,我们将使用SoftwareSerial库来模拟Arduino端口10和11上的其他串行引脚,如下图所示。
电子电路配置
从上面的组装图中,我们将看到如何连接我们自己的设备。
术语“ AT”来自“注意”一词,这个命令是用于操作蓝牙模块的指令。在此命令结构中,所有指令都必须以前缀AT开头,例如AT + COMMAND。
因此,要通过这些命令配置蓝牙模块,要知道要使用哪些命令,访问蓝牙模块的数据表很重要。在那里,你将找到可用于配置模块的所有说明。
现在,我将开始配置HC-06模块。要配置蓝牙模块,我们需要一个代码来发送AT命令。
发送用于蓝牙模块的AT命令的代码
以下代码用于通过Arduino串行发送AT指令并将其发送到Bluetooth模块。
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
String command = ""; // Stores response of bluetooth device
// which simply allows \n between each
// response.
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(115200);
Serial.println("Type AT commands!");
// SoftwareSerial "com port" data rate. JY-MCU v1.03 defaults to 9600.
mySerial.begin(9600);
}
void loop()
{
// Read device output if available.
if (mySerial.available())
{
while(mySerial.available())
{ // While there is more to be read, keep reading.
command += (char)mySerial.read();
}
Serial.println(command);
command = ""; // No repeats
}
// Read user input if available.
if (Serial.available())
{
delay(10); // The DELAY!
mySerial.write(Serial.read());
}
}
上面的代码用于接收由Arduino IDE发送的AT命令。从IDE收到的命令中,它们将被发送到Bluetooth模块以配置其功能。
毕竟,如何知道模块是否正常工作并响应Arduino发送的命令?
当数据传输或接收出现问题时,这是许多人提出的问题之一。许多人认为模块已损坏,不了解如何分析这些问题。
这就是为什么我总是反复说,了解模块的控制和配置功能的原因。它们将帮助你解释应用程序中可能存在的不良行为。
之所以说这一点,是因为我想告诉你有关AT功能的信息,如下图所示。
用于测试Arduino和蓝牙模块之间的通信的AT命令。
此功能负责测试Arduino与模块之间的通信。因此,每次执行AT命令时,模块都必须将OK消息发送到Arduino IDE的串行监视器。
该OK消息有助于我们得出结论,即我们的模块正在工作并且正在与Arduino正确通信。
执行完此命令后,我们需要准备模块以与Arduino相同的串行通信速度工作。
我们如何配置蓝牙模块的通信速度?
我经常说这是许多人错过的要点之一。他们在Arduino上选择串行通信速度,但是,蓝牙模块的传输速度设置为另一个值。
显然,这将带来通信问题,而且很多时候人们不知道如何检测这些问题,因为他们不了解如何使用AT命令配置模块。
这样做的结果是,用户指出模块的功能存在问题,但是事实是,模块的配置方式不足以适合应用程序。
为避免此问题,请从AT命令执行测试,并使用AT + BAUDX配置命令来设置蓝牙模块的波特率。
X值表示已配置的速度参数,如下所示。
首先,检查用于串行通信的速度,并将模块的速度调整为相同的传输速率。因此,如果使用命令行AT + BAUD8,则将为蓝牙模块配置115200bps的波特率。
配置蓝牙模块的波特率
这样,你就可以完全控制通讯速度,并避免模块和Arduino之间的通讯错误。
除了速度外,我们还必须配置两个非常重要的参数:模块名称和密码。这些参数对于在设备和蓝牙模块之间建立通信至关重要。
毕竟,如何配置这两个参数?
首先,为模块命名有两点:在列表中标识你的设备,其次,在模块本身中插入设备/品牌的名称。
要执行此过程,请使用以下AT + NAME语句。从那里开始,使用以下指令:AT + NAMEsilicioslab,如图4所示。
配置蓝牙模块的名称。
执行此命令后,该模块将命名为silicioslab。
连接在名为silicioslab的蓝牙模块中的手机。
除了更改名称外,为用户设置密码也很重要。密码是根据以下指令AT + PINXXXX定义的。
从该指令中,你必须选择一个4位数的密码并执行以下命令,例如:AT + PIN4444。
执行此命令时,用于访问模块的新密码将为4444。
配置蓝牙模块的Pin密码。
因此,根据上述步骤,可以配置整个蓝牙模块,并确保与Arduino的通信将安全进行。
由于通过AT配置说明可以执行以下操作,因此可以保证此信息:
通过这种方式,可以了解掌握器件的指令和数据表的重要性。
除了可以控制设置外,我们还可以保证应用程序中模块结构的正常运行。学习使用蓝牙模块来掌握功能并在项目中创建安全的应用程序
所有需要的文件在下载区均可找到。
via:https://www.hackster.io/326335/how-to-change-the-bluetooth-module-name-easily-with-arduino-f44eaf
如果遇到文件不能下载或其他产品问题,请添加管理员微信:ligongku001,并备注:产品反馈
评论(0)