본문 바로가기

esp-idf

(7)
ESP32S3 ESP-IDF 개발환경 설정 (Windows VSCode) ESP32 ESP-IDF 개발 환경 설정을 참고로 해서 ESP32-S3를 ESP-IDF 개발환경에서 컴파일 하면 에러가 발생한다. [954/959] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/blink.c.obj FAILED: esp-idf/main/CMakeFiles/__idf_main.dir/blink.c.obj 코드를 가장 간단하게 작성하고 컴파일을 해도 다운로드에서 디바이스를 지원을 하지 않는다는 메시지가 출력된다. ESP-IDF의 버전을 업데이트 해야 하나? ESP-IDF : Configure ESP-IDF extension 에서 IDF 환경을 설정 할 수 있다. ESP-IDF 최신버전(5.1.1)을 선택하고 설치를 해 준다. 테스트를 ..
ESP32-S2 ESP-IDF에서 TCP, UDP Iperf로 WiFi Throughput 측정 테스트 ESP32-S2를 Aruino 개발환경에서 WiFi 전송률 테스트 했을때 속도가 느리다. ESP-IDF 에서 제공하는 iperf 테스트 예제로 성능을 측정해 보자 ESP32 ESP-IDF WiFi 성능 측정에 사용했던 iperf 테스트 코드를이용 해서 ESP32-S2에서 동작하도록 했다. ESP32-S2 TCP Client Throughput 테스트 PC 에서는 iperf 를 서버로 설정하고 동작하고 ESP32-S2를 클라이언트로 설정하여 iperf 테스트를 해 보면 23Mbps 정도 측정된다. ESP32-S2 TCP Server Throughput 테스트 PC 에서는 iperf 를 클라이언트로 설정하고 동작하고 ESP32-S2를 서버로로 설정하여 iperf 테스트를 해 보면 26Mbps 정도 측정된다...
ESP32-S2 ESP-IDF SDK에서 GPIO 성능 테스트, Arduino IDE 코드와 비교 Arduino에서 제공하는 GPIO 제어 함수로 GPIO 토글 속도를 측정해 보자 #define LED_PIN1 18 void setup() { pinMode(LED_PIN1, OUTPUT); } void loop() { digitalWrite(LED_PIN1, 1); digitalWrite(LED_PIN1, 0); } GPIO On/Off 주기는 337ns로 측정이되며 메인루프 수행 시간은 1.8us로 상당히 느리다. (ns 단위여야 하는데..) ESP32-S2의 레지스터 직접 제어 방식으로 GPIO 토글 속도를 측정해 보자. #define LED_PIN1 18 void setup() { pinMode(LED_PIN1, OUTPUT); } void loop() { //digitalWrite(LED_PI..
ESP32-C3 ESP-IDF에서 TCP, UDP Iperf로 WiFi Throughput 측정 테스트 ESP32-C3 를 Aruino 개발환경에서 WiFi 전송률 테스트 했을때 속도가 느려서 ESP-IDF 에서 제공하는 iperf 테스트 예제로 성능을 측정해 보자 ESP32 ESP-IDF WiFi 성능 측정에 사용했던 iperf 테스트 코드를이용 해서 ESP32-C3에서 동작하도록 했다. ESP32-C3 TCP Client Throughput 테스트 PC 에서는 iperf 를 서버로 설정하고 동작하고 ESP32를 클라이언트로 설정하여 iperf 테스트를 해 보면 32Mbps 정도 측정된다. ESP32 TCP Server Throughput 테스트 PC 에서는 iperf 를 클라이언트로 설정하고 동작하고 ESP32를 서버로로 설정하여 iperf 테스트를 해 보면 31Mbps 정도 측정된다. ESP32-C3..
ESP32-C3 ESP-IDF SDK에서 GPIO 성능 테스트, Arduino IDE 코드와 비교 ESP-IDF SDK 개발 환경에서 ESP32-C3 성능을 테스트해 보자. ESP32 Arduino IDE 개발환경에서 성능 테스트 결과 와 비교해 보면 좋을것 같다. 우선 SDK에서 제공하는 GPIO제어 예제로 테스트 해보자 #define BLINK_GPIO 0 void app_main(void) { gpio_reset_pin(BLINK_GPIO); /* Set the GPIO as a push/pull output */ gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT); while(1) { gpio_set_level(BLINK_GPIO, 1); gpio_set_level(BLINK_GPIO, 0); } } ESP32-C3 GPIO 토글 주기가 280ns(1.7Mh..
ESP32 ESP-IDF에서 Iperf로 WiFi TCP, UDP Throughput 측정 테스트 ESP32에서 WiFi TCP, UDP Throughput 측정을 위해 Arduino 환경에서 테스트 해보면 속도가 너무 느리게 측정된다. ESP-IDF 환경에서 제공되는 iperf 테스트 예제로 WiFi 성능을 측정해 보자. WiFi iperf 테스트 에제를 빌드 하기 위해 ESP-IDF 개발환경 설정을 참고해서 에서 Show Examples Project를 선택 한다. iperf Example을 선택해서 프로젝트를 생성한다. 빌드후 다운드 하면 VS Code의 터미널 창에서 시리얼 포트를 열수 있다. sta 커멘드로 WiFi에 접속 할 수 있다. sta [] WiFi is station mode, join specified soft-AP SSID of AP password of AP ESP32 UDP..
ESP-IDF 개발 환경 설정 (Windows VSCode) ESP32용 개발환경으로 여러 형태가 있지만 이번에는 ESP-IDF를 이용해서 개발 하는 방법을 테스트 해 보았다. ESP-IDF를 사용하게 되는 가장큰 이유는 속도 일것 같다. Arduino 나 Python의 경우 다양한 MCU를 지원하려다 보니 속도가 느려지는것이 당연하지 않을까... Arduino IDE - Iperf로 WiFi TCP Throughput 측정 테스트 에서 WiFi 전송율을 테스트 하다보니 너무 속도가 느리게 측정된다. ESP-DIF 환경에서 제공하는 예제중 iperf 예제를 구동해 보면 좋을것 같다. VS Code에서 ESP-IDF extension 모듈을 설치하면 쉽게 환경 설정이 가능하다. ESP-IDF 환경설정을 위해 View->Command Palette (F1) ESP-I..

반응형