ESP32에서 WiFi TCP, UDP Throughput 측정을 위해 Arduino 환경에서 테스트 해보면 속도가 너무 느리게 측정된다.
ESP-IDF 환경에서 제공되는 iperf 테스트 예제로 WiFi 성능을 측정해 보자.
WiFi iperf 테스트 에제를 빌드 하기 위해 ESP-IDF 개발환경 설정을 참고해서 에서 Show Examples Project를 선택 한다.
iperf Example을 선택해서 프로젝트를 생성한다.
빌드후 다운드 하면 VS Code의 터미널 창에서 시리얼 포트를 열수 있다.
sta 커멘드로 WiFi에 접속 할 수 있다.
sta <ssid> [<pass>]
WiFi is station mode, join specified soft-AP
<ssid> SSID of AP
<pass> password of AP
ESP32 UDP Client Throughput 테스트
PC 에서는 iperf 를 UDO 서버로 설정하고 동작하고 ESP32를 클라이언트로 설정하여 iperf 테스트를 해 보면 61Mbps 정도 측정된다.
ESP32 TCP Client Throughput 테스트
PC 에서는 iperf 를 서버로 설정하고 동작하고 ESP32를 클라이언트로 설정하여 iperf 테스트를 해 보면 58Mbps 정도 측정된다.
ESP32 TCP Server Throughput 테스트
PC 에서는 iperf 를 클라이언트로 설정하고 동작하고 ESP32를 서버로로 설정하여 iperf 테스트를 해 보면 54Mbps 정도 측정된다.
결론적으로 ESP32 에서 WiFi 전송률 테스트는 정상적으로 동작되며 속도도 아주 잘 나오는것 같다.
이제 Arduino 환경에서 왜 WiFi 전송 속도가 나오지 않는지 확인이 필요 할것 같다.