跟川爸做个网络小音箱

2022-09-21 00:02:41 88点赞 41收藏 3评论

啊,川仔终于骑上了心爱的小童车。这款摇依摇童车小区里几乎一娃一台,实在不想跟风,可娃抓着别人的车不撒手啊。赶上疫情仓库疯了厂商又不发货,最后同城自提了别人的爱车。

跟川爸做个网络小音箱

川仔最喜欢按车上的按键,4个按键无论你怎么按都是4首曲子循环,很快川仔按够了,我们也听烦了。心想要是能改一改音乐就好了,在小区里溜娃的时候也不怕遇到同款了,毕竟灵魂是不一样的。故事就这么开始了。

对硬件零基础的川爸一直想尝试下,这次重要找到了动力(jiekou)搞一下。经过一番搜索,发现资料很少,所以有了这篇分享。如果你和川爸一样零基础那么可以看一下。

主要材料介绍

ESP32这块开发板,这是一颗由乐鑫研发的国产芯片,性能强劲,自带WIFI和蓝牙模块,是目前最有性价比的物联网微控制器。它相当于电脑和手机里的CPU+主板+内存+硬盘,他有30个针脚,通过控制针脚的电平来实现对其他配件的控制。

跟川爸做个网络小音箱

ESP-32开发板WROOM开发版WIFI+蓝牙模块CH9102ESP32-S烧录夹16.8元天猫精选去购买


MAX98357A功率放大器,由于ESP32只能驱动耳机无法很好的驱动扬声器所以我们需要这么一块小功放。

跟川爸做个网络小音箱

MAX98357音频放大器模块I2S3W无滤波D类放大器功放板DIY11.3元天猫精选去购买

3W小喇叭一枚,我这是小米蓝牙音箱上拆的。4Ω3W扬声器都可以,3元可购入。

跟川爸做个网络小音箱

其他材料:非自锁按键2个,母对母杜邦线5根,micro usb数据线一根。最好再准备一块5v microusb的电池。

还有个最关键的,找一个自己喜欢的盒子,为其注入个性。

跟川爸做个网络小音箱

跟川爸做个网络小音箱

百科欣和 葱伴侣 6月香甜面酱300g 六月香甜面酱 0 点评0 原创2 好价0去购买查看详情


我随手找了个葱伴侣面酱盒,所以这个作品就有了名字,“音乐酱”。无论放在厨房还是餐桌都毫无违和感,这个风格我们就叫居家朋克风吧。

硬件连接

接下来就是用杜邦线把ESP32和配件链接起来

认识下ESP32的引脚编号,图上我标识了下D25,D26,D27三颗引脚。用杜邦线分别对应链接到MAX98357A的LRC,BCLK,DOUT。这就完成了数据传输接口(I2S)的链接。

跟川爸做个网络小音箱

跟川爸做个网络小音箱

再分别将3v3和VIN链接,GND和GND链接,这就完成了供电的链接,让MAX98357A可以从ESP32获得电源,再将扬声器插入MAX98357A。完成后的硬件链接如图。

跟川爸做个网络小音箱


软件环境搭建

1. 安装arduino,我们采用arduino进行软件开发,arduino是一个面向艺术家等非职业用户的微控制器开发系统。可免费下载使用 https://www.arduino.cc/en/software

2. 在arduino里安装ESP32驱动套件,因为arduino官方并不原生支持ESP32芯片,所以我们需要手动进行配置,让arduino载入ESP32官方提供的驱动套件。

打开arduino的文件-首选项,在其他开发板管理器地址里输入以下地址,点击确定。

gh…com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

跟川爸做个网络小音箱

3. 点击arduino的工具->开发板管理器,输入ESP32,点击安装,会进行自动下载。

跟川爸做个网络小音箱

4.用microusb数据线链接电脑和ESP32,ESP32亮灯,并且电脑识别到串口,再选择ESP32-WROOM-DA Module。环境配置就完成了。

软件编写

1. 安装MP3的解码库,ESP32是支持WAV等非压缩格式的播放,因为ESP32强大的计算能力所以可以进行MP3的软件解码。

下载软件解码器。gh....com/schreibfaul1/ESP32-audioI2S/archive/refs/tags/2.0.5.zip

安装解码器到arduino,点击项目-包含库-添加.zip库

2. 编写软件,复制一下代码到你的arduino里,把wifi的名称和密码修改成你家的。

#include "Arduino.h"

#include "WiFi.h"

#include "Audio.h"

#define I2S_DOUT 27

#define I2S_BCLK 26

#define I2S_LRC 25


Audio audio;

String ssid = "你的WIFI名称";

String password = "你的WIFI密码";

void setup() {


Serial.begin(115200);

WiFi.disconnect();

WiFi.mode(WIFI_STA);

WiFi.begin(ssid.c_str(), password.c_str());

while (WiFi.status() != WL_CONNECTED) {

delay(500);

Serial.print(".");

}

Serial.println("");

Serial.println("WiFi connected");

Serial.println("IP address: ");

Serial.println(WiFi.localIP());

Serial.println("");

audio.setPinout(I2S_BCLK, I2S_LRC, I2S_DOUT);

audio.setVolume(12);

audio.connecttohost("0n-80s.radionetz.de:8000/0n-70s.mp3");

}

void loop()

{

audio.loop();

}


void audio_info(const char *info) {

Serial.print("info "); Serial.println(info);

}

void audio_id3data(const char *info) { //id3 metadata

Serial.print("id3data "); Serial.println(info);

}

void audio_eof_mp3(const char *info) { //end of file

Serial.print("eof_mp3 "); Serial.println(info);

}

void audio_showstation(const char *info) {

Serial.print("station "); Serial.println(info);

}

void audio_showstreaminfo(const char *info) {

Serial.print("streaminfo "); Serial.println(info);

}

void audio_showstreamtitle(const char *info) {

Serial.print("streamtitle "); Serial.println(info);

}

void audio_bitrate(const char *info) {

Serial.print("bitrate "); Serial.println(info);

}

void audio_commercial(const char *info) { //duration in sec

Serial.print("commercial "); Serial.println(info);

}

void audio_icyurl(const char *info) { //homepage

Serial.print("icyurl "); Serial.println(info);

}

void audio_lasthost(const char *info) { //stream URL played

Serial.print("lasthost "); Serial.println(info);

}

void audio_eof_speech(const char *info) {

Serial.print("eof_speech "); Serial.println(info);

}

3. 插上ESP32,点击运行。音乐响起。

4.插上充电宝,2秒钟就想起了音乐。

后续,等电池到了,再把电池和按键设置好,小作品就完成了。

那么问题来了川仔的小童车怎么办?

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

Xiaomi 小米 小爱音箱Play 增强版 黑色

Xiaomi 小米 小爱音箱Play 增强版 黑色

83.9元起

Xiaomi 小米 ASM02A 户外 蓝牙音箱 黑色

Xiaomi 小米 ASM02A 户外 蓝牙音箱 黑色

468元起

Xiaomi 小米 Sound Pro 智能音箱 黑色

Xiaomi 小米 Sound Pro 智能音箱 黑色

729元起

Xiaomi 小米 GCDEJ01LS 骨传导耳机 星空灰

Xiaomi 小米 GCDEJ01LS 骨传导耳机 星空灰

428元起

Xiaomi 小米 小爱音箱Play「米家」

Xiaomi 小米 小爱音箱Play「米家」

80元起

Xiaomi 小米 AI音箱 二代 智能音箱 白色

Xiaomi 小米 AI音箱 二代 智能音箱 白色

159元起

Xiaomi 小米 小爱音箱 Pro 智能音箱

Xiaomi 小米 小爱音箱 Pro 智能音箱

159元起

Xiaomi 小米 ASM01A 户外 蓝牙音箱 mini 黑色

Xiaomi 小米 ASM01A 户外 蓝牙音箱 mini 黑色

199元起

MI)小米电视盒子4S MAX

MI)小米电视盒子4S MAX

456.5元起

Xiaomi 小米 智能家庭屏 10

Xiaomi 小米 智能家庭屏 10

689元起

Xiaomi 小米 DDQ02WM 入耳式动圈有线耳机 黑色 3.5mm

Xiaomi 小米 DDQ02WM 入耳式动圈有线耳机 黑色 3.5mm

16.58元起

盒子4S 智能网络电视机顶盒 2GB+8GB

盒子4S 智能网络电视机顶盒 2GB+8GB

259元起

Xiaomi 小米 智能家庭屏Pro 8 黑色

Xiaomi 小米 智能家庭屏Pro 8 黑色

345元起

Xiaomi 小米 Sound Move 便携式智能音箱 灰色

Xiaomi 小米 Sound Move 便携式智能音箱 灰色

514元起

Xiaomi 小米 智能家庭屏 6 带屏智能音箱 白色

Xiaomi 小米 智能家庭屏 6 带屏智能音箱 白色

289元起

Xiaomi 小米 小爱智能音箱 白色

Xiaomi 小米 小爱智能音箱 白色

194元起

文中相关商品

Shinho 欣和 葱伴侣甜面酱 300g
3评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
41
扫一下,分享更方便,购买更轻松