如何解决ESP32的最大TX功率经典蓝牙
我在某些项目中一直使用esp32。
现在,我想将经典蓝牙与我们的一个旧项目的串行配置文件一起使用。
从理论上讲,ESP32是1,2,3级蓝牙,理论上它支持100米。
我一直在尝试使用功能esp_bredr_tx_power_set来提高蓝牙的发射功率。
我可以通过传递一些参数来提高它:
esp_bredr_tx_power_set(ESP_PWR_LVL_P9,ESP_PWR_LVL_P9);
但这还不够。我还有另一台具有串行配置文件的蓝牙1类设备,该设备具有更多功能(一个来自bluegiga)。
此项目中的功耗不是问题,但距离至关重要。
是否可以在ESP32上进一步提高经典蓝牙的功能?
为了检查电源分配是否正确,我使用了获取功能
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 1类(+ 12dbm)和2类(+ 4dbm)之间。因此,您似乎已经将TX功率输出设置为最大。不清楚您使用的是PCB天线还是外部天线,后者当然会扩大范围。
有关不同的BT功率等级,请参见此link
参见令人印象深刻的document(向下滚动至ESP_PWR_LVL_P9部分)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。