kopia lustrzana https://github.com/espressif/esp-idf
45 wiersze
1.9 KiB
Markdown
45 wiersze
1.9 KiB
Markdown
# 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](./tcp_perf/main/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](./udp_perf/main/main.c) for full details.
|
|
|
|
# More
|
|
|
|
See the [README.md](../README.md) file in the upper level [examples](../) directory for more information about examples.
|