最大 TX 功率 ESP32 经典蓝牙

Max TX power Classic bluetooth for ESP32

我在一些项目中一直使用 esp32。

现在我想为我们的一个旧项目包含 classic 蓝牙和串行配置文件。

ESP32理论上是class1,2,3蓝牙,理论上支持100米。

我一直在尝试提高蓝牙播放功能 esp_bredr_tx_power_set 的 TX 功率。

我已经能够通过参数将其提高一点:

esp_bredr_tx_power_set(ESP_PWR_LVL_P9,ESP_PWR_LVL_P9);

但这还不够。我有另一台蓝牙 class 1 台设备,具有更强大的串行配置文件(来自 bluegiga)。

功耗在这个项目中不是问题,但距离很关键。

是否可以在 ESP32 上进一步提高 classic 蓝牙的功率?

为了检查电源分配是否正确,我使用了 get 函数

  esp_power_level_t min,max;
  esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_ADV,ESP_PWR_LVL_P9 );
  esp_bredr_tx_power_set(ESP_PWR_LVL_P9,ESP_PWR_LVL_P9  );
  delay(1000);
  esp_bredr_tx_power_get(&min,&max);
  Serial.printf("min %d max %d",min,max);

暂停用于确保电源已更改(如果您立即执行此操作,您会看到旧值)。可能1s太多了,但这只是一个测试。

谢谢。

ESP32 的最高 TX 输出为 +9dbm,介于 BT class 1 (+12dbm) 和 class 2 (+4dbm) 之间。所以您似乎已经将 TX 功率输出设置为最大值。不清楚你用的是PCB天线还是外置天线,后者当然会增加范围。

对于不同的 BT 功率 class请参阅此 link

请参阅 Espressive document(向下滚动到带有 ESP_PWR_LVL_P9 的部分)