ESP8266 DfPlayer Audio Player: 8 шагов
ESP8266 DfPlayer Audio Player: 8 шагов
Anonim
ESP8266 DfPlayer Аудиоплеер
ESP8266 DfPlayer Аудиоплеер
ESP8266 DfPlayer Аудиоплеер
ESP8266 DfPlayer Аудиоплеер
ESP8266 DfPlayer Аудиоплеер
ESP8266 DfPlayer Аудиоплеер

Это аудиоплеер mp3, созданный из модуля Wi-Fi esp8266 и модуля mp3 dfPlayer. Воспроизводит файлы с SD-карты.

Я поместил его в старый компьютерный динамик и сделал его работающим от батареи, но его можно было встроить в любой корпус динамика.

Возможности включают

  • 4 локальные кнопки для автономного использования (громкость, простой выбор)
  • Интерфейс мобильного браузера с элементами управления воспроизведением и навигацией по папкам
  • Управление отключением звука для использования наушников
  • Простая настройка через WifiManager
  • Обновления прошивки по воздуху
  • Файловый браузер для обслуживания
  • dfPlayer до 2 Вт аудиовыхода на динамик (моно). Стерео в наушники

Шаг 1. Необходимые компоненты и инструменты

Необходимые компоненты и инструменты
Необходимые компоненты и инструменты
Необходимые компоненты и инструменты
Необходимые компоненты и инструменты
Необходимые компоненты и инструменты
Необходимые компоненты и инструменты
Необходимые компоненты и инструменты
Необходимые компоненты и инструменты

Следующие части необходимы

  • Модуль обработки Wi-Fi ESP-12F
  • dfPlayer mp3-модуль с держателем карты micro SD
  • 18650 аккумулятор и держатель
  • Модуль зарядного устройства LIPO
  • Кнопочные переключатели x4
  • Ползунковый переключатель питания x 1
  • Стабилизатор напряжения с использованием микросхемы с низким падением напряжения 3,3 В (например, XC6203)
  • Лом печатной платы для изготовления регулятора
  • Резистор 2,2 кОм
  • 2 резистора 10 кОм
  • Резистор 47 кОм
  • Разделительный конденсатор 220 мкФ
  • Подключите провод
  • Громкоговоритель + корпус (например, компьютерный динамик или старое радио)
  • Порт для наушников. Может уже присутствовать на существующем вольере.
  • SD-карта (рекомендуется 4 ГБ, но можно использовать почти любой размер)

Все это можно купить за очень скромные суммы на таких сайтах, как eBay.

Необходимые инструменты

  • Сверло и напильник для проделывания отверстий в корпусе
  • Паяльник с мелким наконечником

Модуль dfPlayer может быть сложно смонтировать, поскольку он должен иметь внешний доступ к слоту для доступа к SD-карте. Для корпусов с плоской панелью я использовал напечатанный на 3D-принтере кронштейн, предназначенный для надежного крепления модуля к панели

Шаг 2: Схема

Схема
Схема

Схема довольно проста.

Модуль зарядки аккумулятора LIPO используется для зарядки аккумулятора.

Батарея питает модуль dfPlayer напрямую, а ESP-12F через стабилизатор 3,3 В.

Управление dfPlayer осуществляется через последовательный интерфейс, поэтому 2 контакта на модуле ESP-12F поддерживают это.

4 кнопки привязаны к ESP-12F GPIO для автономной работы.

Разъем для динамика и наушников напрямую поддерживается модулем dfPlayer.

Шаг 3: Строительство

Строительство
Строительство
Строительство
Строительство

Детали механической конструкции зависят от типа используемого корпуса. В данном примере использовался компьютерный динамик. Внутри было достаточно места для модулей и электроники.

На картинке показан законченный вид для этого примера. USB, выключатель питания и кнопки находятся с правой стороны. LIPO крепится сзади. Модуль ESP-12F, разъем для наушников и dfPlayer установлены с левой стороны. Батарея была установлена сзади.

Общие шаги после разработки макета, подходящего для вашего шкафа:

  • Просверлите и распилите отверстия для входа USB, ползункового переключателя, 4 кнопок, разъема для наушников и слота для карты micro SD. Слот для SD-карты нужно делать аккуратно, чтобы он совпадал с местом, где будет установлен модуль dfPlayer.
  • Если вы хотите отключить звук динамика, чтобы разрешить работу наушников, dfPlayer нуждается в небольшой модификации, как показано на рисунке. На маленьком усилителе на плате есть приглушение, но оно заземлено через резистор 0 Ом. Удалите этот резистор и замените резистором 10 кОм. Припаяйте провод к контактной площадке, как показано. Это отключение звука, которым затем можно управлять с ESP-12F.
  • Обратите внимание, что вы можете сначала прошить модуль ESP-12F перед окончательной механической конструкцией. См. Шаг программного обеспечения.
  • Соберите регулятор 3,3 В на куске обрезной доски. Компонентов всего 2, и его можно подключить к модулю ESP-12F.
  • Установите кнопочные переключатели механически, закрепите клеем и припаяйте контур заземления через одну сторону всех переключателей.
  • Припаяйте 4 гибких вывода к разъему USB, закрепите его в корпусе и закрепите клеем.
  • Припаяйте провода от держателя батареи к зарядному устройству LIPO и переключателю питания. Приклейте зарядное устройство и ползунковый переключатель в корпусе.
  • Припаяйте провода к разъему для наушников, закрепите и приклейте.
  • Добавьте резистор 2,2 кОм, делитель АЦП и соединение CH / Up к модулю ESP-12F.
  • Припаяйте выводы к модулю ESP-12F для последовательного интерфейса, 4 кнопки GPIO.
  • Установите dfPlayer на место, следя за тем, чтобы в слоте был доступ для SD-карты.
  • Полная проводка от ESP12-F до разъемов питания, кнопок, последовательного интерфейса и управления отключением звука на dfPlayer
  • Полная разводка питания, пары данных USB, разъема для наушников и динамика к dfPlayer

Дважды проверьте силовую проводку!

Шаг 4: Программное обеспечение и установка

Программное обеспечение ESP написано в среде Arduino. Исходный код доступен по адресу https://github.com/roberttidey/dfPlayer Библиотека, которая управляет dfPlayer, находится там. Остальные необходимые библиотеки и перечисленные там стандартные модули.

Скетч ino не требует значительных изменений, хотя вы захотите изменить пароли WifiManager и обновления прошивки.

Скомпилируйте в среде Arduino ESP8266 и сделайте первую прошивку через стандартное последовательное соединение. Дальнейшие обновления могут быть выполнены путем экспорта двоичного файла в IDE Arduino и выполнения обновления OTA (по воздуху) прямо на устройство без каких-либо проводов.

При первом использовании программное обеспечение не будет иметь локальных учетных данных Wi-Fi, а вместо этого создаст саму точку доступа с именем dfPlayerSet up. Подключитесь к нему (например, с телефона или планшета), а затем перейдите к 102.168.4.1. Это вызовет интерфейс, позволяющий выбрать реальную сеть и ввести ее пароль. С этого момента это будет использоваться автоматически.

Существует простой загрузчик файлов, который следует использовать для загрузки основных файлов в файловую систему SPIFFS на ESP-12F (edit.htm.gz, index.html, basic.htm, favicon *-p.webp

С этого момента вы можете использовать https:// ip / edit для более удобной загрузки дополнительных данных.

Вы можете отредактировать index.htm, чтобы он ссылался на другой файл значка и при необходимости дал ему другой заголовок.

Значок будет использоваться при добавлении ярлыка на экран, скажем, на телефоне.

Шаг 5: Подготовка SD-карты

DfPlayer воспроизводит файлы прямо с SD-карты, но имеет ограниченную схему именования папок и файлов.

Чтобы упростить использование и управление сценарием, предоставляется программное обеспечение, которое может поддерживать это именование, но также позволяет использовать исходные имена в судебном порядке в веб-интерфейсе.

Чтобы использовать, подключите SD-карту к ПК и скопируйте в папку с треками с их исходными названиями (например, альбомы для папок и названия треков для файлов).

Запустите сценарий (dfPlayer-makeSD.vbs). Он запросит объем SD-карты. При необходимости измените это. Затем он переименует все папки и файлы на SD-карте и создаст файлы сопоставления из упрощенного именования обратно к исходным именам. Folders.txt содержит список номеров и имен папок. Отдельный файл Track.txt содержит сопоставление в каждой папке. На этом этапе нужен только Folders.txt. В будущем при усовершенствовании программного обеспечения могут использоваться списки треков.

Файл Folders.txt необходимо загрузить в файловую систему ESP-12F SPIFFS с помощью загрузчика / edit.

Обратите внимание, что вы можете удалять папки и добавлять новые. Когда вы добавляете новый с оригинальным именем, просто снова запустите скрипт. Он переименует только новые папки и файлы и восстановит карты. Новый файл FOlders.txt необходимо будет снова загрузить.

Шаг 6: автономная работа

4 кнопки работают следующим образом.

  • Увеличить громкость. Короткое нажатие увеличивает громкость, длительное нажатие включает динамик
  • Уменьшение громкости Кратковременное нажатие уменьшает громкость. Длительное нажатие отключает звук динамика
  • Select1 Short Press увеличивает номер папки для воспроизведения. Длительное нажатие запускает воспроизведение выбранной папки
  • Select2 Кратковременное нажатие уменьшает номер папки. Длительное нажатие запускает воспроизведение случайных треков

Шаг 7: нормальная работа браузера

Доступ к нему осуществляется по адресу https:// ip (по умолчанию index.htm).

Он вызывает простой веб-интерфейс с ползунком громкости и набором элементов управления воспроизведением.

  • Пауза
  • Играть
  • Случайный
  • Стоп
  • Перейти к следующему
  • Перейти к предыдущему
  • Включить звук динамика
  • Отключить динамик

Ниже находится набор кнопок, по одной для каждой папки на карточке, с их исходными названиями. Щелчок по одному из них запустит воспроизведение этой папки.

Шаг 8: основные операции в браузере

Основные операции в браузере
Основные операции в браузере

Упрощенный интерфейс браузера можно использовать в первую очередь в тестовых целях. Доступ к нему доступен по адресу

Это позволяет выбрать команду и ее параметры для отправки в программное обеспечение.

Эти команды отправляются на ESP12-F с использованием

http: / ip / dfPlayer? cmd = команда & p1 = первая & p2 = вторая & p3 = третья

Доступны следующие команды:

  • ? cmd = воспроизведение & p1 = папка & p2 = дорожка
  • ? cmd = playmp3 & p1 = трек
  • ? cmd = объем & p1 = уровень (0-30)
  • ? cmd = стоп
  • ? cmd = увеличение громкости
  • ? cmd = объем
  • ? cmd = динамик & p1 = выкл (0/1)
  • ? cmd = пауза
  • ? cmd = начало
  • ? cmd = следующий
  • ? cmd = предыдущий
  • ? cmd = режим & p1 = тип
  • ? cmd = loopFolder & p1 = папка
  • ? cmd = случайный
  • ? cmd = eq & p1 = тип
  • ? cmd = устройство & p1 = тип
  • ? cmd = настройка & p1 = настройка1 & p2 = настройка2
  • ? cmd = спать
  • ? cmd = сбросить
  • ? cmd = raw & p1 = cmdcode & p2 = par1 & p3 = par2
  • ? cmd = инициализация

ip / dfPlayerStatus дает базовый статус плеера, включая напряжение батареи.

Рекомендуемые: