在新的 Windows Toolchain 開發環境下,成功測試第一個藍牙(Bluetooth)程式後,筆者便有信心繼續使用這個開發環境。所以第二個程式是放在 esp_idf/examples/Bluetooth/a2dp_sink 的程式,這個程式是接收藍牙 A2DP 裝置,輸出音訊 Stream 的 Source(SRC),接受音訊 Stream 的 Sink (SNK),所以ESP32(Sink / SNR)掃描音源裝置(Source / SRC),配對成功,音源裝置發送音樂訊號,ESP32 接收音樂後,會在 ESP32 內的播放。ESP32 可以用 I2S(Inter-IC Sound) 的 PCM(Pulse Code Modulation) 方式或內置的 DAC(Digital to Analog Converter)輸出播放。
藍牙(Bluetooth)A2DP Sink Profile |
ESP32 藍牙(Bluetooth)A2DP Sink DAC電路圖 |
I2S
|
Signal
|
Description
|
ESP32 Board
|
Board Signal
|
I/O Signal
|
1
|
LRCK
|
Left Right Clock
|
36
|
G22
|
GPIO22 (Output)
|
2
|
DATA
|
Data
|
9
|
G25
|
GPIO25 (Output)
|
3
|
BCK
|
Bit Clock
|
10
|
G26
|
GPIO26 (Output)
|
但筆者手上並沒有 I2S 編解碼器,如 PCM5102、PCM5102A 或 MAX98357A,但可以更改設定為使用內置 DAC (Digital-to-Analog Converter / 低質量 / 8-bit)或 PDM (Pulse Density Modulation / 高質量),便可以測試程式是否成功。
ESP32 內置 DAC 輸出連接:
DAC
|
Signal
|
Description
|
ESP32 Board
|
Board Signal
|
I/O Signal
|
1
|
DAC
|
Channel 1 (Left)
|
9
|
G25
|
GPIO25 (Output)
|
2
|
DAC
|
Channel 2
(Right)
|
10
|
G26
|
GPIO26 (Output)
|
2019年 1月 15日 天氣報告
氣溫:20.1度 @ 20:10
相對濕度:百分之 75%
天氣:大致多雲
沒有留言:
張貼留言