esp-idf/examples/performance
2017-11-20 16:07:52 +11:00
..
tcp_perf udp_perf/tcp_perf examples: Erase NVS if no more free pages 2017-11-20 16:07:52 +11:00
udp_perf udp_perf/tcp_perf examples: Erase NVS if no more free pages 2017-11-20 16:07:52 +11:00
README.md modify some text error 2017-04-10 20:39:04 +08:00

Wifi Performance Examples

Some simple codes help to test the wifi performance.

Including TCP/UDP TX/RX throughput.

tcp_perf

This example is used to test tcp throughput and delay time.

Step1: Set options in make menuconfig like ssid, password, server ip and server port. And choose what the esp32 will work as.

  • AP or STA. You can set one esp32 as AP and another esp32 as STA with same ssid & password, also you can use Router or wifi adapter instead of one of these.

  • Client or server. Make sure the client has correct server ip & port so they can get connected. It's okay if you create a tcp server & client using PC since one of the wifi device is't esp32.

  • Send or receive. Set one of them sending data and the other receiving.

Step2: Exit menuconfig, saving the new settings. Then build the app and flash it to the ESP32.

Step3: Start test. And here are some things that might help you do the test easily.

  • You'd better turn on the AP before the STA.
  • The tcp server should be started before the tcp client.
  • If you use a esp32 as AP, you'd better use it as tcp server also.
  • Once the tcp connection crashed, esp32 should be restarted to re-establish TCP connection.

Step4: View the result. After connection established, TCP server and TCP client can send data to each other. The result of throughput will be printed in the serial log.

See main.c for full details.

udp_perf

This example is similar to tcp_perf. Also the steps is similar to tcp_perf.

There's a obvious difference between udp_perf and tcp perf:

Before formal sending & receiving, a packet will be send from client to server. So the server can know the ip&port of client. It is usually eaiser to set the UDP server as the receiver.

See main.c for full details.

More

See the README.md file in the upper level examples directory for more information about examples.