Как уменьшить мощность передатчика Wi-Fi на ESP32?
Обновлено Редакция GAW
ESP32 по умолчанию передаёт с мощностью около 20 дБм — это предел для режима 802.11b. Уменьшать её имеет смысл, когда точка доступа рядом: так снижаются пики тока, от которых при слабом питании модуль перезагружается, и помехи соседним устройствам.
Как задать мощность
// ESP-IDF: limit Wi-Fi TX power to 13 dBm (esp_wifi.h, v6.1)
ESP_ERROR_CHECK(esp_wifi_start());
ESP_ERROR_CHECK(esp_wifi_set_max_tx_power(52)); // 52 * 0.25 dBm = 13 dBm
int8_t p;
esp_wifi_get_max_tx_power(&p); // read back the actual step
Значение задаётся в четвертях дБм и округляется вниз до ближайшей ступени:
| Аргумент | Фактическое значение | Мощность |
|---|---|---|
| 8–19 | 8 | 2 дБм |
| 34–43 | 34 | 8,5 дБм |
| 44–51 | 44 | 11 дБм |
| 52–55 | 52 | 13 дБм |
| 60–65 | 60 | 15 дБм |
| 72–79 | 72 | 18 дБм |
| 80–84 | 80 | 20 дБм |
Полный список ступеней — в описании функции в esp_wifi.h. Перевести дБм в милливатты можно в калькуляторе децибел: 13 дБм — это 20 мВт, 20 дБм — 100 мВт.
Что это даёт
По даташиту ESP32 ток передачи зависит от режима и мощности: 240 мА при +19,5 дБм в 802.11b и 180 мА при +14 дБм в 802.11n. Если модуль перезагружается при подключении к сети, причина обычно в просадке питания — разбор в ответе «Почему ESP32 перезагружается при включении Wi-Fi», а снижение мощности лишь уменьшает пики.
Дальность при этом падает: 6 дБ меньше — примерно вдвое короче связь в свободном пространстве (статья «Бюджет радиолинии»). Мощность, которую видит регулятор, учитывает и усиление антенны — это ЭИИМ. Выводы и режимы питания модуля — на странице ESP32.
Похожие вопросы
Почему esp_wifi_set_max_tx_power возвращает ошибку?
Чаще всего потому, что функция вызвана до esp_wifi_start(): по описанию в esp_wifi.h тогда возвращается ESP_ERR_WIFI_NOT_STARTED. Значение вне диапазона 8–84 даёт ESP_ERR_INVALID_ARG.
Насколько уменьшится дальность при снижении мощности с 20 до 8,5 дБм?
Это 11,5 дБ. В свободном пространстве потери растут на 6 дБ при удвоении расстояния, поэтому дальность уменьшится примерно в 3,8 раза (наш расчёт: 10 в степени 11,5/20). В помещении из-за стен и отражений оценка грубее — подробнее в статье о бюджете радиолинии.
Снизится ли ток потребления?
Пиковый ток передачи снижается: по даташиту ESP32 передача 802.11b на +19,5 дБм потребляет 240 мА, а 802.11n на +14 дБм — 180 мА. Приём при этом остаётся на уровне 95–100 мА, поэтому средний ток зависит от того, какую долю времени модуль передаёт.
Источники
- Espressif Systems. ESP-IDF v6.1, components/esp_wifi/include/esp_wifi.h — esp_wifi_set_max_tx_power(int8_t power): вызывать после старта Wi-Fi, до старта мощность ограничена данными PHY init; единица 0,25 дБм, диапазон [8, 84] — 2–20 дБм; соответствие заданного и фактического значения: [8, 19] → 8, [20, 27] → 20, [28, 33] → 28, [34, 43] → 34, [44, 51] → 44, [52, 55] → 52, [56, 59] → 56, [60, 65] → 60, [66, 71] → 66, [72, 79] → 72, [80, 84] → 80; ошибки ESP_ERR_WIFI_NOT_STARTED и ESP_ERR_INVALID_ARG; esp_wifi_get_max_tx_power возвращает значение в тех же единицах
- Espressif Systems. ESP32 Series Datasheet, Version 5.3 — табл. 5-4: передача 802.11b 1 Мбит/с при +19,5 дБм — 240 мА, 802.11g 54 Мбит/с при +16 дБм — 190 мА, 802.11n MCS7 при +14 дБм — 180 мА, приём 95–100 мА; табл. 5-6: мощность 11b — 18,5…20,5 дБм (тип. 19,5), 11n MCS7 — 12…14 дБм; примечание 3: целевая мощность настраивается под требования сертификации
Нашли ошибку?
Смотрите также
- ESP32: выводы и GPIO34 GPIO: функции, свободные выводы, только входы, флеш-память, strapping, JTAG, токи
- Почему ESP32 перезагружается при включении Wi-Fi?Пики тока передатчика и просадка питания модуля
- Калькулятор децибелдБм ↔ мВт ↔ В, дБВ, дБмкВ, дБ ↔ разы
- Бюджет радиолиниидБм, дБи, ЭИИМ, потери в свободном пространстве, Фриис, чувствительность, запас, примеры
- ЭИИМ (EIRP)Мощность передатчика с учётом потерь и усиления антенны, приведённая к изотропной