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/