ESP32 Tutorial 39/55 - Verwendung des ESP32 als Bluetooth-Musikplayer | SunFounders ESP32 IoT-Lernkit
In diesem Tutorial werden wir untersuchen, wie man den ESP32 als Bluetooth-Musikplayer nutzen kann. Der ESP32 ist ein leistungsstarker Mikrocontroller, der Wi-Fi- und Bluetooth-Funktionen integriert, was ihn zu einer ausgezeichneten Wahl für IoT-Anwendungen macht. Wir werden einen Bluetooth A2DP-Sink verwenden, um Audio an den ESP32 zu streamen, das dann über seinen integrierten DAC ausgegeben werden kann.
Um dies zu erreichen, werden wir das ESP32 mit den notwendigen Bibliotheken und Konfigurationen einrichten, um Bluetooth-Audio-Streaming zu verarbeiten. Am Ende dieses Tutorials werden Sie einen funktionierenden Bluetooth-Audioplayer haben, der von Ihrem Smartphone oder anderen Bluetooth-fähigen Geräten gesteuert werden kann. Für eine detailliertere Erklärung sollten Sie sich das Video (im Video bei 00:00) ansehen.
Hardware erklärt
Die Hauptkomponenten für dieses Projekt umfassen den ESP32-Mikrocontroller und die BluetoothA2DPSink-Bibliothek. Der ESP32 ist mit einem integrierten Digital-Analog-Wandler (DAC) ausgestattet, der eine Audioausgabe ohne zusätzliche Hardware ermöglicht. Die BluetoothA2DPSink-Bibliothek vereinfacht den Prozess des Einrichtens eines Bluetooth-Audio-Sinks und ermöglicht es Ihnen, Audio-Streams über Bluetooth zu empfangen.
Der ESP32 hat mehrere GPIO-Pins, die für verschiedene Zwecke konfiguriert werden können, einschließlich Audioausgabe. In unserem Setup verwenden wir GPIO25 für die linken und rechten Audiokanäle. Die Bibliothek kümmert sich um die Verwaltung der Bluetooth-Verbindung und des Audio-Streams, sodass es einfacher ist, sich auf die Anwendung zu konzentrieren, anstatt auf die zugrunde liegenden Bluetooth-Protokolle.
Produktdatenblatt-Details
| Hersteller | Espressif Systems |
|---|---|
| Teilenummer | ESP32-WROOM-32 |
| Logik/IO-Spannung | 3,3 V |
| Versorgungsspannung | 3,0-3,6 V |
| Ausgangsstrom (pro Kanal) | Bis zu 40 mA |
| PWM-Frequenzrichtlinien | 1 kHz - 40 kHz |
| Thermische Grenzen | 125 °C |
| Paket | QFN48 |
| Notizen / Varianten | Verschiedene Konfigurationen verfügbar |
- Allgemeine GPIO-Pins können für die Audioausgabe verwendet werden.
- Stellen Sie eine ordnungsgemäße Stromversorgung (3,3 V) sicher, um Schäden zu vermeiden.
- Halten Sie die Firmware aktualisiert, um die Bluetooth-Leistung zu verbessern.
- Verwenden Sie externe Antennen für eine verbesserte Bluetooth-Reichweite.
- Seien Sie sich der Einschränkungen des DAC-Ausgangs bewusst; verwenden Sie externe DACs für eine höhere Audioqualität.
Verdrahtungsanweisungen

Um den ESP32 für die Bluetooth-Audio-Wiedergabe zu verdrahten, beginnen Sie damit, den ESP32 mit einer Stromquelle zu verbinden. Verwenden Sie ein USB-Kabel, um ihn mit Ihrem Computer zu verbinden, der die erforderliche Stromversorgung liefert. Verbinden Sie dann die Audioausgabepins: verbinden Sie den linken Audiokanal mit GPIO25 und den rechten Audiokanal mit demselben GPIO25-Pin. Sie können Jumperkabel für diese Verbindungen verwenden.
Da der ESP32 einen integrierten DAC hat, benötigen Sie keine zusätzlichen Komponenten für die Audioausgabe. Stellen Sie jedoch sicher, dass die Erdungsverbindung zwischen dem ESP32 und eventuell verwendeter externer Audioausrüstung gemeinsam ist. Dieses Setup ermöglicht es Ihnen, Audio direkt über Bluetooth an den ESP32 zu streamen.
Code-Beispiele und Anleitung
Der folgende Codeausschnitt initialisiert den Bluetooth A2DP-Sink und richtet die I2S-Konfiguration für die Audioausgabe ein.
// ==> Example to use built in DAC of ESP32
#include "BluetoothA2DPSink.h"
BluetoothA2DPSink a2dp_sink;
void setup() {
const i2s_config_t i2s_config = {
.mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_TX | I2S_MODE_DAC_BUILT_IN),
.sample_rate = 44100,
.bits_per_sample = (i2s_bits_per_sample_t)16,
.channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT,
};
a2dp_sink.set_i2s_config(i2s_config);
a2dp_sink.start("ESP32_Bluetooth");
}
In dersetup()Zuerst konfigurieren wir die I2S-Einstellungen und legen den Modus auf Master fest und aktivieren den integrierten DAC. Die Abtastrate wird auf 44100 Hz eingestellt, was für die Audi Wiedergabe standardmäßig ist. Der Bluetooth A2DP-Sink wird dann mit einem bestimmten Namen gestartet, damit er von anderen Bluetooth-Geräten erkannt werden kann.
Dasloop()Die Funktion bleibt leer, da die Bluetooth-Bibliothek das Streaming im Hintergrund verwaltet. Sie können den vollständigen Code, der unter dem Artikel geladen ist, für weitere Details einsehen.
Demonstration / Was zu erwarten ist
Sobald das Setup abgeschlossen und der Code hochgeladen ist, schalten Sie den ESP32 ein und suchen Sie nach dem Gerät mit dem Namen "ESP32_Bluetooth" auf Ihrem Bluetooth-fähigen Gerät. Nach der Verbindung sollte jeder Ton, der auf dem verbundenen Gerät abgespielt wird, über den ESP32 gestreamt werden. Sie können eine hochwertige Audioausgabe über den DAC erwarten, solange die Verbindungen korrekt sind und die Stromversorgung stabil ist.
Häufige Fallstricke sind falsches Verdrahten der Audiokabelanschlüsse und unzureichende Stromversorgung. Stellen Sie sicher, dass der ESP32 ordnungsgemäß mit Strom versorgt wird und dass die Erdungsverbindungen sicher sind. Wenn Sie auf Probleme stoßen, überprüfen Sie das Video für Fehlersuche-Tipps (im Video bei :00).
Video-Zeitstempel
- 00:00 Start
- 2:12 Einführung
- 5:22 Verdrahtung erklärt
- 7:51 Arduino-Code erklärt
- 10:37 Auswahl des ESP32-Boards und COM-Ports in der Arduino-IDE
- 12:19 Musik mit ESP32 vom Mobiltelefon abspielen
- 13:30 Einen leistungsstärkeren Verstärker an den ESP32 anschließen
Common Course Links
Common Course Files
Ressourcen & Referenzen
-
DokumentationESP32 Tutorial 39/55 - SunFounder-Dokumentseite für Bluetooth-Musikspielerdocs.sunfounder.com
Dateien📁
Keine Dateien verfügbar.