ESP8266 MP3
(→Quick Start) |
(→Quick Start) |
||
(未显示1个用户的36个中间版本) | |||
第1行: | 第1行: | ||
== Quick Start == | == Quick Start == | ||
− | 准备一块 Noduino Falcon 开发板,一根 micro USB 连接线: | + | 准备一块 Noduino Falcon / Nodemcu V1.0 开发板,一根 micro USB 连接线: |
[[文件:Falcon-v1.0-1000.jpg | 600px]] | [[文件:Falcon-v1.0-1000.jpg | 600px]] | ||
+ | |||
+ | [[文件:Falcon-v2.4-800-wiki.png | 600px]] | ||
第20行: | 第22行: | ||
</source> | </source> | ||
− | + | 打开 app/user/playerconfig.h 修改 AP_NAME 和 AP_PASSWORD 为你所用之无线路由 AP,然后编译、刷机: | |
<source lang=bash> | <source lang=bash> | ||
$ cd ../sketch/mp3 | $ cd ../sketch/mp3 | ||
+ | $ vim app/user/playerconfig.h | ||
$ make flash | $ make flash | ||
+ | </source> | ||
+ | |||
+ | |||
+ | 不同平台下,你的串口设备号可能不一样,确认一下你的串口设备,比如在 Windows 下 Falcon 开发板可能被识别为 COM7(设备管理器里查看),则: | ||
+ | |||
+ | <source lang=bash> | ||
+ | $ make flash ESPPORT=COM7 | ||
</source> | </source> | ||
第33行: | 第43行: | ||
* [[Getting Started with Noduino SDK on Mac OS X]] | * [[Getting Started with Noduino SDK on Mac OS X]] | ||
* [[Getting Started with Noduino SDK on Windows]] | * [[Getting Started with Noduino SDK on Windows]] | ||
+ | |||
+ | |||
+ | 串口刷机完成后,系统会连接你的无线路由,然后去访问 http://noduino.org/fair.mp3 这个文件,这个过程没问题的话,就会自动播放。 | ||
+ | |||
+ | ;;声音信号(模拟信号)输出到 Noduino Falcon 板的 RX 口 (GPIO3) | ||
+ | |||
+ | |||
+ | 因此,找一个小喇叭,一头接 Noduino Falcon 板的 RX 口 (D0),一头接 Noduino Falcon 板 的 GND 就能听到音乐声音! | ||
+ | |||
+ | [[文件:Noduino-falcon-speaker.jpg | 600px]] | ||
<br><br> | <br><br> | ||
+ | |||
+ | == 改进 == | ||
+ | |||
+ | 当然,直接出来的信号很微弱,要是喇叭的阻抗稍高点,声音就很小,要贴近喇叭才能听见,这个时候,可以用简单的三极管放大一下信号。或者用现成的功放模块,比如: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/ | ||
+ | |||
<br><br> | <br><br> | ||
+ | |||
+ | == 提升 == | ||
+ | |||
+ | === 使用 DAC === | ||
+ | |||
+ | 可尝试用一片 I2S 接口的 DAC,硬件数模转换: | ||
+ | |||
+ | [http://wiki.jackslab.org/images/TDA1543.PDF TDA1543 Datasheet] | ||
+ | |||
+ | |||
+ | [[文件:TDA1542-breakout.jpg]] | ||
+ | |||
+ | |||
+ | 可改善纯软件的不如人意 | ||
+ | |||
+ | |||
+ | 接线: | ||
+ | |||
+ | * I2S_BCK --- GPIO15 --- Noduino_Falcon D3 | ||
+ | * I2S_WS --- GPIO2 --- Noduino_Falcon D2 | ||
+ | * I2S_DATA --- GPIO3 --- Noduino_Falcon D0 | ||
+ | |||
+ | <br><br> | ||
+ | |||
+ | === 使用 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 | 900px]] | ||
+ | |||
+ | |||
+ | I2S interface, used to transfer data to WM8960 | ||
+ | |||
+ | I2C interface, used to transfer command to WM8960 | ||
+ | |||
+ | |||
+ | |||
+ | * http://www.epubit.com.cn/book/onlinechapter/34489 | ||
+ | |||
<br><br> | <br><br> | ||
<br><br> | <br><br> |
2017年5月8日 (一) 13:43的最后版本
目录 |
[编辑] 1 Quick Start
准备一块 Noduino Falcon / Nodemcu V1.0 开发板,一根 micro USB 连接线:
获取 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 使用,更多参考:
- Getting Started with Noduino SDK on Linux
- Getting Started with Noduino SDK on Mac OS X
- Getting Started with Noduino SDK on Windows
串口刷机完成后,系统会连接你的无线路由,然后去访问 http://noduino.org/fair.mp3 这个文件,这个过程没问题的话,就会自动播放。
- 声音信号(模拟信号)输出到 Noduino Falcon 板的 RX 口 (GPIO3)
因此,找一个小喇叭,一头接 Noduino Falcon 板的 RX 口 (D0),一头接 Noduino Falcon 板 的 GND 就能听到音乐声音!
[编辑] 2 改进
当然,直接出来的信号很微弱,要是喇叭的阻抗稍高点,声音就很小,要贴近喇叭才能听见,这个时候,可以用简单的三极管放大一下信号。或者用现成的功放模块,比如:PAM8406 数字功放板,PAM8403 功放板 等等,淘宝的价格很便宜:
接线如下,输入接 L(左声道)或者 R(右声道),喇叭得接对应的 L+ 或者 R+ :
接上后,就发现声音变大了,爽!
当然,同时背景噪声也很明显,这个需要做进一步的改进、尝试、折腾。。。
整个源代码都在 noduino-sdk/sketch/mp3 这个目录下,或者直接 github: https://github.com/icamgo/noduino-sdk/tree/master/sketch/mp3/
[编辑] 3 提升
[编辑] 3.1 使用 DAC
可尝试用一片 I2S 接口的 DAC,硬件数模转换:
可改善纯软件的不如人意
接线:
- I2S_BCK --- GPIO15 --- Noduino_Falcon D3
- I2S_WS --- GPIO2 --- Noduino_Falcon D2
- I2S_DATA --- GPIO3 --- Noduino_Falcon D0
[编辑] 3.2 使用 I2S 声卡
- WM8960G
- BCLK: bit clock, basic clock for the data
- LRCLK: left channel/right channel clock
- DATA: used to send data
- LRCK ---- 左右声道控制信号
- SCLK ---- 串行时钟
- SDI ---- 数据输入
- SDO ---- 数据输出
- CDCLK ---- 为编解码芯片提供系统同步时钟
参考电路:
I2S interface, used to transfer data to WM8960
I2C interface, used to transfer command to WM8960