ESP-IDF 例程——wifi

12. wifi 目录

12.1 station 例程

字段 描述
例程名称 station
所在文件夹路径 examples\wifi\getting_started\station
核心功能说明 演示ESP32作为Wi-Fi客户端(STA模式)连接到外部接入点(AP)的基本功能。包括Wi-Fi初始化、连接建立、IP获取和连接状态管理。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- wifi_init_sta():初始化STA模式Wi-Fi
- event_handler():处理Wi-Fi和IP事件
- esp_netif_init():初始化网络接口
- esp_event_loop_create_default():创建默认事件循环
- esp_wifi_init():初始化Wi-Fi驱动
- esp_wifi_set_mode():设置Wi-Fi模式
- esp_wifi_set_config():配置Wi-Fi参数
- esp_wifi_start():启动Wi-Fi驱动
输入输出参数说明 输入:
- 配置的SSID和密码(通过menuconfig设置)

输出:
- Wi-Fi连接状态
- 获取到的IP地址
- 连接成功或失败的日志信息
适用场景及典型应用案例 适用于:
- 学习Wi-Fi STA模式的基本配置和使用
- 开发需要连接到现有Wi-Fi网络的设备
- 作为物联网设备连接云平台的基础
- 测试Wi-Fi连接稳定性
- 作为Wi-Fi客户端应用的参考模板

12.2 softAP 例程

字段 描述
例程名称 softAP
所在文件夹路径 examples\wifi\getting_started\softAP
核心功能说明 演示ESP32作为Wi-Fi接入点(AP模式)的基本功能。包括AP创建、客户端连接管理和DHCP服务器配置。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- wifi_init_softap():初始化SoftAP模式Wi-Fi
- 事件处理函数:处理客户端连接和断开事件
- esp_netif_init():初始化网络接口
- esp_event_loop_create_default():创建默认事件循环
- esp_wifi_init():初始化Wi-Fi驱动
- esp_wifi_set_mode():设置Wi-Fi模式
- esp_wifi_set_config():配置AP参数
- esp_wifi_start():启动Wi-Fi驱动
输入输出参数说明 输入:
- 配置的SSID、密码和通道(通过menuconfig设置)

输出:
- AP创建状态
- 客户端连接和断开事件
- 分配给客户端的IP地址
适用场景及典型应用案例 适用于:
- 学习Wi-Fi AP模式的基本配置和使用
- 开发需要创建Wi-Fi网络的设备
- 作为物联网设备的本地配置热点
- 测试AP模式下的客户端连接管理
- 作为Wi-Fi AP应用的参考模板

12.3 espnow 例程

字段 描述
例程名称 espnow
所在文件夹路径 examples\wifi\espnow
核心功能说明 演示ESP-NOW协议的使用,实现设备间的无连接Wi-Fi通信。包括ESP-NOW初始化、对等设备管理、数据发送和接收。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- espnow_init():初始化ESP-NOW
- espnow_send_cb():处理发送回调
- espnow_recv_cb():处理接收回调
- esp_now_add_peer():添加对等设备
- esp_now_send():发送ESP-NOW数据
- Wi-Fi初始化相关函数
输入输出参数说明 输入:
- 对等设备的MAC地址
- 要发送的数据

输出:
- 数据发送状态
- 接收到的数据和发送方MAC地址
适用场景及典型应用案例 适用于:
- 学习ESP-NOW协议的实现和使用
- 开发设备间低延迟通信的应用
- 物联网设备的本地数据交换
- 无线传感器网络
- 智能家居设备间的直接通信
- 作为ESP-NOW应用的参考模板

12.4 iperf 例程

字段 描述
例程名称 iperf
所在文件夹路径 examples\wifi\iperf
核心功能说明 用于测试Wi-Fi网络吞吐量,支持TCP和UDP协议。可以在STA模式或AP模式下运行,与另一台运行iperf客户端或服务器的设备配合使用。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- Wi-Fi初始化相关函数
- iperf客户端/服务器实现
- 网络套接字相关函数
输入输出参数说明 输入:
- iperf测试配置(协议类型、端口、测试时长等)

输出:
- 吞吐量测试结果
- 网络延迟和丢包率(UDP模式)
适用场景及典型应用案例 适用于:
- 测试Wi-Fi网络性能
- 验证不同配置下的网络吞吐量
- 优化Wi-Fi应用的网络性能
- 比较不同设备或固件版本的网络性能
- 作为网络性能测试的参考模板

12.5 smart_config 例程

字段 描述
例程名称 smart_config
所在文件夹路径 examples\wifi\smart_config
核心功能说明 演示如何使用ESP-TOUCH协议,通过手机应用将Wi-Fi配置信息传递给ESP32设备,实现设备的快速联网。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- smartconfig_example_task():智能配网任务
- 事件处理函数:处理智能配网事件
- Wi-Fi初始化相关函数
输入输出参数说明 输入:
- 通过手机App发送的Wi-Fi SSID和密码

输出:
- 配网状态
- Wi-Fi连接结果
适用场景及典型应用案例 适用于:
- 学习智能配网技术的实现
- 开发需要快速联网的物联网设备
- 简化设备的初次配置流程
- 作为智能配网应用的参考模板

12.6 fast_scan 例程

字段 描述
例程名称 fast_scan
所在文件夹路径 examples\wifi\fast_scan
核心功能说明 演示如何使用ESP32的快速Wi-Fi扫描功能,通过调整扫描参数提高扫描速度。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- fast_scan_task():快速扫描任务
- Wi-Fi扫描相关函数
输入输出参数说明 输入:
- 扫描配置参数(如通道、扫描类型等)

输出:
- 扫描结果(发现的AP列表)
- 扫描时间统计
适用场景及典型应用案例 适用于:
- 学习Wi-Fi快速扫描技术
- 开发需要快速发现周围AP的应用
- 优化电池供电设备的扫描功耗
- 作为快速扫描功能的参考模板

12.7 ftm 例程

字段 描述
例程名称 ftm
所在文件夹路径 examples\wifi\ftm
核心功能说明 演示Wi-Fi Fine Timing Measurement (FTM) 功能,用于测量设备与接入点之间的距离。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- FTM相关配置和测量函数
- Wi-Fi初始化相关函数
输入输出参数说明 输入:
- FTM测量配置

输出:
- 距离测量结果
- 测量精度和状态
适用场景及典型应用案例 适用于:
- 学习Wi-Fi FTM技术
- 开发基于距离测量的应用
- 室内定位系统
- 作为FTM功能的参考模板

12.8 itwt 例程

字段 描述
例程名称 itwt
所在文件夹路径 examples\wifi\itwt
核心功能说明 演示IEEE 802.11ax (Wi-Fi 6) 的目标唤醒时间 (Target Wake Time, TWT) 功能,用于减少设备功耗。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- TWT配置和管理函数
- Wi-Fi初始化相关函数
输入输出参数说明 输入:
- TWT配置参数

输出:
- TWT协商结果
- 功耗优化效果
适用场景及典型应用案例 适用于:
- 学习Wi-Fi 6 TWT技术
- 开发低功耗Wi-Fi设备
- 物联网设备的电池寿命优化
- 作为TWT功能的参考模板

12.9 power_save 例程

字段 描述
例程名称 power_save
所在文件夹路径 examples\wifi\power_save
核心功能说明 演示ESP32的Wi-Fi省电模式,通过配置不同的电源管理策略来优化功耗。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- power_save_task():省电模式任务
- get_ap_info():获取AP信息
- Wi-Fi电源管理相关函数
输入输出参数说明 输入:
- 电源管理配置

输出:
- 功耗统计
- 连接稳定性信息
适用场景及典型应用案例 适用于:
- 学习Wi-Fi省电技术
- 开发电池供电的Wi-Fi设备
- 优化物联网设备的功耗
- 作为电源管理功能的参考模板

12.10 roaming 例程

字段 描述
例程名称 roaming
所在文件夹路径 examples\wifi\roaming
核心功能说明 演示ESP32的Wi-Fi漫游功能,包括基于802.11k/v/r的快速漫游和普通漫游。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- 漫游配置和管理函数
- Wi-Fi初始化相关函数
输入输出参数说明 输入:
- 漫游配置参数

输出:
- 漫游事件和状态
- 连接质量信息
适用场景及典型应用案例 适用于:
- 学习Wi-Fi漫游技术
- 开发需要在多个AP间移动的设备
- 提高大型网络中的连接稳定性
- 作为漫游功能的参考模板

12.11 scan 例程

字段 描述
例程名称 scan
所在文件夹路径 examples\wifi\scan
核心功能说明 演示ESP32的Wi-Fi扫描功能,包括主动扫描和被动扫描,以及扫描结果的处理。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- wifi_scan_task():扫描任务
- Wi-Fi扫描相关函数
输入输出参数说明 输入:
- 扫描配置参数(类型、通道等)

输出:
- 扫描到的AP列表
- AP信号强度和其他信息
适用场景及典型应用案例 适用于:
- 学习Wi-Fi扫描技术
- 开发需要发现周围AP的应用
- 网络诊断工具
- 作为扫描功能的参考模板

12.12 softap_sta 例程

字段 描述
例程名称 softap_sta
所在文件夹路径 examples\wifi\softap_sta
核心功能说明 演示ESP32同时作为Wi-Fi接入点(AP)和客户端(STA)的功能,实现设备同时连接外部网络并创建本地网络。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- wifi_init_softap_sta():初始化AP+STA模式
- 事件处理函数:处理网络事件
- Wi-Fi初始化相关函数
输入输出参数说明 输入:
- AP和STA的配置参数

输出:
- AP和STA的连接状态
- 网络通信状态
适用场景及典型应用案例 适用于:
- 学习AP+STA模式的实现
- 开发需要同时作为热点和客户端的设备
- 物联网网关设备
- 作为双模式Wi-Fi应用的参考模板

12.13 wifi_aware 例程

字段 描述
例程名称 wifi_aware
所在文件夹路径 examples\wifi\wifi_aware
核心功能说明 演示Wi-Fi Aware(Neighbor Awareness Networking, NAN)功能,实现设备间的服务发现和直接通信。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- NAN配置和管理函数
- 服务发布和订阅函数
- Wi-Fi初始化相关函数
输入输出参数说明 输入:
- NAN服务配置

输出:
- 服务发现结果
- 设备间通信状态
适用场景及典型应用案例 适用于:
- 学习Wi-Fi Aware技术
- 开发设备间直接通信的应用
- 本地服务发现
- 作为NAN功能的参考模板

12.14 wifi_eap_fast 例程

字段 描述
例程名称 wifi_eap_fast
所在文件夹路径 examples\wifi\wifi_eap_fast
核心功能说明 演示ESP32连接到使用EAP-FAST认证的企业Wi-Fi网络。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- EAP-FAST配置函数
- Wi-Fi初始化相关函数
输入输出参数说明 输入:
- EAP-FAST认证配置
- 证书和PAC文件

输出:
- 认证状态
- 网络连接结果
适用场景及典型应用案例 适用于:
- 学习EAP-FAST认证技术
- 开发需要连接企业Wi-Fi网络的设备
- 提高Wi-Fi连接的安全性
- 作为EAP-FAST认证的参考模板

12.15 wifi_enterprise 例程

字段 描述
例程名称 wifi_enterprise
所在文件夹路径 examples\wifi\wifi_enterprise
核心功能说明 演示ESP32连接到使用802.1X认证的企业Wi-Fi网络。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- 企业网络认证配置函数
- Wi-Fi初始化相关函数
输入输出参数说明 输入:
- 企业网络认证配置
- 证书和密钥

输出:
- 认证状态
- 网络连接结果
适用场景及典型应用案例 适用于:
- 学习802.1X企业认证技术
- 开发需要连接企业Wi-Fi网络的设备
- 提高Wi-Fi连接的安全性
- 作为企业认证的参考模板

12.16 wifi_nvs_config 例程

字段 描述
例程名称 wifi_nvs_config
所在文件夹路径 examples\wifi\wifi_nvs_config
核心功能说明 演示如何使用NVS(非易失性存储)保存和加载Wi-Fi配置信息。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- NVS操作相关函数
- Wi-Fi配置函数
输入输出参数说明 输入:
- Wi-Fi配置信息

输出:
- 配置保存状态
- 配置加载结果
适用场景及典型应用案例 适用于:
- 学习NVS存储技术
- 开发需要持久化保存Wi-Fi配置的设备
- 简化设备的配置流程
- 作为NVS应用的参考模板

12.17 wps 例程

字段 描述
例程名称 wps
所在文件夹路径 examples\wifi\wps
核心功能说明 演示Wi-Fi Protected Setup (WPS) 功能,实现设备的快速安全联网。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- WPS配置和管理函数
- Wi-Fi初始化相关函数
输入输出参数说明 输入:
- WPS模式选择(PIN或PBC)

输出:
- WPS协商结果
- Wi-Fi连接状态
适用场景及典型应用案例 适用于:
- 学习WPS技术
- 开发需要快速安全联网的设备
- 简化设备的初次配置流程
- 作为WPS功能的参考模板

12.18 wps_softap_registrar 例程

字段 描述
例程名称 wps_softap_registrar
所在文件夹路径 examples\wifi\wps_softap_registrar
核心功能说明 演示ESP32作为WPS Registrar(注册器)的功能,用于配置其他WPS设备。
主要调用的内部/外部函数或模块 - app_main():程序入口函数
- WPS Registrar配置函数
- Wi-Fi初始化相关函数
输入输出参数说明 输入:
- WPS Registrar配置

输出:
- WPS配置状态
- 客户端设备连接结果
适用场景及典型应用案例 适用于:
- 学习WPS Registrar功能
- 开发作为WPS配置中心的设备
- 简化多设备的网络配置
- 作为WPS Registrar的参考模板

ESP-IDF 例程——wifi
https://blog.zhaosn.top/ESP32-examples/12.wifi/
作者
Zhao SN
发布于
2026年1月21日
更新于
2026年2月28日
许可协议