ESP

ESP-IDF를 사용하자

찬영_00 2025. 1. 7. 13:51

먼저 ESP32를 사용하는데 있어 아두이노 IDE를 사용하면 ESP32의 기능을 전부 사용하지 못한다.

 

ESP-IDF는 ESP IoT Development Framework의 줄임말로 Espressif Systems에서 공식 지원하는 프레임워크이다.

(아두이노IDE에서는 ESP-IDF 프레임워크를 래핑하고 있는 형태라고 생각하면 된다고 합니다.)

 

따라서 이제부터 ESP는 해당 Tool을 사용하여 개발을 진행해보겠다.

먼저 VSCode에서 해당 Tool을 사용할 수 있는데 설치하는 방법은 다음 링크에서 자세히 나와있으니 참고바란다.

(파이썬이 먼저 깔려있어야 한다)

https://pthaus.tistory.com/9

 

ESP-IDF 윈도우 개발환경 세팅 (esp32, vscode)

*소요시간 : 30분 1) VSCODE 설치 : 설명 스킵 2) 파이썬 설치 : https://www.python.org/downloads/ Download Python The official home of the Python Programming Language www.python.org (가장 최신 버전으로 다운로드 합니다.) 3) ESP-I

pthaus.tistory.com

 

생각보다 설치하는데 오류가 많아서 애먹었다.

내껀 폴더가 인식이 자꾸 안되서 그냥 컴퓨터 포맷할겸 전부 날려버리고 다시 설치했다.

위와 같이 설치하고, 새로운 프로젝트 생성방법은

https://blog.naver.com/alfee0/223306414215

 

ESP-IDF #5-1 새로운 프로젝트 만들기

앞서는 예제들을 가지고 와서 단순히 빌드하고 실행해 봤습니다. 이 번에는 완전히 새로운 프로젝트를 만들...

blog.naver.com

위 블로그를 따라했다.

 

여기서 알아둬야할건 프로젝트 생성시 본인이 사용하는 보드는 당연히 알아야하고, port도 어디에 연결되어 있는지 (ex COM3) 알아두면 좋다.

특히 빨간 줄을 잘 맞춰주자

 

이후 20번 토글 작업(사이 간격 500ms)을 해주고 다시 esp32-c3를 재부팅하여 반복하도록 하는 프로그램을 만들어서 잘 설치되고 컴파일까지 되었는지 확인해본다.

 

#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_system.h"
#include "driver/gpio.h"
#include "sdkconfig.h"

#define BLINK_GPIO 8
static uint8_t s_led_state = 0;

static void configure_led(void){
    gpio_reset_pin(BLINK_GPIO);
    gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT);
}

void app_main(void)
{
    int Lp = 20;
    configure_led();
    printf("LED Ex\n");

    while(Lp != 0){
        printf("Count %d, led state is %d\n", Lp--, s_led_state);
        gpio_set_level(BLINK_GPIO, s_led_state);
        s_led_state = !s_led_state;
        vTaskDelay(500 / portTICK_PERIOD_MS);
    }
    esp_restart();
}

   

코드 입력후 F1을 눌러 ESP-IDF: open ESP-IDF Terminal을 눌러주고 Terminal에서 idf.py build을 입력해주자

컴파일이 완료되었으면 다음과 같이 반응한다.

이런게 뜨면

여기서 idf.py -p COM3 flash monitor 를 입력해주면 Terminal에 출력해주면서 LED가 토글되게 된다.

https://youtube.com/shorts/ZunZ8QI72-k?feature=share

 

모터 제어는 나중에 하도록하고 먼저 ESP-IDF에 익숙해져보는 시간을 가지려한다.

'ESP' 카테고리의 다른 글

ESP32C3 Super Mini / ST7796S TFT LCD -3  (0) 2025.01.12
ESP32C3 Super Mini / SD리더기  (0) 2025.01.11
ESP32C3 Super Mini / ST7796S TFT LCD -2  (0) 2025.01.09
ESP32C3 Super Mini / ST7796S TFT LCD -1  (0) 2025.01.08
ESP32C3 SuperMini -1  (0) 2024.12.28