ESP32 ټیوټوریل 39/55 - د ESP32 د بلوتوث میوزیک پلیر په توګه کارول | د SunFounder د ESP32 IoT زده کړې کټ
په دې ټیوټوریل کې، موږ به وپلټو چې څنګه ESP32 د بلوتوت میوزیک پلیر په توګه وکاروو. ESP32 یو پیاوړی مایکروکنټرولر دی چې د وای-فای او بلوتوت وړتیاوې سره یوځای کوي، چې دا د IoT غوښتنلیکونو لپاره غوره انتخاب ګرځوي. موږ به د بلوتوت A2DP سنک څخه کار واخلو ترڅو آډیو ESP32 ته واستوو، کوم چې بیا د هغې په جوړ شوي DAC له لارې تولید کیدی شي.
د دې ترلاسه کولو لپاره، موږ به ESP32 د اړینو کتابتونونو او تشکیلاتو سره تنظیم کړو ترڅو د بلوتوت آډیو سټریمینګ اداره کړو. د دې ټیوټوریل په پای کې، تاسو به یو کار کوونکی بلوتوت آډیو پلیر ولرئ چې د خپل سمارټ فون یا نورو بلوتوت وړ وسیلو څخه کنټرول کیدی شي. د لا زیات تفصیلي توضیح لپاره، ډاډ ترلاسه کړئ چې ویډیو وګورئ (په ویډیو کې په 00:00).
هارډویر تشریح شوی
د دې پروژې اصلي برخې د ESP32 مایکروکنټرولر او د BluetoothA2DPSink کتابتون شامل دي. ESP32 د جوړ شوي ډیجیټل-ته-انالوګ کنورټر (DAC) سره سمبال دی چې د اضافي هارډویر پرته د آډیو تولید اجازه ورکوي. د BluetoothA2DPSink کتابتون د بلوتوت آډیو سنک د تنظیمولو پروسه ساده کوي، چې تاسو ته دا وړتیا درکوي چې د بلوتوت له لارې آډیو سټریمونه ترلاسه کړئ.
ESP32 ډیری GPIO پنونه لري چې د مختلفو موخو لپاره تنظیم کیدی شي، پشمول د آډیو تولید. زموږ په تنظیم کې، موږ به د کیڼ او ښي آډیو چینلونو لپاره GPIO25 وکاروو. کتابتون د بلوتوت اړیکې او آډیو سټریمینګ اداره کولو مسؤلیت په غاړه لري، چې دا اسانه کوي چې د اصلي بلوتوت پروتوکولونو پرځای په غوښتنلیک تمرکز وکړو.
ډیټاشیټ تفصیلات
| جوړونکی | Espressif Systems |
|---|---|
| د برخې شمېره | ESP32-WROOM-32 |
| منطق/IO ولټاژ | 3.3 V |
| د برېښنا رسولو ولټاژ | 3.0–3.6 V |
| د تولید جریان (په هر چینل) | تر 40 mA پورې |
| د PWM فریکونسي لارښود | 1 KHz - 40 KHz |
| حرارتي محدودیتونه | 125 °C |
| بسته بندي | QFN48 |
| یادښتونه / بڼې | مختلف تشکیلات شتون لري |
- عام GPIO پنونه د آډیو تولید لپاره کارول کیدی شي.
- د زیان مخنیوي لپاره د برېښنا سمه رسول (3.3 V) ډاډمن کړئ.
- د بلوتوت ښه فعالیت لپاره فرم ویئر تازه وساتئ.
- د بلوتوت د ښه ساحې لپاره بهرني انتنونه وکاروئ.
- د DAC د تولید محدودیتونو څخه خبر اوسئ؛ د لوړ کیفیت آډیو لپاره بهرني DAC وکاروئ.
د تارونو لارښوونې

د بلوتوت آډیو پلے بیک لپاره د ESP32 تارونو لپاره، لومړی ESP32 د برېښنا سرچینې سره وصل کړئ. د USB کیبل څخه کار واخلئ ترڅو یې خپل کمپیوټر سره وصل کړئ، کوم چې اړینه برېښنا چمتو کوي. بیا، د آډیو تولید پنونه وصل کړئ: د کیڼ آډیو چینل GPIO25 ته او د ښي آډیو چینل ورته GPIO25 پن ته وصل کړئ. تاسو کولی شئ د دې اړیکو لپاره د جمپر تارونه وکاروئ.
څرنګه چې ESP32 جوړ شوی DAC لري، تاسو د آډیو تولید لپاره اضافي برخو ته اړتیا نلرئ. په هرصورت، ډاډ ترلاسه کړئ چې د ځمکې اړیکه د ESP32 او هر بهرني آډیو تجهیزاتو ترمنځ مشترکه ده چې تاسو یې کاروئ. دا تنظیم به تاسو ته اجازه درکړي چې آډیو مستقیم د بلوتوت له لارې ESP32 ته واستوئ.
د کوډ مثالونه او لارښود
لاندې کوډ ټوټه د بلوتوت A2DP سنک پیل کوي او د آډیو پلے بیک لپاره د I2S تشکیلات تنظیموي.
// ==> د ESP32 د جوړ شوي DAC کارولو مثال
#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");
}
د setup() فنکشن کې، موږ لومړی د I2S تنظیمات تشکیلوو، حالت د ماسټر په توګه ټاکو او جوړ شوی DAC فعالوو. د نمونې کچه 44100 Hz ټاکل شوې، کوم چې د آډیو پلے بیک لپاره معیاري ده. د بلوتوت A2DP سنک بیا د مشخص شوي نوم سره پیل کیږي، چې دا اجازه ورکوي چې د نورو بلوتوت وسیلو لخوا وپیژندل شي.
د loop() فنکشن خالي پاتې کیږي، ځکه چې د بلوتوت کتابتون سټریمینګ په شالید کې اداره کوي. تاسو کولی شئ د نورو تفصیلاتو لپاره بشپړ کوډ وګورئ چې د مقالې لاندې بار شوی دی.
مظاهره / څه تمه وکړو
یوځل چې تنظیم بشپړ شي او کوډ اپلوډ شي، ESP32 چالان کړئ او د خپل بلوتوت وړ وسیلې په "ESP32_Bluetooth" نوم وسیله وپلټئ. د اړیکې وروسته، هر آډیو چې په وصل شوي وسیله پلے کیږي باید د ESP32 له لارې سټریم شي. تاسو کولی شئ د DAC له لارې د لوړ کیفیت آډیو تولید تمه وکړئ تر هغه چې اړیکې سمې وي او د برېښنا رسول باثباته وي.
عام ستونزې د آډیو تولید پنونو ناسم تارونه او د برېښنا ناکافي رسول شامل دي. ډاډ ترلاسه کړئ چې ESP32 په سمه توګه برېښنا لري او د ځمکې اړیکې خوندي دي. که تاسو کومې ستونزې سره مخ شئ، د ستونزو حل کولو لپاره ویډیو وګورئ (په ویډیو کې په 00:00).
د ویډیو وخت نښې
- 00:00 پیل
- 2:12 پیژندنه
- 5:22 د تارونو تشریح
- 7:51 د Arduino کوډ تشریح
- 10:37 د Arduino IDE کې د ESP32 بورډ او COM پورټ انتخاب
- 12:19 د موبایل څخه د ESP32 په کارولو سره میوزیک پلے کول
- 13:30 د ESP32 سره د ډیر پیاوړي امپلیفایر اړیکه
// ==> Example to use built in DAC of ESP32
// R,L connect to GPIO25
#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, // corrected by info from bluetooth
.bits_per_sample = (i2s_bits_per_sample_t)16, //the DAC module will only take the 8bits from MSB
.channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT,
.communication_format = (i2s_comm_format_t)I2S_COMM_FORMAT_STAND_MSB,
.intr_alloc_flags = 0, // default interrupt priority
.dma_buf_count = 8,
.dma_buf_len = 64,
.use_apll = false
};
a2dp_sink.set_i2s_config(i2s_config);
a2dp_sink.start("ESP32_Bluetooth");
}
void loop() {
}
Common Course Links
Common Course Files
Resources & references
-
DocumentationESP32 Tutorial 39/55- SunFounder doc page for Bluetooth music playerdocs.sunfounder.com
Files📁
No files available.