littlebot
Published on 2025-04-17 / 0 Visits
0

【源码】基于ESPIDF框架的蓝牙音频播放器

项目简介

本项目名为BTPlayer,是基于ESP32 MCU和ESP-IDF框架实现的蓝牙音频播放器。它支持蓝牙音频流传输(A2DP)和Secure Simple Pairing过程,主要功能是播放蓝牙音频,并通过I2S接口输出音频数据。

项目的主要特性和功能

  1. 支持ESP32开发板与立体声I2S DAC(如UDA1334A)连接。
  2. 利用ESP-IDF框架实现蓝牙通信,支持蓝牙音频流传输协议(A2DP)。
  3. 具备简单的嵌入式控制台应用,便于调试和配置。
  4. 支持通过控制台命令进行蓝牙配对操作。

安装使用步骤

前提条件

准备好一个ESP32开发板(如DevKit - C)和立体声I2S DAC模块(如UDA1334A)。

复制项目代码

bash

构建项目

进入mc_btplayer目录,执行以下命令: bash idf.py build

闪存项目

使用ESP-IDF提供的工具进行烧录: bash idf.py flash

硬件设置

按照以下对应关系连接ESP32和I2S DAC: | ESP32 | I2S DAC | | ---- | ---- | | GPIO25 | WS (WORD SELECT) | | GPIO26 | I2S DATA | | GPIO27 | BCLK (BIT CLOCK) |

注:GPIO可通过idf.py menuconfig进行配置。

蓝牙配对

采用标准的Secure Simple Pairing过程(含Man In The Middle保护),需进行数值比较: 1. 连接设备(如智能手机)向BTPlayer发送一个数字。 2. BTPlayer通过音频DAC(如耳机或扬声器)将数值告知用户。 3. 若BTPlayer告知的数值与智能手机显示的数值匹配,用户可接受配对。

音频播放测试

完成配对后,BTPlayer将开始播放通过蓝牙传输的音频流。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】