Certaines parties de ce site Web ne sont pas encore disponibles dans votre langue. Nous travaillons à résoudre ce problème et nous nous excusons pour tout inconvénient.
Tutoriel ESP32 39/55 - Utiliser l'ESP32 comme lecteur de musique Bluetooth | Kit d'apprentissage IoT ESP32 de SunFounder
Dans ce tutoriel, nous allons explorer comment utiliser l'ESP32 comme un lecteur de musique Bluetooth. L'ESP32 est un puissant microcontrôleur qui intègre des capacités Wi-Fi et Bluetooth, ce qui en fait un excellent choix pour les applications IoT. Nous utiliserons un récepteur Bluetooth A2DP pour diffuser l'audio vers l'ESP32, qui pourra ensuite être sorti par son DAC intégré.
module_audio
Pour y parvenir, nous allons configurer l'ESP32 avec les bibliothèques et les configurations nécessaires pour gérer la diffusion audio Bluetooth. À la fin de ce tutoriel, vous disposerez d'un lecteur audio Bluetooth fonctionnel qui peut être contrôlé depuis votre smartphone ou d'autres appareils dotés de Bluetooth. Pour une explication plus détaillée, assurez-vous de consulter la vidéo (dans la vidéo à 00:00).
image_du_orateur
Matériel expliqué
Les principaux composants de ce projet comprennent le microcontrôleur ESP32 et la bibliothèque BluetoothA2DPSink. L'ESP32 est équipé d'un Convertisseur Numérique-Analogique (CNA) intégré qui permet la sortie audio sans matériel supplémentaire. La bibliothèque BluetoothA2DPSink simplifie le processus de configuration d'un récepteur audio Bluetooth, vous permettant de recevoir des flux audio via Bluetooth.
L'ESP32 dispose de plusieurs broches GPIO pouvant être configurées à diverses fins, y compris la sortie audio. Dans notre configuration, nous utiliserons GPIO25 pour les canaux audio gauche et droit. La bibliothèque s'occupe de la gestion de la connexion Bluetooth et du streaming audio, ce qui facilite la concentration sur l'application plutôt que sur les protocoles Bluetooth sous-jacents.
Détails de la fiche technique
Fabricant
Espressif Systems
Numéro de pièce
ESP32-WROOM-32
Tension Logique/Entrée/Sortie
3,3 V
Tension d'alimentation
3,0-3,6 V
Courant de sortie (par canal)
Jusqu'à 40 mA
Connaissances sur la fréquence PWM
1 kHz - 40 kHz
Limites thermiques
125 °C
Colis
QFN48
Remarques / variantes
Configurations variées disponibles
Des broches GPIO courantes peuvent être utilisées pour la sortie audio.
Assurez-vous d'une alimentation électrique adéquate (3,3 V) pour éviter les dommages.
Maintenez le firmware à jour pour améliorer les performances Bluetooth.
Utilisez des antennes externes pour une portée Bluetooth améliorée.
Soyez conscient des limites de sortie du DAC ; utilisez des DAC externes pour un son de meilleure qualité.
Instructions de câblage
esp32-39_bluetooth_audio_wiring
Pour connecter l'ESP32 pour la lecture audio Bluetooth, commencez par brancher l'ESP32 à une source d'alimentation. Utilisez un câble USB pour le connecter à votre ordinateur, qui fournira la puissance nécessaire. Ensuite, connectez les broches de sortie audio : connectez le canal audio gauche à GPIO25 et le canal audio droit à la même broche GPIO25. Vous pouvez utiliser des fils de connexion pour ces connexions.
Puisque l'ESP32 possède un DAC intégré, vous n'avez pas besoin de composants supplémentaires pour la sortie audio. Cependant, assurez-vous que la connexion à la terre est commune entre l'ESP32 et tout équipement audio externe que vous pourriez utiliser. Cette configuration vous permettra de diffuser de l'audio directement vers l'ESP32 via Bluetooth.
Exemples de code et guide étape par étape
Le code suivant initialise le récepteur Bluetooth A2DP et configure l'I2S pour la lecture audio.
// ==> 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");
}
Dans lesetup()fonction, nous configurons d'abord les paramètres I2S, en spécifiant le mode comme maître et en activant le DAC intégré. Le taux d'échantillonnage est réglé sur 44100 Hz, ce qui est standard pour la lecture audio. Le récepteur Bluetooth A2DP est ensuite démarré avec un nom spécifié, ce qui permet de le reconnaître par d'autres appareils Bluetooth.
Leloop()La fonction reste vide, car la bibliothèque Bluetooth gère le streaming en arrière-plan. Vous pouvez consulter le code complet chargé en dessous de l'article pour plus de détails.
Démonstration / À quoi s'attendre
Une fois la configuration terminée et le code téléchargé, allumez l'ESP32 et recherchez l'appareil nommé "ESP32_Bluetooth" sur votre appareil compatible Bluetooth. Dès la connexion, tout audio joué sur l'appareil connecté devrait être diffusé via l'ESP32. Vous pouvez vous attendre à une sortie audio de haute qualité via le DAC tant que les connexions sont correctes et que l'alimentation est stable.
Les pièges courants incluent un câblage incorrect des broches de sortie audio et une alimentation insuffisante. Assurez-vous que l'ESP32 est correctement alimenté et que les connexions de masse sont sécurisées. Si vous rencontrez des problèmes, consultez la vidéo pour des conseils de dépannage (dans la vidéo à 00:00).
Horodatage vidéo
00:00 Début
2:12 Introduction
5:22 Explication du câblage
7:51 Code Arduino expliqué
10:37 Sélectionner la carte ESP32 et le port COM dans l'IDE Arduino
12:19 Jouer de la musique avec l'ESP32 depuis un téléphone mobile
13:30 Connexion d'un amplificateur plus puissant à l'ESP32
Images
esp32-39_bluetooth_audio_wiring
speaker_pic
audio_module
esp32-39_bluetooth_audio_wiring
speaker_pic
audio_module
840-ESP32 Tutorial 39/55- Arduino code for playing audio via bluetooth