Inhoudsopgave:

ESP8266 DfPlayer-audiospeler - Ajarnpa
ESP8266 DfPlayer-audiospeler - Ajarnpa

Video: ESP8266 DfPlayer-audiospeler - Ajarnpa

Video: ESP8266 DfPlayer-audiospeler - Ajarnpa
Video: MP3 using DFplayer and Arduino | Soundpod part 2 [DIY] 2024, November
Anonim
ESP8266 DfPlayer-audiospeler
ESP8266 DfPlayer-audiospeler
ESP8266 DfPlayer-audiospeler
ESP8266 DfPlayer-audiospeler
ESP8266 DfPlayer-audiospeler
ESP8266 DfPlayer-audiospeler

Dit is een mp3-audiospeler opgebouwd uit een esp8266 wifi-module en een dfPlayer-mp3-module. Het speelt bestanden van een SD-kaart af.

Ik plaatste hem in een oude computerluidspreker en liet hem op batterijen werken, maar hij kan in elke luidsprekerbehuizing worden ingebouwd.

Functies omvatten:

  • 4 lokale knoppen voor standalone gebruik (volume, eenvoudige selectie)
  • Mobiele browserinterface met afspeelbediening en mapnavigatie
  • Dempen om gebruik van een hoofdtelefoon mogelijk te maken
  • Eenvoudige installatie via WifiManager
  • Over-the-air firmware-updates
  • Bestandsbrowser voor onderhoud
  • dfPlayer tot 2W audio-uitgang naar luidspreker (mono). Stereo naar koptelefoon

Stap 1: Benodigde componenten en gereedschappen

Benodigde componenten en gereedschappen
Benodigde componenten en gereedschappen
Benodigde componenten en gereedschappen
Benodigde componenten en gereedschappen
Benodigde componenten en gereedschappen
Benodigde componenten en gereedschappen
Benodigde componenten en gereedschappen
Benodigde componenten en gereedschappen

De volgende onderdelen zijn nodig:

  • ESP-12F wifi-verwerkingsmodule
  • dfPlayer mp3-module met micro SD-kaarthouder
  • 18650 batterij en houder
  • LIPO-oplaadmodule
  • Drukknopschakelaars x4
  • Power schuifschakelaar x 1"
  • Spanningsregelaar met low drop-out 3.3V-chip (bijv. XC6203)
  • Schroot van printplaat om regelaar te maken;
  • 2.2K weerstand
  • 10K weerstand x 2
  • 47K weerstand
  • 220 uF ontkoppelcondensator
  • Draad aansluiten
  • Luidspreker + behuizing (bijv. computerluidspreker of oude radio)
  • Koptelefoon aansluiting. Mogelijk al aanwezig op bestaande behuizing.
  • SD-kaart (4 GB aanbevolen, maar bijna elk formaat kan worden gebruikt)

Deze kunnen allemaal voor zeer bescheiden bedragen worden gekocht op sites zoals eBay

Gereedschap nodig

  • Boor en vijlen om gaten in de behuizing te maken
  • Fijne punt soldeerbout

De dfPlayer-module kan lastig te monteren zijn, omdat deze externe toegang tot een slot nodig heeft om bij de SD-kaart te komen. Voor behuizingen met een plat paneel heb ik een 3D-geprinte beugel gebruikt die is ontworpen om de module stevig tegen het paneel te houden

Stap 2: Schema

Schematisch
Schematisch

Het schema is vrij eenvoudig.

Een LIPO-batterijoplaadmodule wordt gebruikt om de batterij op te laden.

De batterij voedt de dfPlayer-module rechtstreeks en de ESP-12F via een 3.3V-regelaar.

De dfPlayer wordt bestuurd via een seriële interface, dus 2 pinnen op de ESP-12F-module ondersteunen dit.

4 drukknoppen zijn gekoppeld aan de ESP-12F GPIO voor stand-alone bediening.

De luidspreker- en hoofdtelefoonaansluiting worden rechtstreeks ondersteund door de dfPlayer-module.

Stap 3: constructie

Bouw
Bouw
Bouw
Bouw

De details van de mechanische constructie zijn afhankelijk van het te gebruiken type behuizing. Het voorbeeld hier gebruikte computerluidspreker. Deze had veel ruimte binnenin voor de modules en elektronica.

De afbeelding toont de voltooide weergave voor dit voorbeeld. De USB, aan/uit-schakelaar en drukknoppen bevinden zich aan de rechterkant. De LIPO is op de achterkant gemonteerd. De ESP-12F-module, hoofdtelefoonaansluiting en dfPlayer zijn aan de linkerkant gemonteerd. De batterij was aan de achterkant gemonteerd.

De algemene stappen na het uitwerken van een lay-out die bij uw behuizing past, zijn:

  • Boor en vijl gaten voor USB-ingang, schuifschakelaar, 4 drukknoppen, hoofdtelefoonaansluiting en slot voor micro SD-kaart. De SD-kaartsleuf moet zorgvuldig worden gedaan om uit te lijnen met waar de dfPlayer-module zal worden gemonteerd.
  • Als u wilt dat de luidspreker wordt gedempt om de hoofdtelefoon te kunnen gebruiken, heeft de dfPlayer een kleine aanpassing nodig, zoals afgebeeld. Er is een mute op de kleine versterker aan boord, maar deze is geaard via een weerstand van 0 Ohm. Verwijder deze weerstand en vervang deze door een 10K weerstand. Soldeer een draad op de pad zoals afgebeeld. Dit is de mute die vervolgens kan worden bediend vanaf de ESP-12F
  • Merk op dat u misschien eerst de ESP-12F-module wilt flashen voordat de definitieve mechanische constructie wordt uitgevoerd. Zie de softwarestap.
  • Maak de 3.3V-regelaar op een stuk schrootstripbord. Er zijn slechts 2 componenten en deze kan worden bedraad en gemonteerd op de ESP-12F-module.
  • Monteer de drukknopschakelaars mechanisch, zet ze vast met lijm en soldeer een aardlus door één kant van alle schakelaars.
  • Soldeer 4 losse draden op de USB-connector en monteer deze in de behuizing en zet vast met lijm
  • Soldeerkabels van batterijhouder naar LIPO-oplader en stroomschuifschakelaar. Lijmoplader en schuifschakelaar in behuizing.
  • Soldeer de vliegende draden op de koptelefoonaansluiting, monteer en lijm ze op hun plaats.
  • Voeg de 2.2K-weerstand, de ADC-verdeler en de CH/Up-verbinding toe aan de ESP-12F-module
  • Soldeer vliegende draden op ESP-12F-module voor seriële interface, de 4 GPIO-knoppen.
  • Monteer de dfPlayer op zijn plaats en zorg ervoor dat de sleuf toegang heeft voor de SD-kaart.
  • Volledige bedrading van de ESP12-F naar stroomaansluitingen, drukknoppen, seriële interface en mute-bediening op de dfPlayer
  • Volledige bedrading van stroom, USB-gegevenspaar, hoofdtelefoonaansluiting en luidspreker naar dfPlayer

Controleer de stroombedrading dubbel!

Stap 4: Software en installatie

De ESP-software is geschreven in de Arduino-omgeving. Broncode is beschikbaar op https://github.com/roberttidey/dfPlayer De bibliotheek die de dfPlayer bestuurt, is daar. De andere vereiste en daar vermelde bibliotheken zijn standaardmodules.

De ino-schets hoeft niet veel te worden gewijzigd, hoewel u de WifiManager- en firmware-updatewachtwoorden wilt wijzigen.

Compileer in een Arduino ESP8266 omgeving en doe de eerste flash over de standaard seriële verbinding. Verdere updates kunnen worden gedaan door een binair bestand in de Arduino IDE te exporteren en een OTA (over-the-air) update rechtstreeks naar het apparaat uit te voeren zonder kabels.

Bij het eerste gebruik heeft de software niet de lokale wifi-referenties, maar maakt in plaats daarvan zelf een toegangspunt met de naam dfPlayerSet up. Maak hier verbinding mee (bijvoorbeeld vanaf een telefoon of tablet) en blader vervolgens naar 102.168.4.1. Dit zal een interface openen om het echte netwerk te selecteren en het wachtwoord in te voeren. Vanaf dan wordt deze automatisch gebruikt.

Er is een eenvoudige bestandsuploader die moet worden gebruikt om basisbestanden naar het SPIFFS-bestandssysteem op de ESP-12F te laden (edit.htm.gz, index.html, basic.htm, favicon*-p.webp

Vanaf dat moment kunt u https://ip/edit gebruiken om meer gegevens op een vriendelijkere manier te uploaden.

U kunt de index.htm bewerken om naar een ander favicon-bestand te verwijzen en het indien nodig een andere titel geven.

Het favicon wordt gebruikt als u een snelkoppeling toevoegt aan het scherm op bijvoorbeeld een telefoon.

Stap 5: SD-kaart voorbereiding

De dfPlayer speelt bestanden rechtstreeks van de SD-kaart af, maar heeft een beperkt map- en bestandsnaamschema.

Om het gebruik en de controle te vergemakkelijken, wordt bij de software een script meegeleverd dat deze naamgeving kan ondersteunen, maar waarmee ook de oorspronkelijke namen op de webinterface kunnen worden aangeklaagd.

Om de SD-kaart te gebruiken, plaatst u de SD-kaart op een pc en kopieert u deze naar een map met tracks met hun oorspronkelijke naam (bijv. albums voor mappen en tracknamen voor bestanden).

Voer het script uit (dfPlayer-makeSD.vbs). Er wordt gevraagd naar het volume van de SD-kaart. Wijzig dit indien nodig. Het zal dan alle mappen en bestanden op de SD-kaart hernoemen en toewijzingsbestanden maken van de vereenvoudigde naamgeving terug naar de oorspronkelijke namen. Folders.txt bevat een lijst met mapnummers en -namen. Individueel Track.txt-bestand bevat de toewijzing in elke map. In dit stadium is alleen de Folders.txt nodig. Softwareverbeteringen kunnen in de toekomst gebruik maken van de tracklijsten.

Het bestand Folders.txt moet worden geüpload naar het ESP-12F SPIFFS-bestandssysteem via de /edit-uploader.

Merk op dat u mappen kunt verwijderen en nieuwe kunt toevoegen. Wanneer u een nieuwe toevoegt met de originele naamgeving, voert u het script gewoon opnieuw uit. Het zal alleen de nieuwe mappen en bestanden hernoemen en de kaarten opnieuw opbouwen. De nieuwe Folders.txt zou opnieuw moeten worden geüpload.

Stap 6: Standalone werking

De 4 knoppen werken als volgt.

  • Volume omhoog. Kort indrukken verhoogt het volume, Lang indrukken schakelt de luidspreker weer in
  • Volume omlaag Kort indrukken verlaagt het volume. Lang indrukken dempt de luidspreker
  • Select1 Kort indrukken verhoogt het af te spelen mapnummer. Lang indrukken begint de geselecteerde map af te spelen
  • Select2 Kort indrukken verlaagt het mapnummer. Lang indrukken begint willekeurige nummers af te spelen

Stap 7: Normale browserwerking

Dit is toegankelijk via https://ip (index.htm standaard)

Er verschijnt een eenvoudige webinterface met een volumeschuifregelaar en een set afspeelknoppen

  • Pauze
  • Toneelstuk
  • Willekeurig
  • Stop
  • Ga naar volgende
  • Ga naar vorige
  • Luidspreker dempen
  • Luidspreker dempen

Daaronder is een set knoppen één per map op de kaart gevuld met hun originele namen. Als u op een van deze klikt, wordt die map afgespeeld.

Stap 8: Basisbrowserbediening

Basisbrowserbediening
Basisbrowserbediening

Een vereenvoudigde browserinterface kan voornamelijk voor testdoeleinden worden gebruikt. Deze is toegankelijk via

Hiermee kunt u de opdracht en de bijbehorende parameters selecteren om naar de software te sturen.

Deze commando's worden naar de ESP12-F gestuurd met

ip/dfPlayer?cmd=command&p1=first&p2=second&p3=third

De beschikbare commando's zijn:

  • ?cmd=afspelen&p1=map&p2=track
  • ?cmd=playmp3&p1=track
  • ?cmd=volume&p1=niveau (0-30)
  • ?cmd=stop
  • ?cmd=volume omhoog
  • ?cmd=volume omlaag
  • ?cmd=luidspreker&p1=uit (0/1)
  • ?cmd=pauze
  • ?cmd=start
  • ?cmd=volgende
  • ?cmd=vorige
  • ?cmd=modus&p1=type
  • ?cmd=loopFolder&p1=map
  • ?cmd=willekeurig
  • ?cmd=eq&p1=type
  • ?cmd=apparaat&p1=type
  • ?cmd=instelling&p1=instelling1&p2=instelling2
  • ?cmd=slaap
  • ?cmd=reset
  • ?cmd=raw&p1=cmdcode&p2=par1&p3=par2
  • ?cmd=init

ip/dfPlayerStatus geeft een basisstatus van de speler inclusief batterijspanning

Aanbevolen: