DFPlayer Mini на ESP8266: подключение MP3-плеера и управление по Wi-Fi

DFPlayer Mini на ESP8266 — компактный MP3/WAV плеер для Arduino-проектов с беспроводным управлением. Подключение по UART, SD-карта для треков. ESP8266 создаёт веб-сервер с кнопками: play/pause, next/prev, volume +/-, выбор трека/папки. Библиотека DFRobotDFPlayerMini. Встроенный усилитель 3 Вт моно или DAC стерео для внешнего (PAM8403). Громкость 0–30, поддержка до 255 треков. Проект для озвучки умного дома, музыкальной шкатулки, новогодних гирлянд или уведомлений. Автономный режим или Wi-Fi. Простая HTML-страница с ссылками-кнопками. Расширение приложением Android.

DFPlayer Mini ESP8266 Wi-Fi управление MP3 плеер кнопки громкость

Характеристики DFPlayer Mini

Поддержка MP3, WAV, WMA до 48 кГц. SD-карта FAT16/FAT32 до 32 ГБ. Папки 01–99, файлы 001–255. Встроенный усилитель 3 Вт моно (SPK1/SPK2). DAC_R/DAC_L стерео для внешнего усилителя. UART 9600 baud. Питание 3.3–5В, ток до 500 мА с усилителем. Громкость 0–30 уровней. Эквалайзер, повтор, random. Низкое потребление в standby.

Подключение DFPlayer Mini к ESP8266

  • VCC → 5V (или 3.3V)
  • GND → GND
  • RX → D5 (TX ESP через 1 кОм резистор)
  • TX → D6 (RX ESP)
  • SPK1/SPK2 → динамик 3–8 Ом
  • DAC_R/DAC_L → PAM8403 вход

SoftwareSerial для UART. Отдельный БП для усилителя.

Библиотека DFRobotDFPlayerMini

Установка из Менеджера библиотек. player.volume(20), player.play(1), player.next(), player.pause().

Веб-сервер на ESP8266

WiFiManager для первой настройки сети. HTML с кнопками-ссылками /play, /pause, /volup, /voldown, /next, /prev. server.on() обработчики отправляют команды плееру. Автообновление страницы.

Скетч DFPlayer + Wi-Fi

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <DFRobotDFPlayerMini.h>
#include <SoftwareSerial.h>

SoftwareSerial soft(D6, D5);
DFRobotDFPlayerMini player;
ESP8266WebServer server(80);

void setup() {
  soft.begin(9600);
  player.begin(soft);
  WiFi.begin("SSID", "PASS");
  while (WiFi.status() != WL_CONNECTED) delay(500);
  server.on("/", [](){ server.send(200, "text/html", "Play Pause ..."); });
  server.on("/play", [](){ player.play(1); server.send(200); });
  // другие /pause, /next, /volup etc.
  server.begin();
}

void loop() {
  server.handleClient();
}
Настраивает Wi-Fi подключение ESP8266;
Инициализирует DFPlayer Mini через SoftwareSerial (D6 = RX, D5 = TX);
Создаёт веб-сервер на порту 80;
На главной странице / выводит ссылки для управления DFPlayer;
По нажатию на /play воспроизводит первый трек;
В loop() обрабатывает входящие HTTP-запросы.

Настройка треков

SD-карта: папки 01–99, файлы 001.mp3 и т.д. player.playFolder(1,1) для папки. player.volume(15) начальная.

Усиление звука

Встроенный моно 3 Вт. Внешний PAM8403 стерео 3+3 Вт. DAC_R/DAC_L для чистого сигнала.

Расширение проекта

Дисплей OLED названия/ID3. Физические кнопки. Bluetooth Blynk/App. Голосовые команды. Уведомления в умном доме. Random плейлист.

Заключение

DFPlayer Mini + ESP8266 — универсальный MP3-плеер с Wi-Fi. Кнопки в браузере, простые команды. Готово к озвучке Arduino-проектов.

FAQ — DFPlayer Mini ESP8266

Нет звука?

Проверьте динамик/наушники, громкость player.volume(20). Питание 5В стабильное, резистор 1 кОм на RX.

SD-карта не читается?

FAT32 формат, папки 01–99, файлы 001–255.mp3. player.readFileCounts() тест.

Wi-Fi не подключается?

WiFiManager для AP-режима настройки. SSID/PASS в коде правильные.

Кнопки не работают?

server.on(«/cmd», handle). IP ESP в браузере. Перезагрузите после прошивки.

Стерео звук?

DAC_R/DAC_L → PAM8403. Встроенный SPK — моно.

Названия треков?

ID3 теги в MP3. player.readFileName() + OLED.

Автозапуск?

player.play(1) в setup. Или player.randomAll() для shuffle.

📁 Скачать примеры