ESP8266 MP3

来自Jack's Lab
(版本间的差异)
跳转到: 导航, 搜索
(使用 I2S 声卡)
(Quick Start)
 
(未显示1个用户的11个中间版本)
第4行: 第4行:
  
 
[[文件:Falcon-v1.0-1000.jpg | 600px]]
 
[[文件:Falcon-v1.0-1000.jpg | 600px]]
 +
 +
[[文件:Falcon-v2.4-800-wiki.png | 600px]]
  
  
第101行: 第103行:
 
=== 使用 I2S 声卡 ===
 
=== 使用 I2S 声卡 ===
  
;;WM8960G  
+
;;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 | 900px]]
  
* BCLK: bit clock, basic clock for the data.
 
* LRCLK: left channel/right channel clock.
 
* DATA: used to send data.
 
  
 
I2S interface, used to transfer data to WM8960
 
I2S interface, used to transfer data to WM8960
  
 
I2C interface, used to transfer command to WM8960
 
I2C interface, used to transfer command to WM8960
 +
 +
 +
 +
* http://www.epubit.com.cn/book/onlinechapter/34489
  
 
<br><br>
 
<br><br>

2017年5月8日 (一) 13:43的最后版本

目录

[编辑] 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


























个人工具
名字空间

变换
操作
导航
工具箱