关于ESP32 WIFI功能功耗的问题

byte-iot
Posts: 4
Joined: Mon Jul 19, 2021 4:28 am

关于ESP32 WIFI功能功耗的问题

Postby byte-iot » Mon Jul 19, 2021 4:54 am

测试模组: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覆盖区域后可以自动连接到路由器。

ESP_Eavo
Posts: 186
Joined: Tue Jun 08, 2021 6:23 am

Re: 关于ESP32 WIFI功能功耗的问题

Postby ESP_Eavo » Tue Jul 20, 2021 7:26 am

您好,请尝试调用 esp_wifi_stop 把 wifi 停掉。

ESP_Gargamel
Posts: 786
Joined: Wed Nov 14, 2018 8:45 am

Re: 关于ESP32 WIFI功能功耗的问题

Postby ESP_Gargamel » Tue Jul 20, 2021 1:13 pm

你现在断开 wifi 后的行为是什么?是一直重新连接吗?

byte-iot
Posts: 4
Joined: Mon Jul 19, 2021 4:28 am

Re: 关于ESP32 WIFI功能功耗的问题

Postby byte-iot » Wed Jul 21, 2021 4:22 am

[quote=ESP_Eavo post_id=80425 time=1626765964 user_id=19840]
您好,请尝试调用 esp_wifi_stop 把 wifi 停掉。
[/quote]

我停掉WIFI之后怎么再次连接路由器呢?

byte-iot
Posts: 4
Joined: Mon Jul 19, 2021 4:28 am

Re: 关于ESP32 WIFI功能功耗的问题

Postby byte-iot » Wed Jul 21, 2021 4:24 am

[quote=ESP_Gargamel post_id=80456 time=1626786808 user_id=8637]
你现在断开 wifi 后的行为是什么?是一直重新连接吗?
[/quote]

是的,我需要重新建立连接

byte-iot
Posts: 4
Joined: Mon Jul 19, 2021 4:28 am

Re: 关于ESP32 WIFI功能功耗的问题

Postby byte-iot » Thu Jul 22, 2021 6:12 am

我已经通过控制 WIFI 驱动程序暂时解决了这个问题;如有更好的解决方案请指示,谢谢。

stublen
Posts: 4
Joined: Wed Sep 15, 2021 2:31 am

Re: 关于ESP32 WIFI功能功耗的问题

Postby stublen » Fri Sep 17, 2021 2:45 pm

测试模组: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初始化相关代码。
  1. static void initialise_wifi(void)
  2. {
  3.     ESP_ERROR_CHECK(esp_netif_init());
  4.     s_wifi_event_group = xEventGroupCreate();
  5.     ESP_ERROR_CHECK(esp_event_loop_create_default());
  6.     esp_netif_t *sta_netif = esp_netif_create_default_wifi_sta();
  7.     assert(sta_netif);
  8.     wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT();
  9.     ESP_ERROR_CHECK( esp_wifi_init(&cfg) );
  10.  
  11.     ESP_ERROR_CHECK( esp_event_handler_register(WIFI_EVENT, ESP_EVENT_ANY_ID, &event_handler, NULL) );
  12.     ESP_ERROR_CHECK( esp_event_handler_register(IP_EVENT, IP_EVENT_STA_GOT_IP, &event_handler, NULL) );
  13.     ESP_ERROR_CHECK( esp_event_handler_register(SC_EVENT, ESP_EVENT_ANY_ID, &event_handler, NULL) );
  14.  
  15.     ESP_ERROR_CHECK( esp_wifi_set_mode(WIFI_MODE_STA) );
  16.     ESP_ERROR_CHECK( esp_wifi_start() );
  17. }
ESP_ERROR_CHECK( esp_event_handler_register(WIFI_EVENT, ESP_EVENT_ANY_ID, &event_handler, NULL) );
将这行代码注释掉工作电流就正常了。

ShuGuang
Posts: 1
Joined: Wed Sep 07, 2022 1:03 pm

Re: 关于ESP32 WIFI功能功耗的问题

Postby ShuGuang » Wed Sep 07, 2022 1:29 pm

byte-iot wrote:
Thu Jul 22, 2021 6:12 am
我已经通过控制 WIFI 驱动程序暂时解决了这个问题;如有更好的解决方案请指示,谢谢。
你好,请问你是如何解决的,是否调用了esp_wifi_stop接口?

Who is online

Users browsing this forum: Google [Bot] and 54 guests