电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>如何使用Arduino轻松更改蓝牙模块名称

如何使用Arduino轻松更改蓝牙模块名称

2022-12-16 | zip | 0.32 MB | 次下载 | 免费

资料介绍

描述

如何更改我的蓝牙模块的名称?

您是否注意到当我们购买带有蓝牙的设备并且信号以品牌或设备的名称命名时是多么有趣?

我说这个,因为我一直很好奇它是如何工作的,并用我自己的项目名称来命名模块。

这很简单,但在两点上有区别:配对时识别模块以及使用设备名称自定义原型。

我想你有这个问题,或者至少,很想知道如何在你的原型模块中实现这个功能。

虽然很简单,但我想教你如何做你的,不会有任何问题。

要了解此配置,您将在本阅读中了解以下几点:

  • 如何在Arduino上连接蓝牙模块
  • 它们是什么以及如何在蓝牙模块的配置中使用 AT 命令;
  • 如何测试蓝牙模块和Arduino之间的通信是否正常;
  • 如何配置速度;
  • 如何更改蓝牙设备的名称;
  • 如何配置密码以访问我们的蓝牙模块。

哇!我愿意给你多少信息请放心,一切都井井有条,我将尽可能简单地交付一切。

带有 Arduino 的蓝牙模块

我想首先告诉您了解蓝牙模块及其与 Arduino 的连接过程的重要性购买时,您会发现模块 HC-05 和 HC-06。

这是 Arduino 社区广泛使用的两个模块。这些模块之间的主要区别在于 HC-05 模块可以作为主机或从机。

因此,从模式允许它与另一个设备启动通信,而主模式允许蓝牙模块启动与任何其他蓝牙设备的通信。

最后,HC-06蓝牙模块仅作为从模式工作

现在,我想向您介绍可用于将蓝牙模块与 Arduino 通信的基本结构。

实际上有两种方法,但我将解释为什么这种方法对您的项目有用。

我选择在下图中向您展示这个模型,因为我们将使用 TX 和 RX 引脚进行串行通信。因此,他们会很忙,我们将无法与蓝牙通信共享相同的引脚。

为了避免这个问题,我们将使用 SoftwareSerial 库来模拟Arduino的端口 10 和 11 上的其他串行引脚,如下图所示。

pYYBAGOX30CAOyUpAAFwJ29JbqQ547.jpg
图 1 - 要配置的电子电路
 

从上面的组装图中,我们将看到如何配置我们自己的设备。

使用 AT 命令的配置过程

AT 一词来自 ATtention 一词。这些命令是用于操作蓝牙模块的指令。在此命令结构中,任何和所有指令都必须以前缀 AT 开头,例如 AT+COMMAND。

因此,我们将通过这些命令配置我们的蓝牙模块。要知道要使用哪些命令,访问蓝牙模块的数据表很重要。

在那里,您将找到可用于配置模块的所有说明。

现在,我将开始配置 HC-06 模块并提供访问蓝牙手册 HC-05 和 HC-06 的链接。

现在,要配置蓝牙模块,我们需要一个代码来发送 AT 命令。

为蓝牙模块发送 AT 命令的代码

下面的代码用于通过 Arduino 串口发送 AT 指令并发送到蓝牙模块。

#include 


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 接收到的命令,它们将被发送到蓝牙模块以配置其功能。

毕竟,如何知道模块是否正在工作并响应 Arduino 发送的命令?

这是许多人在数据传输或接收出现问题时提出的问题之一。许多人认为模块已损坏并且不了解如何分析这些问题。

这就是为什么我总是说重复,了解模块的控制和配置功能。他们将帮助您解释您的应用程序中可能存在的不当行为。

我讲这个是因为我想跟大家讲讲AT功能,如下图所示。

pYYBAGOYtUOAQs05AAAKsWmkbk4484.png
图 2 - AT 命令测试 Arduino 和蓝牙模块之间的通信。
 

这个函数负责测试你的Arduino和你的模块之间的通信。因此,每次执行 AT 命令时,模块必须向 Arduino IDE 的串行监视器发送消息 OK。

这个 OK 消息帮助我们得出结论,我们的模块正在工作并且正在与 Arduino 正确通信。

在此命令之后,我们需要准备模块以与Arduino相同的串行通信速度工作

我们如何配置蓝牙模块的通信速度?

我经常说这是很多人忽略的要点之一。他们在 Arduino 上选择了串行通信速度,但是蓝牙模块的传输速度设置为另一个值。

很明显,这会出现通信问题,而且很多时候,人们不知道如何检测这些问题,因为他们不了解如何使用 AT 命令配置模块。

这样做的结果是用户指出模块的功能存在问题,但事实是模块的配置方式不适合应用程序。

为避免此问题,请从 AT 命令执行测试并使用 AT+BAUDX 配置命令设置蓝牙模块的波特率。

X 值代表配置的速度参数,如下图所示。

  • 波特率值
  • 1 1200
  • 2 2400
  • 3 4800
  • 4 9600(默认)
  • 5 19200
  • 6 38400
  • 7 57600
  • 8 115200
  • 9 230400

首先,检查用于串行通信的速度并将模块的速度调整为相同的传输速率。因此,如果您使用命令行 AT+BAUD8,您的蓝牙模块将被配置为 115200bps 的波特率。

pYYBAGOYtUWATSBPAAAMh-MG1w0696.png
图 3 - 配置蓝牙模块的波特率。
 

这样,您就可以完全控制通信速度并避免模块和 Arduino 之间的通信错误。

除了速度,我们还要配置两个非常重要的参数:模块名和密码。这些参数对于在设备和蓝牙模块之间建立通信至关重要。

毕竟这两个参数怎么配置呢?

首先,为您的模块命名是基于两点的基础:在列表中识别您的设备,其次,在模块本身中插入您的设备/品牌的名称。

要执行此过程,请使用以下 AT+NAME 语句。从那里,使用以下指令:AT + NAMEsilicioslab,如图 4 所示,

poYBAGOYtUeAUuVAAAAOvB9k0dY476.png
图 4 - 配置蓝牙模块的名称。
 

执行此命令后,模块将命名为 silicioslab。

poYBAGOYtUqACMf0AACtsJHqtVY520.jpg
图 5 - 连接在名为 silicioslab 的蓝牙模块中的手机
 

除了更改名称之外,为用户设置密码也很重要。密码由以下指令 AT+PINXXXX 定义。

在此指令中,您必须选择一个 4 位密码并执行以下命令,例如:AT + PIN4444。

执行该命令后,访问模块的新密码为 4444。

pYYBAGOYtUyAT8Z9AAALw5VkVCc194.png
图 6 - 配置蓝牙模块的密码。
 

因此,通过上述步骤,可以配置整个蓝牙模块并确保您与 Arduino 的通信安全进行。

项目中通信执行的安全性

此信息得到保证,因为通过 AT 配置指令可以:

  • 测试Arduino和蓝牙之间的通信;
  • 测试蓝牙模块的功能故障,因为在故障的情况下它不会响应;
  • 配置模块的传输速度,因为在某些情况下速度与为Arduino编程的速度不同因此,传输将失败,用户可能会怀疑模块存在问题。但是,这是配置失败和 AT 配置指令的知识。
  • 该名称便于在设备列表中识别和配对模块;
  • 最后,密码决定了设备间数据传输访问的安全性。

这样就可以理解掌握器件的说明书和datasheet的重要性了。

除了控制设置之外,我们还可以保证我们的应用程序中的模块结构能够充分发挥作用。

因此,学习掌握功能并使用蓝牙模块在您的项目中创建安全的应用程序。

 


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费