這個程式是用作連接 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 程式 |
開發環境: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_BLE_DEMO
2019年 1月 31日 天氣報告
氣溫:21.0度 @ 19:40
相對濕度:百分之 76%
天氣:天色大致良好
沒有留言:
張貼留言