ESP8266 播放 mp3

其实早就想做一个mp3播放器,但是一直没有时间,借着这次高考周放假,可以开始自己的开发。

准备工作

  • 购置需要用到的模块
    ESP8266 Nodemcu 作为开发板
    OLED 0.96寸 128x64 作为显示屏
    面包板*2,杜邦线若干
    MicroSD模块
    摇杆模块
    音频放大模块
  • 选择nodemcu是因为操作简便,适合新手
  • 两块面包板是因为普通的面包板接上一块nodemcu就没空间了,没办法插杜邦线了
  • 用microSD模块是因为DFPlayer虽然更适合播放mp3,而且音质什么的没得比,但是我查阅资料却没找到他能操作文件的库(而且它不小心被我搞坏了),要想实现我的一些操作能想到的只有这个模块
  • 加上音频放大模块(LM386)的原因是适用于esp8266的mp3库(ESP8266Audio)音量不可调,而且噪音很大,所以买这个模块(最好用电阻器可以调音量)来弥补这些缺陷。

库的选择

  • OLED 库我在b站上看到多使用AdfruitSSD1306的库,但是这个库无论怎么测试我都没办法在esp8266上点亮OLED,所以放弃,换成了一个在别的网站上看到的库(随后附上),就可以用了
    注意:OLED后面写的不一定是I2c地址
    我的OLED后面写的是0x78,但是测试发现只有0x3c可用
  • microSD模块
    至于怎样读写SD卡,内置库中有SD.h,然后网上有人推荐使用TMRpcm,但是编译的时候被告知这个库适用于avr,esp不能用,所以就另辟蹊径,找到了ESP8266Audio库,这个库很全,除了SD卡播放,还支持SPIFS(闪存播放),甚至还要网络流播放
    至于怎么接线随后后补充(找到esp8266定义引脚的头文件就可以了),然而播放出来的效果比起DFPlayer差的不是一丁半点,后续还在改进,敬请最终效果

重新开始

最近学业挺繁忙的,加上我不太经常使用arduino开发,就鸽了好长一段时间,现在重新开始,预计这个暑假之内能把它做完。
首先是我的想法:

  • 因为esp8266自带的闪存不太够用,而我们的mp3需要用个OLED屏幕,这就需要大量的像素数据(用取模软件得到的),把它们放在sd卡里面最合适不过了!
  • sd卡除了放像素数据,还要放歌曲等信息,所有就需要设计一些文件架构,来符合我们的需求,这个后面再决定
  • OLED作为显示器,可以显示当前天气(从网络获取)和时间,也可以显示sd卡内有什么东西,然后可以通过摇杆来操控(暂时没想到什么可以代替的),选中歌曲,进行播放等,还可以加自己想要的模块,比如说温湿度传感器等
  • 为了显示中文,也需要把要用到的中文的字体取模后放到/fonts文件夹下,文件名就是中文字名,然后要用直接取出即可
  • 此外,我还会搭建本地服务器(tomcat+javaweb)(网络服务器同理),实现网络上传歌曲到单片机,以及做网络服务器等,这些应该能在暑假前做完,然后过程会一一发布,供大家参考和提出建议。

文章分开写

这篇文章好像有点长了,阅读起来可能有障碍,所以我把其他的部分放到一个专栏里面,有兴趣了解的可以自行订阅(完全免费) 专栏连接跳转

esp8266 nodemcu 自制mp3相关推荐

  1. 傻乖透明小电视(最近在苦逼实习,实习结束整理发布,先来点彩蛋,关注后不会错过哦~)——ESP8266 NodeMCU+OLED+DFPlayer Mini+小喇叭

    傻乖透明小电视(最近在苦逼实习,实习结束整理发布,先来点彩蛋,关注后不会错过哦~)--ESP8266 NodeMCU+OLED+DFPlayer Mini+小喇叭 显示 ESP8266 NodeMCU ...

  2. ESP8266 NodeMCU:ESP-NOW Web 服务器传感器仪表板(ESP-NOW + Wi-Fi)

    在本项目中,您将学习如何使用 ESP8266 NodeMCU 板托管 Web 服务器并同时使用 ESP-NOW 通信协议.您可以让多个 ESP8266 板通过 ESP-NOW 将传感器读数发送到一个 ...

  3. ESP8266 NodeMCU Web 服务器:在仪表盘中显示传感器读数

    了解如何使用 ESP8266 NodeMCU 构建网络服务器以在仪表盘中显示传感器读数.例如,我们将以两种不同的仪表显示 BME280 传感器的温度和湿度:线性和径向.您可以轻松修改项目以绘制任何其他 ...

  4. ESP8266 NodeMcu机智云SOC方案开发经验分享

    功能:LED_1和LED_2可以同时用APP和KEY1和KEY2按键(短按)控制 一.硬件电路及开发环境的搭建 1.硬件电路 首先是从某宝购买WIFI模块ESP8266 NodeMcu,我买的下图这款 ...

  5. ESP8266 NodeMCU开发板连接手机热点问题

    ESP8266 NodeMCU开发板连接手机热点问题 前言: 众所周知,esp是构建一个IOT工程里得力助手之一,通俗点来说就是:"WIFI模块" 不过下面要讲的是esp8266中 ...

  6. Esp8266 nodemcu 使用PubSubClient连接阿里云物联网平台

    之前写了一篇微信小程序使用MQTT.js连接阿里云IoT物联网平台,然后很多人问问题的时候顺带会问些硬件的问题,但是自己不会,没法回答.最近有些空闲的时间,自己也挺感兴趣,于是花了一个星期左右的时间看 ...

  7. ESP8266 NodeMCU引脚说明

    问题 开发ESP8266 NodeMCU GPIO功能时,作为小白的我根本不知道引脚编号,虽然知道ESP8266 NodeMCU丝印引脚编号如下图所示,但是和实际对应的GPIO编号完全不一样. 解决 ...

  8. ESP8266 NodeMcu 连接onenet 保姆级教学

    ESP8266 nodemcu模块使用Arduino IDE 连接onenet示例 文章目录 目录 ESP8266 nodemcu模块使用Arduino IDE 连接onenet示例 文章目录 前言 ...

  9. 基于MacOS搭建ESP8266 NodeMCU CP2102开发环境

    基于MacOS搭建ESP8266-NodeMCU开发环境 1. 下载.安装驱动 2. Arduino开发环境配置 2.1. 下载.安装Arduino 2.2. 配置Arduino 1. 下载.安装驱动 ...

最新文章

  1. linux qemu 源码编译
  2. (转)jQuery选择器总结
  3. C++中常量成员函数的含义
  4. 【BZOJ4417】: [Shoi2013]超级跳马
  5. jq-AJAX 初步了解
  6. html让时间只展示年月日_如何用html写代码,使得在网页上显示当前的时间和日期...
  7. oracle的知识,oracle的基本知识
  8. AI(6)---AI开发选择哪种编程语言?
  9. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期下跌1.33%
  10. 给定字符串,实现大小写之间的转换
  11. 2019-2020-1 20175313 《信息安全系统设计基础》第一周学习总结
  12. 程序员 数学_程序员数学课程
  13. 【IT168 新闻】用友U9 SOA管理软件业标杆吗?
  14. ug冲模标准件库_基于UG建立模具标准件库
  15. it行业se是_计算机行业SSE、SE、BSE、PE、PL各自是什么职位意思?
  16. x265-1.7版本-common/quant.cpp注释
  17. 企业知识、经验如何传承?知识管理系统告诉你
  18. Ubuntu/CentOS 磁盘分区扩展
  19. 记录一个问题:jdbc连接数据库很慢【能连上,但很慢】、同理,任何应用连接慢也可以尝试用该方法
  20. xmanager5链接linux配置,使用Xmanager连接CentOS 5.5

热门文章

  1. 一文带你详细了解HarmonyOS折叠屏设计规范
  2. 学习编程和网络需要的各种资源网址收集
  3. 独家揭秘! 2021年,30家制造企业实现“数智化转型”的特殊布局
  4. 人脸检测总结报告(2018_1_20-2018_1_30)
  5. Unable to locate 'C:\Users\Administrator\Desktop\aspnet-3f34254d5ebec499ba8bc470544c7d401f379406\Sam
  6. 研究生毕业去中国移动设计院_研究:移动设备设计
  7. android开关机音乐6,android实现开机自动播放音乐实例(Broadcast、Service)
  8. 备忘录莫名其妙的没了_iphone备忘录突然没了(教你丢失的备忘录教你快速找回)...
  9. 柏林电动滑板车公司Tier收购英国电池初创
  10. quartus ii中的dff元件(D触发器)prn引脚的含义