这是最新(主)开发分支的文档。如果您正在查找以前版本的文档,使用左侧的下拉菜单选择所需的版本。

power_save

功能概述

这个例子展示了如何使用 Wi-Fi 的省电模式。

省电模式仅适用于 station 模式。如果 modem 休眠模式被启用,在连接 AP 成功后,station 将周期性地在活动状态和休眠状态之间切换。在睡眠状态下,关闭 RF、PHY 和 BBP 以降低功耗。在 modem 休眠模式下,station 可以与 AP 保持连接。

  • none: 这是默认模式。可以全功率工作。

  • Minimum modem:在调制解调器最低休眠模式下,station 会被每个 DTIM 唤醒以接收信标。广播数据是在 DTIM 之后传输的,不会丢失。

  • Maximum modem :在最大调制解调器休眠模式下,station 会被每隔 listen_interval 唤醒以接收信标帧。由于 station 在 DTIM 时间可能处于休眠状态,可能导致广播数据丢失。监听间隔越长,节省的电量越多,但广播数据更容易丢失。

环境要求

  1. 在 menuconfig 中配置 WiFi SSID 和 WiFi Password

  2. 在 menuconfig 中配置 WiFi listen interval 和 WiFi beacon timeout

  3. 在 menuconfig 中配置 power save mode

编译和烧录

示例位置:examples/wifi/power_save

编译、烧录等操作请参考:快速入门

运行结果

成功运行将输出如下日志(由于版本间可能存在差异,具体细节以实际使用版本为准)

I/power_save      [2.278] wm_wifi_set_ps().
I/power_save      [17.904] retry to connect to the AP
D/wifi            [20.132] distribution event 2
D/wifi            [20.138] sta disconnected reason 3
D/wifi            [22.944] distribution event 1
D/wifi            [22.948] sta connected 42-C1-82-80-2A-15 channel 6 authmode 3
I/power_save      [23.626] got ip: 192.168.3.102
D/wifi            [23.630] distribution event 0
D/wifi            [23.634] sta got ip 192.168.3.102