1

您如何将 ESP32 BLE 提高到最大功率,以获得最大距离?似乎默认设置为索引 5,仅为 +3dbm。(ESP_PWR_LVL_P3 = index 5, 对应+3dbm)更多详情

4

1 回答 1

1

以前有个bug,现在看来已经修复了。如上所述,ESP_PWR_LVL_P9 = 索引 7,表示 +9dbm。

在 "BLEDevice::init("ESP32");" 之后,添加这个以获得最大输出:

esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_DEFAULT, ESP_PWR_LVL_P9); 
esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_ADV, ESP_PWR_LVL_P9);
esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_SCAN ,ESP_PWR_LVL_P9);

通过这个检查:

int pwrAdv  = esp_ble_tx_power_get(ESP_BLE_PWR_TYPE_ADV);
int pwrScan = esp_ble_tx_power_get(ESP_BLE_PWR_TYPE_SCAN);
int pwrDef  = esp_ble_tx_power_get(ESP_BLE_PWR_TYPE_DEFAULT);
Serial.println("Power Settings: (ADV,SCAN,DEFAULT)");         //all should show index7, aka +9dbm
Serial.println(pwrAdv);
Serial.println(pwrScan);
Serial.println(pwrDef);

还可以通过 nRF Connect 等 Android 手机应用程序确认 Tx 功率电平现在为 9dBm。

于 2021-03-11T16:50:19.600 回答