ESP8266 MP3

来自Jack's Lab
2017年5月8日 (一) 13:43Comcat (讨论 | 贡献)的版本

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到: 导航, 搜索

目录

1 Quick Start

准备一块 Noduino Falcon / Nodemcu V1.0 开发板,一根 micro USB 连接线:

Falcon-v1.0-1000.jpg

Falcon-v2.4-800-wiki.png


获取 noduino-sdk:

$ git clone --recursive git://github.com/icamgo/noduino-sdk.git noduino-sdk


生成 toolchain (you need Python 2.7):

$ cd noduino-sdk/toolchain
$ ./gen.py

打开 app/user/playerconfig.h 修改 AP_NAME 和 AP_PASSWORD 为你所用之无线路由 AP,然后编译、刷机:

$ cd ../sketch/mp3
$ vim app/user/playerconfig.h
$ make flash


不同平台下,你的串口设备号可能不一样,确认一下你的串口设备,比如在 Windows 下 Falcon 开发板可能被识别为 COM7(设备管理器里查看),则:

$ make flash ESPPORT=COM7


各平台下,Noduino SDK 使用,更多参考:


串口刷机完成后,系统会连接你的无线路由,然后去访问 http://noduino.org/fair.mp3 这个文件,这个过程没问题的话,就会自动播放。

声音信号(模拟信号)输出到 Noduino Falcon 板的 RX 口 (GPIO3)


因此,找一个小喇叭,一头接 Noduino Falcon 板的 RX 口 (D0),一头接 Noduino Falcon 板 的 GND 就能听到音乐声音!

Noduino-falcon-speaker.jpg



2 改进

当然,直接出来的信号很微弱,要是喇叭的阻抗稍高点,声音就很小,要贴近喇叭才能听见,这个时候,可以用简单的三极管放大一下信号。或者用现成的功放模块,比如:PAM8406 数字功放板,PAM8403 功放板 等等,淘宝的价格很便宜:


PAM8403-module.jpg


接线如下,输入接 L(左声道)或者 R(右声道),喇叭得接对应的 L+ 或者 R+ :

PAM8403-module-pin.jpg


接上后,就发现声音变大了,爽!

当然,同时背景噪声也很明显,这个需要做进一步的改进、尝试、折腾。。。


整个源代码都在 noduino-sdk/sketch/mp3 这个目录下,或者直接 github: https://github.com/icamgo/noduino-sdk/tree/master/sketch/mp3/



3 提升

3.1 使用 DAC

可尝试用一片 I2S 接口的 DAC,硬件数模转换:

TDA1543 Datasheet


TDA1542-breakout.jpg


可改善纯软件的不如人意


接线:

  • I2S_BCK --- GPIO15 --- Noduino_Falcon D3
  • I2S_WS --- GPIO2 --- Noduino_Falcon D2
  • I2S_DATA --- GPIO3 --- Noduino_Falcon D0



3.2 使用 I2S 声卡

WM8960G


WM8960-pin.jpg


  • BCLK: bit clock, basic clock for the data
  • LRCLK: left channel/right channel clock
  • DATA: used to send data


  • LRCK ---- 左右声道控制信号
  • SCLK ---- 串行时钟
  • SDI ---- 数据输入
  • SDO ---- 数据输出
  • CDCLK ---- 为编解码芯片提供系统同步时钟


参考电路:

Wm8960-app.jpg


I2S interface, used to transfer data to WM8960

I2C interface, used to transfer command to WM8960


























个人工具
名字空间

变换
操作
导航
工具箱