Page 1 of 1
关于ESP32 WIFI功能功耗的问题
Posted: Mon Jul 19, 2021 4:54 am
by byte-iot
测试模组:ESP32-WROOM-32(4MB)
测试条件:电源能力3.3V@1A
软件版本:ESP-IDF_V4.2.1
测试模式:ESP32模块作为站模式
问题表现:当ESP32模块连接到路由器之后比没有连接到路由器时的功耗小0.4W,如何降低WIFI断开后的功耗?
板载电流表现:
电源电压:5.2V
连接WIFI后的电流:0.046A
断开WIFI后的电流:0.125A
需求:在断开WIFI连接后如何降低模块的功耗(尽可能达到连接WIFI后的功耗或者更低),当进入路由器WIFI覆盖区域后可以自动连接到路由器。
Re: 关于ESP32 WIFI功能功耗的问题
Posted: Tue Jul 20, 2021 7:26 am
by ESP_Eavo
您好,请尝试调用 esp_wifi_stop 把 wifi 停掉。
Re: 关于ESP32 WIFI功能功耗的问题
Posted: Tue Jul 20, 2021 1:13 pm
by ESP_Gargamel
你现在断开 wifi 后的行为是什么?是一直重新连接吗?
Re: 关于ESP32 WIFI功能功耗的问题
Posted: Wed Jul 21, 2021 4:22 am
by byte-iot
[quote=ESP_Eavo post_id=80425 time=1626765964 user_id=19840]
您好,请尝试调用 esp_wifi_stop 把 wifi 停掉。
[/quote]
我停掉WIFI之后怎么再次连接路由器呢?
Re: 关于ESP32 WIFI功能功耗的问题
Posted: Wed Jul 21, 2021 4:24 am
by byte-iot
[quote=ESP_Gargamel post_id=80456 time=1626786808 user_id=8637]
你现在断开 wifi 后的行为是什么?是一直重新连接吗?
[/quote]
是的,我需要重新建立连接
Re: 关于ESP32 WIFI功能功耗的问题
Posted: Thu Jul 22, 2021 6:12 am
by byte-iot
我已经通过控制 WIFI 驱动程序暂时解决了这个问题;如有更好的解决方案请指示,谢谢。
Re: 关于ESP32 WIFI功能功耗的问题
Posted: Fri Sep 17, 2021 2:45 pm
by stublen
测试模组:ESP32-WROOM-32UE(4MB)
测试条件:电源能力3.3V@500mA
软件版本:ESP-IDF_V4.1.2
测试模式:ESP32模块作为站模式
问题表现:在进入deep sleep模式后,如果已经配置好WIFI的初始化,然后进入deep sleep,它的工作电流为1.7A左右,如果将WIFI相关代码注释后,进入deep sleep模式后工作电流为20-80uA。
在进入deep sleep前尝试调用了esp_wifi_stop(),但是结果依旧,问一下是什么原因导致这种问题,下面是我的WiFi初始化相关代码。
static void initialise_wifi(void)
{
ESP_ERROR_CHECK(esp_netif_init());
s_wifi_event_group = xEventGroupCreate();
ESP_ERROR_CHECK(esp_event_loop_create_default());
esp_netif_t *sta_netif = esp_netif_create_default_wifi_sta();
assert(sta_netif);
wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
ESP_ERROR_CHECK( esp_wifi_init(&cfg) );
ESP_ERROR_CHECK( esp_event_handler_register(WIFI_EVENT, ESP_EVENT_ANY_ID, &event_handler, NULL) );
ESP_ERROR_CHECK( esp_event_handler_register(IP_EVENT, IP_EVENT_STA_GOT_IP, &event_handler, NULL) );
ESP_ERROR_CHECK( esp_event_handler_register(SC_EVENT, ESP_EVENT_ANY_ID, &event_handler, NULL) );
ESP_ERROR_CHECK( esp_wifi_set_mode(WIFI_MODE_STA) );
ESP_ERROR_CHECK( esp_wifi_start() );
}
ESP_ERROR_CHECK( esp_event_handler_register(WIFI_EVENT, ESP_EVENT_ANY_ID, &event_handler, NULL) );
将这行代码注释掉工作电流就正常了。
Re: 关于ESP32 WIFI功能功耗的问题
Posted: Wed Sep 07, 2022 1:29 pm
by ShuGuang
byte-iot wrote: ↑Thu Jul 22, 2021 6:12 am
我已经通过控制 WIFI 驱动程序暂时解决了这个问题;如有更好的解决方案请指示,谢谢。
你好,请问你是如何解决的,是否调用了esp_wifi_stop接口?