ESP-IDF 例程——网络

15. network 目录

15.1 bridge

字段 描述
例程名称 以太网桥接示例
所在文件夹路径 examples\network\bridge
核心功能说明 演示如何使用 LwIP IEEE 802.1D 桥接功能将多个以太网接口或以太网与 WiFi AP 接口连接起来,实现不同网络之间的数据包转发
主要调用的内部/外部函数或模块 - LwIP IEEE 802.1D 桥接功能
  • ESP-NETIF 适配器组件
  • Ethernet 驱动
  • WiFi 驱动
  • 支持多种 ESP32 芯片 |
    | 输入输出参数说明 | 配置参数:
  • 启用 LwIP IEEE 802.1D 桥接选项
  • 配置网络接口数量
  • 以太网硬件参数
  • WiFi AP 设置

输出结果:

  • 桥接接口初始化状态
  • 网络链路状态变化
  • IP 地址获取情况
  • 设备通信状态 |
    | 适用场景及典型应用案例 | - 工业自动化网络中的设备互联
  • 智能家居设备的网络桥接
  • 大型场馆的网络覆盖扩展
  • 网络拓扑简化(从树形到环形)
  • 低成本网络交换机替代方案 |

15.2 eth2ap

字段 描述
例程名称 以太网到 WiFi AP 转发示例
所在文件夹路径 examples\network\eth2ap
核心功能说明 演示如何实现以太网和 WiFi AP 之间的数据包转发,将 ESP32 作为简单的 “路由器”,使连接到 WiFi AP 的设备能够通过以太网访问外部网络
主要调用的内部/外部函数或模块 - WiFi 驱动(AP 模式)
  • Ethernet 驱动
  • 数据包转发逻辑
  • 内部 API(如 esp_wifi_internal_tx)
  • 支持多种 ESP32 芯片 |
    | 输入输出参数说明 | 配置参数:
  • WiFi AP SSID 和密码
  • 最大连接数
  • 以太网硬件参数

输出结果:

  • 以太网和 WiFi 初始化状态
  • 网络链路状态变化
  • WiFi 客户端连接状态
  • 数据包转发状态 |
    | 适用场景及典型应用案例 | - 家庭网络扩展
  • IoT 设备的有线到无线转换
  • 移动设备的临时网络接入点
  • 工业设备的无线连接解决方案 |

15.3 simple_sniffer

字段 描述
例程名称 简单网络嗅探器示例
所在文件夹路径 examples\network\simple_sniffer
核心功能说明 演示如何使用 WiFi 或以太网接口捕获网络数据包,并将其保存为 pcap 格式文件(支持 SD 卡、内存或 JTAG 输出),可用于网络分析和调试
主要调用的内部/外部函数或模块 - WiFi 驱动(混杂模式)
  • Ethernet 驱动
  • console 组件(命令行界面)
  • SD 卡驱动
  • app_trace 组件(JTAG 输出)
  • pcap 格式处理
  • 支持多种 ESP32 芯片 |
    | 输入输出参数说明 | 配置参数:
  • 数据包存储目标(SD 卡、内存或 JTAG)
  • 命令历史记录存储
  • SD 卡挂载点
  • 嗅探任务优先级和栈大小
  • 以太网硬件参数

输出结果:

  • 设备初始化状态
  • SD 卡挂载状态
  • 数据包捕获统计
  • pcap 文件创建和关闭状态
  • 数据包摘要信息 |
    | 适用场景及典型应用案例 | - 网络故障诊断
  • 网络流量分析
  • 安全审计
  • 协议开发和调试
  • IoT 设备通信监控 |

15.4 sta2eth

字段 描述
例程名称 WiFi 站到有线接口转发示例
所在文件夹路径 examples\network\sta2eth
核心功能说明 演示如何将 WiFi 站连接转换为有线连接(以太网或 USB NCM 设备),使仅支持有线连接的设备能够访问无线网络
主要调用的内部/外部函数或模块 - WiFi 驱动(站模式)
  • Ethernet 驱动
  • USB NCM 驱动(ESP32-S2/S3)
  • 数据包转发逻辑
  • 配置网页服务器
  • 统一配网功能
  • 支持多种 ESP32 芯片 |
    | 输入输出参数说明 | 配置参数:
  • 配网方式(网页或统一配网)
  • WiFi 网络参数
  • 有线接口类型(以太网或 USB NCM)

输出结果:

  • WiFi 连接状态
  • 有线接口初始化状态
  • 配网状态
  • 设备 IP 地址信息
  • 数据包转发状态 |
    | 适用场景及典型应用案例 | - 传统有线设备的无线升级
  • 工业设备的无线网络接入
  • 医疗设备的无线连接
  • 智能家居设备的网络扩展
  • 临时网络连接解决方案 |

15.5 vlan_support

字段 描述
例程名称 以太网 VLAN 支持示例
所在文件夹路径 examples\network\vlan_support
核心功能说明 演示如何在以太网接口上创建虚拟 VLAN 接口,支持不同 VLAN 标签的数据包处理和转发
主要调用的内部/外部函数或模块 - Ethernet 驱动
  • VLAN 接口管理
  • 静态 IP 配置
  • DHCP 客户端
  • 支持多种 ESP32 芯片 |
    | 输入输出参数说明 | 配置参数:
  • VLAN 标签
  • 静态 IP 地址、子网掩码和网关
  • 以太网硬件参数

输出结果:

  • 以太网和 VLAN 接口初始化状态
  • 网络链路状态变化
  • IP 地址获取情况
  • VLAN 接口通信状态 |
    | 适用场景及典型应用案例 | - 工业自动化网络中的 VLAN 隔离
  • 企业网络中的多部门隔离
  • 智能家居设备的网络分段
  • 安全监控网络的隔离
  • 多租户网络环境 |

15.6 技术要点

  • 网络桥接技术

    • 支持多种网络接口组合(以太网-以太网、以太网-WiFi AP)
    • LwIP IEEE 802.1D 桥接协议
    • 数据包转发和过滤
  • WiFi 功能

    • 支持 AP 模式和站模式
    • 混杂模式用于网络嗅探
    • 内部 API 用于数据包发送
  • 以太网功能

    • 支持多种 PHY 芯片
    • 支持 SPI 以太网模块
    • VLAN 标签处理
    • 多以太网接口支持
  • 数据包处理

    • pcap 格式支持
    • 数据包过滤
    • 数据包转发
    • 流量控制
  • 配网方式

    • 网页配网
    • 统一配网
    • 手动配网

15.7 构建与运行

所有 network 例程的构建方法基本一致:

  1. 配置项目:idf.py menuconfig
  2. 设置网络参数和硬件配置
  3. 构建项目:idf.py build
  4. 烧录并监控:idf.py -p PORT flash monitor
  5. 根据具体例程的要求进行网络连接和测试

15.8 应用场景总结

  • bridge:适用于需要连接多个网络的场景,如工业自动化和智能家居
  • eth2ap:适用于将有线网络转换为无线网络的场景,如家庭网络扩展
  • simple_sniffer:适用于网络分析和调试场景,如网络故障诊断和安全审计
  • sta2eth:适用于将无线网络转换为有线网络的场景,如传统设备的无线升级
  • vlan_support:适用于需要网络隔离的场景,如企业网络和工业自动化

这些例程展示了 ESP-IDF 在网络方面的强大功能,从简单的数据包转发到复杂的 VLAN 支持,满足不同场景下的网络需求。开发者可以根据自己的应用场景选择合适的例程作为基础,进行二次开发和扩展。


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