测试模组: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覆盖区域后可以自动连接到路由器。
关于ESP32 WIFI功能功耗的问题
Re: 关于ESP32 WIFI功能功耗的问题
您好,请尝试调用 esp_wifi_stop 把 wifi 停掉。
-
- Posts: 786
- Joined: Wed Nov 14, 2018 8:45 am
Re: 关于ESP32 WIFI功能功耗的问题
你现在断开 wifi 后的行为是什么?是一直重新连接吗?
Re: 关于ESP32 WIFI功能功耗的问题
[quote=ESP_Eavo post_id=80425 time=1626765964 user_id=19840]
您好,请尝试调用 esp_wifi_stop 把 wifi 停掉。
[/quote]
我停掉WIFI之后怎么再次连接路由器呢?
您好,请尝试调用 esp_wifi_stop 把 wifi 停掉。
[/quote]
我停掉WIFI之后怎么再次连接路由器呢?
Re: 关于ESP32 WIFI功能功耗的问题
[quote=ESP_Gargamel post_id=80456 time=1626786808 user_id=8637]
你现在断开 wifi 后的行为是什么?是一直重新连接吗?
[/quote]
是的,我需要重新建立连接
你现在断开 wifi 后的行为是什么?是一直重新连接吗?
[/quote]
是的,我需要重新建立连接
Re: 关于ESP32 WIFI功能功耗的问题
我已经通过控制 WIFI 驱动程序暂时解决了这个问题;如有更好的解决方案请指示,谢谢。
Re: 关于ESP32 WIFI功能功耗的问题
测试模组: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初始化相关代码。
ESP_ERROR_CHECK( esp_event_handler_register(WIFI_EVENT, ESP_EVENT_ANY_ID, &event_handler, NULL) );
将这行代码注释掉工作电流就正常了。
测试条件:电源能力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() );
- }
将这行代码注释掉工作电流就正常了。
Who is online
Users browsing this forum: No registered users and 45 guests