HC-05一步到位设置教程
发布时间: 2024-12-18 19:57:29 阅读量: 18 订阅数: 14
![蓝牙模块HC-05](https://img-blog.csdnimg.cn/fea5623dc3a0444696ad03f61b76c0b8.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzUxNzEyMDM3,size_16,color_FFFFFF,t_70)
# 摘要
HC-05蓝牙模块是广泛应用于短距离无线通信的设备。本文首先对HC-05模块进行了概览,并详细介绍了其基本配置方法,包括AT指令集的使用、通信参数的设置以及安全特性的配置。随后,文章深入探讨了HC-05模块在串口通信实践中的应用,如与Arduino的整合应用和智能设备通信。最后,本文还涉及了HC-05的高级功能,如多设备连接和性能优化技巧。通过本文的阐述,读者将能够全面掌握HC-05模块的配置、应用和优化方法,进而有效地将其应用于各种蓝牙项目中。
# 关键字
HC-05蓝牙模块;AT指令集;串口通信;Arduino整合;IoT集成;多设备连接;性能优化
参考资源链接:[HC05蓝牙模块AT指令集:设置、控制与功能详解](https://wenku.csdn.net/doc/7qxayut2is?spm=1055.2635.3001.10343)
# 1. HC-05蓝牙模块概览
## 1.1 HC-05模块简介
HC-05是一款广泛应用于嵌入式系统的蓝牙模块,它主要基于CSR BC417蓝牙芯片,具有SPP(串口协议)功能,可以轻松实现蓝牙通信功能。该模块支持主从模式,且容易通过AT指令集进行配置,使其非常适合用于短距离无线数据传输和各种蓝牙设备间的互联。
## 1.2 HC-05模块的应用场景
由于其稳定性和易用性,HC-05在多种场合中都能找到其身影。从智能家居控制到个人便携设备,以及工业应用等领域,HC-05都能够提供可靠的蓝牙连接解决方案。它的兼容性和灵活性,使其成为许多开发者和工程师在进行蓝牙项目设计时的首选模块。
# 2. HC-05模块的基本配置
在蓝牙通信技术日益成熟的今天,HC-05作为一款广泛使用的蓝牙串口模块,其基本配置和使用成为开发者必须掌握的技能。本章节将详细介绍HC-05模块的AT指令集配置、通信参数设置、以及安全特性配置的方法和步骤。
## 2.1 配置HC-05模块的AT指令集
### 2.1.1 了解AT指令的作用
AT指令(Attention Command)是一系列用于控制调制解调器和其他设备的文本命令,是“ATtention”的缩写。在HC-05蓝牙模块中,使用AT指令可以完成对模块的初始化设置、通信参数配置、安全特性的启用等操作。HC-05模块出厂时默认进入AT指令模式,通过串口与计算机相连,用户可以通过发送AT指令来控制模块。
### 2.1.2 使用AT指令进行模块初始化设置
要初始化设置HC-05模块,首先需要通过串口与HC-05通信。通常使用一个USB转TTL串口适配器来连接电脑和HC-05模块。
接下来,打开串口调试助手软件,设置对应的串口号和波特率(通常是9600)。在串口调试助手中输入AT指令并发送,观察返回结果,判断模块是否响应。以下是一个基本的初始化配置流程:
```plaintext
AT+RESET // 重启模块
AT+NAME=MyModule // 设置模块名称为“MyModule”
AT+PIN=1234 // 设置PIN码为1234
AT+ROLE=0 // 设置HC-05为从设备模式
AT+BAUD7 // 设置模块波特率为115200
```
每条AT指令执行后,模块会返回相应的响应信息,如`OK`表示成功,`ERROR`表示失败。失败通常意味着指令不支持或参数设置不正确。
## 2.2 配置HC-05模块的通信参数
### 2.2.1 设置波特率和名称
HC-05模块的通信参数配置对于确保与其他蓝牙设备的顺畅通信至关重要。波特率是通信速率的一个重要参数,它决定了数据传输的速度。
#### 设置波特率
```plaintext
AT+BAUD0 // 查询当前波特率设置
AT+BAUD4 // 设置波特率为9600
AT+BAUD5 // 设置波特率为19200
AT+BAUD6 // 设置波特率为38400
AT+BAUD7 // 设置波特率为57600
AT+BAUD8 // 设置波特率为115200
```
#### 设置模块名称
```plaintext
AT+NAME"MyModule" // 设置模块名称为“MyModule”
```
### 2.2.2 设置设备配对密码和模式
为了保证通信的安全性,通常需要设置设备配对时使用的PIN码。此外,HC-05模块支持主从两种工作模式,用户可以根据实际需要进行设置。
#### 设置配对密码
```plaintext
AT+PIN1234 // 设置配对密码为1234
```
#### 设置工作模式
```plaintext
AT+ROLE=1 // 设置为Master模式
AT+ROLE=0 // 设置为Slave模式(默认)
```
## 2.3 配置HC-05模块的安全特性
### 2.3.1 启用PIN码保护
启用PIN码保护可以防止未授权的用户连接到HC-05模块。使用之前设置的PIN码进行配对后,设备才能通信。
### 2.3.2 配置加密和认证方式
加密和认证是保证蓝牙通信安全的重要手段。HC-05支持多种加密和认证方式,比如使用WEP、WPA2等加密方式,以及使用MD5、SHA1等认证机制。
```plaintext
AT+SETPW1 // 使用默认密码设置为加密密钥
AT+MODE=0 // 设置加密模式为加密模式1(安全性较低)
AT+MODE=1 // 设置加密模式为加密模式2(安全性较高)
```
在这一章节中,我们详细探讨了HC-05蓝牙模块的基本配置方法,包括AT指令集的使用、通信参数的设置和安全特性的配置。接下来,让我们进入HC-05模块的串口通信实践,深入了解如何通过串口连接与HC-05模块进行通信,并构建实际的应用案例。
# 3. HC-05模块的串口通信实践
随着物联网技术的发展,蓝牙模块在各种通信场景中变得越来越重要。HC-05模块作为一个经典的蓝牙串口通信模块,被广泛应用于各种小型项目中。在本章中,我们将深入探讨HC-05模块的串口通信实践,从基础的连接和配置,到应用的设计与开发,以及在项目中可能遇到的问题和解决方案。
## 3.1 通过串口连接与HC-05通信
### 3.1.1 使用串口调试助手与HC-05通信
串口调试助手是一种常用的工具,用于测试和调试串口设备。在使用串口调试助手与HC-05模块通信时,首先需要确定模块与计算机之间的正确串口连接。通常情况下,HC-05模块通过TX和RX引脚连接到电脑的串口上。
一旦硬件连接建立,接下来是软件配置。在打开串口调试助手程序后,需要配置与HC-05通信相关的串口参数,如波特率、数据位、停止位和校验位。然后通过发送AT指令与HC-05模块进行交互,以检查模块是否正常工作。
这里提供一个简单的Python脚本示例,用于通过串口发送AT指令到HC-05:
```python
import serial
import time
# 配置串口参数
ser = serial.Serial('COM3', 9600, timeout=1)
ser.flushInput()
# 发送AT指令
def send_at_command(command):
ser.write((command + '\r\n').encode('utf-8'))
time.sleep(1)
return ser.readline().decode('utf-8').strip()
# 检查模块响应
response = send_at_command('AT')
print("Response: ", response)
```
此代码段首先导入了`serial`库用于串口通信,并配置了连接到HC-05模块的串口号和波特率。`send_at_command`函数负责发送AT指令并读取回应。
### 3.1.2 通过编程方式读写HC-05串口数据
除了使用串口调试助手,开发者们通常需要通过编程的方式读写HC-05模块的串口数据。这在需要将HC-05集成到复杂系统或自定义应用程序时尤为重要。
在编程实现中,以Python语言为例,开发者可以使用`pyserial`库来处理串口通信。以下是实现读写操作的代码示例:
```python
import serial
# 初始化串口连接
ser = serial.Serial('COM3', 9600, timeout=1)
# 发送数据
ser.write(b'Hello, HC-05')
# 读取数据
if ser.in_waiting:
data = ser.read(ser.in_waiting)
print("Received: ", data.decode('utf-8'))
```
在这段代码中,通过调用`serial.Serial`类创建了一个串口对象。接着,使用`write`方法向HC-05发送数据,然后检查串口是否有数据可读。如果可读,使用`read`方法读取数据。这里的`b'Hello, HC-05'`表示发送的字符串数据需要转换为字节序列。
## 3.2 构建HC-05串口通信应用
### 3.2.1 设计简单的蓝牙通信案例
设计一个简单的蓝牙通信案例有助于理解HC-05模块的应用实践。这里我们以两个HC-05模块为例,通过串口通信,实现点对点的数据传输。
首先,需要将两个HC-05模块分别连接到两台电脑或两个微控制器上。然后,按照以下步骤配置两个模块,确保它们处于可被发现和配对状态:
1. 启动两个模块,一个设置为主设备(Master),另一个设置为从设备(Slave)。
2. 在主设备上设置一个固定的名称和配对密码,以便从设备可以识别和连接。
3. 从设备搜索可用的蓝牙设备,找到主设备后进行配对。
一旦配对成功,两个模块可以通过串口发送和接收数据。例如,以下是一个简单的数据传输场景:
- 主设备发送:“Hello, Slave!”
- 从设备接收并回应:“Received from Master.”
### 3.2.2 调试串口通信过程中的常见问题
在串口通信实践中,常见的问题包括连接不稳定、数据丢失或接收错误。调试这些问题通常需要分析数据流和确认串口参数设置正确。
为了调试连接问题,可以使用串口调试助手的捕获功能,记录通信过程中的所有数据和指令。通过对比预期的数据格式与实际接收到的数据,可以发现潜在的格式错误或同步问题。例如,如果从设备频繁丢失数据,可能是波特率不匹配或数据缓冲区溢出。此时,需要检查两个设备的波特率设置是否一致,以及缓冲区大小是否足够。
对于数据错误的问题,首先需要确认发送的数据是否按照预定的协议进行了正确的封装。有时,额外的空字符或不可见的控制字符可能导致数据解读错误。此时,可以通过数据校验码或特定的错误检测机制来检测和纠正这些错误。
下面展示如何在串口调试助手界面上设置数据捕获:
这个截图中,用户可以设置捕获的条件,比如起始时间、结束时间、数据长度等,帮助用户更准确地捕捉到异常情况。
此外,也可以通过编写代码进行数据捕获和错误检测,示例如下:
```python
import serial
# 配置串口
ser = serial.Serial('COM3', 9600, timeout=1)
# 数据捕获函数
def capture_data():
data_list = []
while True:
if ser.in_waiting:
data = ser.readline()
if data:
data_list.append(data.decode('utf-8').strip())
return data_list
captured_data = capture_data()
print("Captured Data: ", captured_data)
```
在这个函数中,我们不断检查串口是否有数据到达,并将数据保存在列表中。这种方法可以帮助开发者收集在一段时间内传输的所有数据,便于进一步分析和调试。
在本章节中,我们深入了解了HC-05模块的串口通信实践,从基础的串口连接与通信到构建应用案例和调试常见问题。接下来的章节,我们将探索HC-05模块与其他设备的整合应用,例如与Arduino和智能设备的集成。
# 4. HC-05与Arduino的整合应用
## 4.1 了解Arduino与HC-05的连接方式
HC-05蓝牙模块能够与Arduino微控制器无缝集成,提供无线通信能力。要实现这一整合应用,第一步是了解如何将HC-05连接到Arduino。
### 4.1.1 连接HC-05到Arduino的引脚
首先,需要了解HC-05模块的引脚功能以及如何将它们连接到Arduino。HC-05模块有几个主要引脚:
- VCC:连接到Arduino的5V输出,为HC-05提供电源。
- GND:连接到Arduino的GND(地)。
- TXD:HC-05的发送数据引脚,连接到Arduino的RX(接收)引脚。
- RXD:HC-05的接收数据引脚,连接到Arduino的TX(发送)引脚。
- EN(使能):当连接到高电平(Arduino的3.3V或5V)时,模块将进入命令模式。
- STATE:当模块连接时,此引脚会输出高电平信号。
一个典型的连接方式如下图所示:
### 4.1.2 配置Arduino进行蓝牙通信
在连接好HC-05后,需要通过Arduino代码配置蓝牙通信。Arduino IDE提供了软件串口(SoftwareSerial)库,允许在任意数字引脚上创建串口通信,这样就可以同时使用USB串口进行调试。
```cpp
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(10, 11); // RX, TX
void setup() {
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
// 开启HC-05蓝牙模块的命令模式
digitalWrite(9, HIGH); // 使能引脚连接到Arduino的9号引脚
delay(1000);
digitalWrite(9, LOW);
Serial.begin(9600);
Serial.println("HC-05 in AT command mode:");
BTSerial.begin(9600);
}
void loop() {
// 将从电脑接收到的数据通过蓝牙发送出去
if (Serial.available()) {
char c = Serial.read();
BTSerial.write(c);
}
// 将从蓝牙模块接收到的数据通过电脑的串口发送出去
if (BTSerial.available()) {
char c = BTSerial.read();
Serial.write(c);
}
}
```
在上述代码中,我们初始化了两个串口,一个连接到USB(Serial),另一个通过软件串口连接到HC-05(BTSerial)。在`setup()`函数中,我们先将HC-05置于命令模式,然后初始化两个串口。在`loop()`函数中,我们设置了串口数据的读写,实现双向通信。
## 4.2 开发HC-05控制的Arduino项目
现在,我们已经了解了如何将HC-05连接到Arduino,并通过代码进行基本的蓝牙通信配置。接下来,让我们通过开发两个具体项目来应用这些知识。
### 4.2.1 制作遥控LED开关项目
通过HC-05模块,你可以用智能手机或其他蓝牙设备控制Arduino板上的LED灯。
#### 电路连接
电路连接非常简单:LED的一个引脚连接到Arduino的数字输出引脚(例如引脚2),另一个引脚连接到GND。此外,确保HC-05模块已经按照4.1节的说明连接到Arduino。
#### 代码逻辑
这里是一个简单的代码示例,用于控制LED的开关:
```cpp
// ...(其他代码与之前相同)
void setup() {
// ...(其他初始化代码与之前相同)
pinMode(2, OUTPUT);
}
void loop() {
// ...(数据读写与之前相同)
if (BTSerial.available()) {
char c = BTSerial.read();
if (c == '1') {
digitalWrite(2, HIGH); // 打开LED
} else if (c == '0') {
digitalWrite(2, LOW); // 关闭LED
}
}
}
```
在这个示例中,我们添加了`pinMode(2, OUTPUT);`来配置LED连接的引脚为输出模式。在`loop()`函数中,我们检查从HC-05接收到的字符。如果接收到字符'1',则点亮LED;如果接收到字符'0',则熄灭LED。
### 4.2.2 编写蓝牙数据监控系统
在这一部分,我们将开发一个简单的数据监控系统。系统接收通过蓝牙发送的数据,并将其显示在串口监视器上。
#### 系统设计
- **数据发送器**:可以是另一个Arduino板或智能手机应用。
- **数据接收器**:包含HC-05和连接到HC-05的Arduino板。
#### 数据监控代码
```cpp
// ...(其他代码与之前相同)
void setup() {
// ...(其他初始化代码与之前相同)
Serial.begin(9600);
while (!Serial) {
; // 等待串口连接。
}
}
void loop() {
// ...(数据读写与之前相同)
if (BTSerial.available()) {
String data = BTSerial.readStringUntil('\n');
Serial.println("Received from HC-05: " + data);
}
}
```
在这个数据监控程序中,我们使用`BTSerial.readStringUntil('\n')`来读取蓝牙模块接收到的全部数据,直到遇到换行符。然后,我们使用`Serial.println`将接收到的数据打印到串口监视器上。
## 章节总结
通过第四章的学习,我们深入了解了如何将HC-05蓝牙模块与Arduino结合使用。从连接基础开始,到配置Arduino以支持蓝牙通信,再到具体实现控制项目和数据监控系统,我们已经覆盖了整合应用的关键步骤。现在,你可以利用这些基础知识开发各种有趣的蓝牙控制项目,例如通过手机远程控制家中电器或创建个人健康监测系统。
# 5. HC-05在智能设备中的应用
## 5.1 配置HC-05与智能手机通信
蓝牙技术在智能手机中的应用广泛,为各种设备提供了无线通信的可能。HC-05作为一款低成本的蓝牙模块,为小型智能设备与智能手机之间提供了便利的通信手段。
### 5.1.1 设置HC-05模块与Android配对
配置HC-05模块与Android设备配对,首先需要将HC-05置于配对模式。配对模式通常通过将模块上的“STATE”引脚置高电平来实现。一旦模块进入配对模式,手机蓝牙搜索功能就可以检测到HC-05设备,此时可将HC-05添加为配对设备。
对于Android设备,可以利用系统提供的蓝牙API来实现与HC-05的配对。以下是一个简单的Android代码片段,用于搜索蓝牙设备:
```java
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (bluetoothAdapter != null && bluetoothAdapter.isEnabled()) {
bluetoothAdapter.startDiscovery();
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
registerReceiver(receiver, filter);
} else {
// 设备蓝牙未开启,提示用户开启蓝牙
}
private final BroadcastReceiver receiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
// 检查是否是我们的HC-05模块,并进行配对
}
}
};
```
在上述代码中,`BluetoothAdapter`是用于控制蓝牙适配器的主要类,可以完成开启蓝牙、搜索蓝牙设备等功能。而`BroadcastReceiver`则用于接收设备发现的广播,从而找到HC-05模块并进行配对。
### 5.1.2 开发简单的Android蓝牙控制应用
一旦成功配对,下一步便是开发一个简单的Android应用,用于通过蓝牙发送指令给HC-05模块。以下是应用开发的基本步骤:
1. 在Android Studio中创建一个新的Android项目。
2. 在`AndroidManifest.xml`中添加蓝牙权限:
```xml
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
```
3. 使用`BluetoothAdapter`和`BluetoothDevice`类来与HC-05设备通信。
4. 利用`BluetoothSocket`连接到HC-05设备,并通过`OutputStream`发送数据。
```java
BluetoothSocket socket = device.createRfcommSocketToServiceRecord(MY_UUID);
socket.connect();
OutputStream outputStream = socket.getOutputStream();
outputStream.write("AT指令".getBytes());
```
`MY_UUID`是一个特定的UUID,用于在应用层区分不同的蓝牙服务。在开发过程中,确保处理好所有可能的异常,例如`IOException`。
通过以上步骤,就可以开发出一个可以控制HC-05模块的Android应用,实现例如发送AT指令来更改HC-05模块的设置等操作。
## 5.2 HC-05与IoT平台的集成
### 5.2.1 通过云平台进行数据传输
随着物联网技术的发展,将蓝牙设备与云平台集成,实现数据的远程传输,已经成为了一个趋势。HC-05作为一个蓝牙串口模块,可以通过中间层(如网关或智能手机)将数据上传至云平台。
一个典型的IoT平台如Blynk或ThingSpeak,提供了简单易用的接口和图形化操作,可以实现设备数据的实时监控和远程控制。以ThingSpeak为例,可以按照以下步骤进行:
1. 在ThingSpeak平台创建一个新通道,并获取通道的API Key。
2. 修改HC-05模块的代码,将数据通过HTTP协议发送到ThingSpeak服务器。
```c
// 通过AT指令设置模块为TCP客户端模式
String command1 = "AT+ROLE=1\r\n";
String command2 = "AT+ CONNECT=\"TCP\",\"api.thingspeak.com\",80\r\n";
String command3 = "AT+TXMode=1\r\n";
// 发送数据到ThingSpeak
String data = "field1=" + sensorValue;
String command4 = "AT+Send=" + data + "\r\n";
```
3. 通过ThingSpeak提供的Web界面或者API,可以获取到传入的数据,并进行展示。
### 5.2.2 构建远程控制与监控系统
结合HC-05模块与IoT平台,可以构建出完整的远程控制与监控系统。系统通常包括硬件层(如传感器和蓝牙模块)、网络层(蓝牙与互联网的转换)和应用层(用户界面和数据处理)。
硬件层负责数据的采集和传输,网络层负责数据的中转和上云,而应用层则负责用户交互。以下是构建过程的关键步骤:
1. 设计系统架构并明确各层次职责。
2. 确定硬件设备(如HC-05模块和传感器)和需要的数据传输协议。
3. 开发或使用现有的网关软件,将蓝牙数据转换为TCP/IP数据包,实现与云平台的通信。
4. 设计并实现应用层的用户界面,如移动应用或Web页面,以展示数据和提供远程控制功能。
实现远程控制通常涉及到发送特定的指令集到蓝牙设备,这需要在应用层实现与HC-05模块通信的接口。
随着技术的发展,物联网平台提供了更多的功能和服务,如数据存储、历史数据分析、触发警报等。因此,集成这些平台到系统中,可以极大的提升系统的灵活性和功能。
通过以上章节的介绍,我们可以看到HC-05模块在智能设备应用中的多样性和灵活性。在本章节中,我们了解了如何将HC-05模块与智能手机及物联网平台相结合,实现数据传输和远程控制。在实际应用中,通过这些集成方式可以创造出各种创新的解决方案,满足不同场景下的需求。
# 6. HC-05高级功能与优化技巧
## 6.1 实现HC-05多设备连接
在物联网(IoT)技术日益普及的今天,一个蓝牙模块能够同时连接多个设备的能力变得越来越重要。HC-05模块支持至少三个并发连接,这一特性使得它可以在小型网络中充当中心节点的角色。要实现HC-05多设备连接,我们首先需要了解多设备连接模式,然后才能创建蓝牙网络与数据桥接。
### 6.1.1 掌握多设备连接模式
多设备连接模式可以在AT指令集中进行配置。我们可以通过发送特定的AT指令,将HC-05设置为多连接模式。例如:
```plaintext
AT+ROLE=1
AT+INQM=1,10,0
```
这里的`AT+ROLE=1`指令用于设置HC-05为透传模式,允许它同时与多个设备进行通信。`AT+INQM`指令用于配置连接参数,如查询间隔、超时和数量。
### 6.1.2 创建蓝牙网络与数据桥接
创建一个蓝牙网络意味着你需要让HC-05模块作为一个中心节点,同时与多个外围设备进行通信。以下是一个简化的步骤,展示如何设置HC-05作为中心节点:
1. 配置HC-05为主模式,允许接受多个连接。
2. 设置HC-05的设备名称和PIN码,确保与外围设备匹配。
3. 初始化外围蓝牙设备,使它们能够搜索并连接到HC-05。
4. 连接外围设备到HC-05后,使用串口通信进行数据交换。
在数据桥接方面,你需要确保每台设备发送的数据格式是标准化的,这样HC-05才能正确地处理和转发数据到目标设备。
## 6.2 调试和优化HC-05模块性能
使用HC-05模块时,你可能会遇到连接稳定性问题,或者想要提升数据传输效率。在这一部分,我们将探讨如何分析与解决连接稳定性问题,并且给出提升数据传输效率的策略。
### 6.2.1 分析与解决连接稳定性问题
连接稳定性问题可能由于多种因素导致,如信号干扰、连接超时等。解决这些问题需要我们进行系统的调试:
1. 检查电源供应,确保HC-05模块供电稳定。
2. 调整天线位置,避免信号被物理阻挡或干扰。
3. 使用串口监视器检查模块日志,了解连接过程中的错误信息。
4. 如果使用透传模式,确保数据包长度不超过HC-05允许的最大值。
### 6.2.2 提升数据传输效率的策略
传输效率是任何通信系统的关键指标之一。为了提升HC-05模块的数据传输效率,你可以考虑以下策略:
1. 优化数据包大小,减少由于分包导致的额外开销。
2. 启用数据压缩技术,减少需要传输的数据量。
3. 提高波特率(例如从9600提升到57600),增加数据传输速率。
4. 实现数据确认和重传机制,确保数据包的可靠性。
通过上述步骤,我们可以有效地解决HC-05模块在实际应用中可能遇到的问题,同时提升整体性能。在下一章节中,我们将继续探讨如何将HC-05与Arduino平台整合,以及开发控制项目。
0
0