Split the idf_performance.h and target ver, which hold the performance thresholds, into the headers of each testing. In the past pytest also parse the common header to get the thresholds. Now the logic is also removed. Performance thresholds are supposed to be in the pytest scripts.
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-S2 | ESP32-S3 | ESP32-P4 | ESP32-H2 |
|---|
Wi-Fi Examples
This directory contains a range of examples ESP-IDF projects. These are intended to demonstrate the Wi-Fi functionality, and to provide code that you can copy and adapt into your own projects.
ESP Chips with Wi-Fi can use the examples as is.
ESP Chips without Wi-Fi (e.g., ESP32-P4 and ESP32-H2) can work with a two-chip solution described below.
Example Layout
The examples are grouped into sub-directories by category. Each category directory contains one or more example projects:
espnowis the connectionless Wi-Fi communication protocol.fast_scanshows how to use fast scan while connecting to an AP.ftmis a how to use FTM (Fine Timing Measurement) feature to calculate distance between devices.getting_startedcontains the basic examples for using Wi-Fi in STA and AP mode.iperfshows the common performance measurements for two ESP running this example.power_savecontains a how to use power save mode of Wi-Fi.roamingcontains 2 examples that demonstrate roaming capabilities.scanshows how to scan for all the available APs.smart_configshows how ESP connects to a target AP with ESPTOUCH.wifi_eap_fastshows how ESP connects to AP with Wi-Fi enterprise encryption using the EAP-FAST method.wifi_easy_connectshows how to configure an ESP device as an enrollee using Device Provisioning Protocol (DPP).wpa2_enterpriseshows how ESP connects to AP with WPA2 enterprise encryption.wpscontains a how to use the Wi-Fi Protected Setup protocol.
Wi-Fi Examples with Two-Chip Solution
Some ESP chips like the ESP32-P4 or ESP32-H2, without built-in Wi-Fi or Bluetooth, can still use these features through a two-chip solution via ESP-Hosted.
The two chip solution needs:
- Communication bus like SDIO or SPI between the host and co-processor
- Co-processor flashed with ESP-Hosted co-processor (slave) software
- Host processor flashed with additional software components: esp-hosted and esp-wifi-remote. This is handled by
idf_component.yml. See theidf_component.ymlin iperf for an example.
The ESP32-P4-Function-EV-Board is used here as a demonstration on how to run a Wi-Fi example.
Running a Wi-Fi example on the ESP32-P4-Function-EV-Board
On this board,
- The ESP32-P4 is connected with the on-board ESP32-C6 (co-processor) using SDIO communication bus. See this ESP-Hosted ESP32-P4 EV Board documentation for more information.
- The ESP32-C6 on the ESP32-P4 EV Board is pre-flashed with ESP-Hosted co-processor (slave) software.
- Only the example code needs to be built & flashed on the Host using the steps below.
Host Flashing
- Set ESP32-P4 as the target
idf.py set-target esp32p4
- Run Configure
idf.py menuconfig
Set Component config -> Wi-Fi Remote -> choose slave target to esp32c6.
Do any other project configuration required for the example.
- Build and Flash
idf.py -p <host serial port> flash monitor
Co-processor Flashing
(Optional, but recommended)
The ESP32-C6 on the ESP32-P4 EV Board is already pre-flashed with ESP-Hosted co-processor software. Host software on the ESP-Hosted component is backward compatible with this co-processor software. It is recommended to upgrade to the latest software via simplified co-processor OTA or by manual flashing with ESP-Prog.
Troubleshooting
For any technical queries on the two-chip solution, please open an ESP-Hosted issue on GitHub.
More
See the README.md file in the upper level examples directory for more information about examples.