您如何将 ESP32 BLE 提高到最大功率,以获得最大距离?似乎默认设置为索引 5,仅为 +3dbm。(ESP_PWR_LVL_P3 = index 5, 对应+3dbm)更多详情
问问题
335 次
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 回答