此篇博客用来整理 ESP32 Wi-Fi & BLE 的 Tx Power 调整方法。此博客分为两部分:
- Wi-Fi Tx Power 调整
- BLE Tx Power 调整
- BR/EDR Tx Power 调整
注:当前使用 的 IDF commit 为 c40f2590b (HEAD, tag: v4.2)
1 Wi-Fi Tx Power 调整
修改 Wi-Fi Tx Power 有以下两种方式:
- 在
menuconfig
中修改 Max WiFi TX power
- 使用 API
esp_wifi_set_max_tx_power()
1.1 在 menuconfig
中修改 Max WiFi TX power
通过修改 menuconfig -> component config -> PHY
里的 Max WiFi TX power
来调整 Wi-Fi Tx Power,最大为 20 dBm。如下图:
1.2 使用 API esp_wifi_set_max_tx_power()
通过调用 esp_wifi_set_max_tx_power()
来修改 Wi-Fi Tx power,此 API 详情请参考 这里。
2 BLE Tx Power 调整
低功耗蓝牙发射功率可通过 API esp_ble_tx_power_set()
进行设置,可参见 esp_bt.h。
注: ESP32 SDK 中默认情况下使用功率级别 4,相应的发射功率为 0 dBm。ESP32 蓝牙的发射功率从 0 到 7,共有 8 个功率级别,发射功率范围从 –12 dBm 到 9 dBm。功率电平每增加 1 时,发射功率增加 3 dBm。
3 BR/EDR Tx Power 调整
经典蓝牙发射功率可通过 API esp_bredr_tx_power_set()
进行设置,可参见 esp_bt.h。