ESP-32+Arduino之 7行代码实现蓝牙音箱

一、硬件准备

1、硬件名称

ESP-32 WROOM开发板(WIFI+蓝牙)、MAX98357 I2S功放、喇叭

2、参考购买链接

https://m.tb.cn/h.5ghIdkQ?tk=KGQrW0MPgVr

https://m.tb.cn/h.568WOD2?tk=z4RLW0Mlorp

3、实物图

二、软件准备

1、Arduino下载安装

这里省略,请参考其他博主的教程。

推荐教程链接:

Arduino安装保姆级教程_arduino软件安装教程-CSDN博客

2、配置ESP-32开发环境

这里省略,请参考其他博主教程。

推荐教程链接:Arduino的ESP32搭建方法-亲测OK_arduino esp32_zhouapple2013的博客-CSDN博客

值得注意的是,直接在Arduino安装的话可以选择1.0.4及以下版本,亲测过其他版本均无法直接安装成功, 这里推荐手动安装方法,安装更高的版本。

3、为Arduino添加所需的库

我们采用GitHub上的一个开源库来完成这个项目。

这里是一个博主的简单介绍:

arduino+esp32实现esp32蓝牙音响_esp32 蓝牙音箱_qwwewq111的博客-CSDN博客

这里是相应的GitHub链接:

GitHub - pschatzmann/ESP32-A2DP: A Simple ESP32 Bluetooth A2DP Library (to implement a Music Receiver or Sender) that supports Arduino, PlatformIO and Espressif IDF

我们要做的就是把压缩包从这个网站里面下载下来,具体操作见下图:

当然如果你不想从网站下载的话,我这里有网盘:

链接:https://pan.baidu.com/s/1W_LozM_4j6KLgDQ-4RCoPQ 
提取码:dhzs

好了,下载好压缩包后就要开始添加了。

添加过程可以参考这位博主的教程:

arduino导入库教程_arduino library 引用其他lib_平庸小菜鸡的博客-CSDN博客

三、代码

1、七行代码

#include "BluetoothA2DPSink.h"
BluetoothA2DPSink a2dp_sink;
void setup() {
    a2dp_sink.start("MyMusic");
}
void loop() {
}

2、当然如果你懒得写的话,可以解压刚才的压缩包,双击打开,直接打开examples里面的名为bt_music_receiver_simple的示例程序。

四、线路连接

注意要根据代码连接。

ESP32                                                          MAX98357

D22                       ->                                           DIN

D25                       ->                                           LRC

D26                       ->                                           BCLK

VIN                        ->                                           VIN

GND                      ->                                          GND

五、烧录代码

把代码烧录进去,直接打开手机蓝牙连接esp32,打开音乐软件,播放歌曲。

 

 

 

 

ESP32 Arduino 要制作蓝牙音箱,你需要准备以下几个步骤: 1. **硬件准备**: - ESP32开发板:如ESP32 WROOM模块或ESP32 DevKitC等。 - 音频组件:一个小功率的扬声器,音频放大器(如有必要),连接线。 - Bluetooth模块:如ES30、BT817等,用于无线传输音频信号。 - USB转TTL模块(如果ESP32不直接支持串口蓝牙) 2. **软件库安装**: - 安装Arduino IDE并更新到最新版本。 - 安装`Adafruit ESP32蓝牙库`(或官方ESP32库)以处理蓝牙功能。 3. **编写主程序**: - 创建一个新的Arduino项目,设置Board为ESP32- 包含必要的头文件,例如`Bluetooth.h`和音频播放相关的库(如`AudioPlayer`)。 - 初始化蓝牙模块,并配置成适配器模式(搜索设备)。 - 连接成功后,扫描蓝牙设备并选择相应的音箱设备进配对。 - 成功配对后,从蓝牙接收音频数据(通常是以MP3或AAC格式的数据包)。 - 使用音频播放库解码并播放音频内容。 ```cpp #include <SoftwareSerial.h> #include <Bluetooth.h> #include <AudioPlayer.h> SoftwareSerial btSerial(2, 3); // 这里假设你的蓝牙模块的TX RX接在2和3脚 Bluetooth bt(btSerial); // ...其他函数声明及音频播放类实例化... void setup() { Serial.begin(115200); bt.begin("ESP32_Speaker"); } void loop() { if (bt.isConnected()) { byte data[256]; int len = bt.read(data, sizeof(data)); if (len > 0) { playAudioFromData(data, len); } } else { bt.discover(); } } ``` 4. **音频播放**: - 如果蓝牙数据包含完整的音频帧,可以将每个帧发送给音频播放类处理。 - 可能需要将大块数据拆分成小块以便播放。 5. **测试与调试**: - 确保硬件连接正确,通过串口观察蓝牙通信是否正常,音频播放是否流畅。
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值