網頁

2019年1月31日 星期四

DIY - ESP32:ESP32 藍牙(Bluetooth)COEX 程式(八十三)

DIY - ESP32:ESP32 藍牙(Bluetooth)COEX 程式(八十三):

這個程式是用作連接 BLE 和 Classic Bluetooth 的設備,它是使用 GATT(Generic Attribute Profile)和 A2DP(Advanced Audio Distribution Profile)規範,GATT 開始會廣播(Advertising),然後等待設備的連接 ,成功連接 後,GATT 設備便可以讀寫設備資料,這個範例程式是放在 esp_idf/examples/Bluetooth/ a2dp_gatts_coex。

ESP32 藍牙(Bluetooth)COEX 程式
操作系統:Windows 7 64-bit 版本
開發環境:ESP32 Windows Toolchain 20181001 版本
燒寫程式:FLASH_DOWNLOAD_TOOLS_v3.6.4
原程式版本:ESP32 ESP-IDF V3.3-beat1-136
原程式:esp_idf/examples/Bluetooth/ a2dp_gatts_coex
程式:DIY-ESP32-100_11_BT_gatts_SSD1306-20181231

ESP32 藍牙 a2dp_gatts_coex 程式的定義:
#define BT_DEVICE_NAME                  "ESP_COEX_A2DP_DEMO"
#define BLE_ADV_NAME                     "ESP_COEX_BLE_DEMO"
#define GATTS_SERVICE_UUID_A        0x00FF
#define GATTS_CHAR_UUID_A              0xFF01
#define GATTS_DESCR_UUID_A            0x3333
#define GATTS_NUM_HANDLE_A          4

#define GATTS_SERVICE_UUID_B         0x00EE
#define GATTS_CHAR_UUID_B              0xEE01
#define GATTS_DESCR_UUID_B             0x2222
#define GATTS_NUM_HANDLE_B          4

#define GATTS_DEMO_CHAR_VAL_LEN_MAX 0x40
#define PREPARE_BUF_MAX_SIZE        1024
#define PROFILE_NUM                            2
#define PROFILE_A_APP_ID                    0
#define PROFILE_B_APP_ID                    1

mingw32.exe
make menuconfig
Web Radio / Bluetooth Speaker  -> Audio Output -> Select Audio Output Mode (Generic I2S) ->  Built-In DAC

mingw32.exe:
Change Makefile PROJECT_NAME := user
make manuconfig
make –j4 all

由於筆者沒有 PCM 模組,所以將 ESP32 的 A2DP 設定為 Internal DAC,然後直接將電子線路連接到 GPIO26 的輸出。

程式成功編譯,便將 bin 檔案燒錄到 ESP32 模組,完成後重置 ESP32 模組,開啓 ESPlorer ESPlorer v0.2.0-rc6 作串口輸出顯示。

開啓手機 Bluetooth 設備裝置,掃描周邊設備,應該可見 ESP_COEX_A2DP_DEMO 的名稱,然後配對 ESP_COEX_A2DP_DEMO,成功配對後,便可以開啓手機媒體裝置,並且播放音響,ESP32 的喇叭便會播放音響,但音響質素很差,重點是已經通過藍牙(Bluetooth)裝置傳輸音樂訊號到另外的藍牙裝置。

ESP32 GATT 開始會廣播(Advertising)
HUAWEI G9 PLUS 手機藍牙連接
連接成功,HUAWEI G9 PLUS 手機開始播放音樂
ESP32 Bluetooth 設備名稱:ESP_COEX_A2DP_DEMO
ESP32 Bluetooth 設備名稱:ESP_COEX_BLE_DEMO

2019年 1月 31日 天氣報告
氣溫:21.0@ 19:40
相對濕度:百分之 76%
天氣:天色大致良好

沒有留言:

張貼留言