Arduino-BLE-MIDI 项目教程
1. 项目的目录结构及介绍
Arduino-BLE-MIDI/
├── examples/
│ ├── BLEMIDI_ESP32_NimBLE/
│ │ ├── BLEMIDI_ESP32_NimBLE.ino
│ │ └── README.md
│ └── BLEMIDI_ESP32_NimBLE_Client/
│ ├── BLEMIDI_ESP32_NimBLE_Client.ino
│ └── README.md
├── src/
│ ├── BLEMIDI.cpp
│ ├── BLEMIDI.h
│ └── NimBLEMIDI.cpp
├── library.properties
├── LICENSE
└── README.md
- examples/: 包含项目的示例代码,展示了如何使用 BLE-MIDI 库。
- BLEMIDI_ESP32_NimBLE/: 示例代码,展示了如何在 ESP32 上使用 NimBLE 库进行 BLE-MIDI 通信。
- BLEMIDI_ESP32_NimBLE_Client/: 示例代码,展示了如何在 ESP32 上作为客户端进行 BLE-MIDI 通信。
- src/: 包含库的核心源代码文件。
- BLEMIDI.cpp 和 BLEMIDI.h: BLE-MIDI 库的主要实现文件。
- NimBLEMIDI.cpp: 使用 NimBLE 库的实现文件。
- library.properties: 库的属性文件,包含库的名称、版本等信息。
- LICENSE: 项目的许可证文件,采用 MIT 许可证。
- README.md: 项目的说明文档,包含项目的基本信息和使用指南。
2. 项目的启动文件介绍
项目的启动文件通常是指示例代码中的 .ino
文件,例如 BLEMIDI_ESP32_NimBLE.ino
。以下是该文件的简要介绍:
#include <BLEMIDI.h>
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, LOW);
BLEMIDI.setHandleConnected(OnConnected);
BLEMIDI.setHandleDisconnected(OnDisconnected);
BLEMIDI.begin();
}
void loop() {
BLEMIDI.read();
}
void OnConnected() {
digitalWrite(LED_BUILTIN, HIGH);
}
void OnDisconnected() {
digitalWrite(LED_BUILTIN, LOW);
}
#include <BLEMIDI.h>
: 引入 BLE-MIDI 库的头文件。setup()
: 初始化函数,设置 LED 引脚模式,配置 BLE-MIDI 连接和断开连接的处理函数,并启动 BLE-MIDI 服务。loop()
: 主循环函数,不断读取 BLE-MIDI 数据。OnConnected()
和OnDisconnected()
: 连接和断开连接时的处理函数,控制 LED 状态。
3. 项目的配置文件介绍
项目的配置文件主要是 library.properties
,它包含了库的基本信息和依赖项。以下是该文件的简要介绍:
name=BLE-MIDI
version=1.0.0
author=lathoub
maintainer=lathoub
sentence=MIDI over Bluetooth Low Energy (BLE-MIDI) for Arduino
paragraph=This library allows you to use MIDI over Bluetooth Low Energy on supported Arduino boards.
category=Communication
url=https://github.com/lathoub/Arduino-BLE-MIDI
architectures=esp32,samd,megaavr,mbed,apollo3,mbed_nano,mbed_portenta
name
: 库的名称。version
: 库的版本号。author
和maintainer
: 库的作者和维护者。sentence
和paragraph
: 库的简短描述和详细描述。category
: 库的分类,这里是通信类。url
: 库的 GitHub 仓库地址。architectures
: 支持的硬件架构列表。
以上是 Arduino-BLE-MIDI 项目的目录结构、启动文件和配置