Python 3.11 数据科学实战:5步构建批判性思维分析框架,识别数据偏见
2026/7/5 3:40:12
可以的 ✅
ESP32-C3 的 BLE可以设置发射功率(TX Power),也就是你说的“广播强度”。
用这个接口:
#include "esp_bt.h" void ble_set_adv_tx_power(void) { // 设置广播发射功率(ADV) esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_ADV, ESP_PWR_LVL_P9); // +9dBm(最强) }这些是你能选的“档位”(不同芯片/IDF可能略有差异,但大致如下):
ESP_PWR_LVL_N12≈ -12 dBm
ESP_PWR_LVL_N9≈ -9 dBm
ESP_PWR_LVL_N6≈ -6 dBm
ESP_PWR_LVL_N3≈ -3 dBm
ESP_PWR_LVL_N0≈ 0 dBm
ESP_PWR_LVL_P3≈ +3 dBm
ESP_PWR_LVL_P6≈ +6 dBm
ESP_PWR_LVL_P9≈ +9 dBm(最强)
你可以分别设置不同链路用途的 TX 功率:
esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_SCAN, ESP_PWR_LVL_P3); // 扫描 esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_ADV, ESP_PWR_LVL_P9); // 广播 esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_CONN_HDL0, ESP_PWR_LVL_P6); // 连接(句柄0)你如果只是想“广播更远”,主要调
ESP_BLE_PWR_TYPE_ADV就够了。
想让 BLE 更稳/更远,这几个也很关键:
广播越频繁,越容易被扫到(但更耗电)
例如 100ms 会比 1000ms 更“好连/更容易发现”。
C3 很多“信号差”的根因不是功率,而是:
天线周围走线、地铺铜不对
机壳/电池/电机离天线太近
没做天线 keepout
AT 固件也有相关能力,但命令会随版本不同(有的版本不开放 BLE TX Power 的 AT 命令)。
如果你把 **AT 版本号 + 你用的 BLE 模式(BLE 广播 / SPP / GATT)**发我,我可以告诉你对应命令或替代方案。