经典蓝牙
ESP32 能否使用经典蓝牙进行 OTA?
可以使用经典蓝牙进行 OTA。请参考 bt_spp_acceptor 和 bt_spp_initiator 修改。
如何使用 ESP32 蓝牙连接手机播放音乐?
用手机通过蓝牙播放音乐,ESP32 用作 A2DP Sink。A2DP Sink Demo 只是通过手机获取 SBC 编码的数据流,若要播放出声音,需要做编解码转换,通常需要编解码器、数/模转换器、扬声器等模块。
ESP32 经典蓝牙 SPP 的传输速率能达到多少?
在开放环境下,双向同时收发,实测可达到 1400+ Kbps 到 1590 Kbps(此数据仅作为参考,实际情况建议客户根据应用环境实测)。
ESP32 的蓝牙是否兼容 Bluetooth® ver2.1 + EDR 协议?
兼容。ESP32 的蓝牙是向下兼容的,您可以使用官方的 蓝牙示例 进行测试。
ESP32 的经典蓝牙工作电流是多少?
A2DP (Single core CPU 160 Mhz,DFS = false,commit a7a90f)
电流
最大值 (mA)
最小值 (mA)
平均值
Scanning
106.4
30.8
37.8
Sniff
107.6
31.1
32.2
Play Music
123
90.1
100.4
ESP32 系列如何修改经典蓝牙的发射功率?
可以使用 esp_bredr_tx_power_set() 进行设置。
ESP32 运行 bt_spp_acceptor 例程时, IOS 设备无法扫描到 ESP32 设备是什么原因?
苹果开放的蓝牙有:A2DP、HID 的 keyboard、avrcp 以及 SPP(需要 MFI)和高端的 Bluetooth® LE 外加给予 Bluetooth LE 的 ANCS。
如果 IOS 设备想要和对端设备通过 SPP 通信,那么对端设备的 SPP 需要通过 MFI 认证。目前 ESP32 SPP 没有通过 MFI 认证,因此 IOS 设备无法扫描到 ESP32。
ESP32 如何通过 Bluetooth® BR/EDR 传文件?
可参考链接 classic bt 下的
bt_spp_acceptor
或者bt_spp_initiator
例程。
ESP32 经典蓝牙支持哪些 Profile?
目前支持 A2DP、AVRCP、SPP、HFP、HID。
ESP32 经典蓝牙配对时如何使手机端输入 PIN 码?
可以通过禁用
Secure Simple Pairing
,从而仅支持Legacy Pairing
。
v3.3 到 v4.0(不包含 v4.0):
Component config
>Bluetooth
>Bluedroid Enable
>[*] Classic Bluetooth
>[ ]Secure Simple Pairing
v4.0 及以上:
Component config
>Bluetooth
>Bluedroid Options
>[ ] Secure Simple Pairing
ESP32 经典蓝牙的 MTU Size 最大可设多大呢?
ESP32 经典蓝牙有两种协议,分别为 A2DP 和 SPP 协议。BT A2DP 的 MTU Size 最大设置(默认)为 1008 字节,其中包头占 12 字节,应用层实际传输的数据量即为 1008 - 12 = 996(字节);BT SPP 的 MTU Size 最大(默认)设置为 990 字节。
ESP32 是否支持 A2DP 发送音频?
ESP32 支持 A2DP 发送音频,可参考例程 a2dp_source。
ESP32 经典蓝牙支持 AVRCP 1.5 或 AVRCP 1.6 吗?
目前已经在 esp-idf v5.0.4 及之后的版本上支持 AVRCP 1.5,不支持 AVRCP 1.6(已废弃),详情参见 esp-idf/components/bt/host/bluedroid/stack/avrc/avrc_sdp.c。