먼저 ESP32를 사용하는데 있어 아두이노 IDE를 사용하면 ESP32의 기능을 전부 사용하지 못한다.
ESP-IDF는 ESP IoT Development Framework의 줄임말로 Espressif Systems에서 공식 지원하는 프레임워크이다.
(아두이노IDE에서는 ESP-IDF 프레임워크를 래핑하고 있는 형태라고 생각하면 된다고 합니다.)
따라서 이제부터 ESP는 해당 Tool을 사용하여 개발을 진행해보겠다.
먼저 VSCode에서 해당 Tool을 사용할 수 있는데 설치하는 방법은 다음 링크에서 자세히 나와있으니 참고바란다.
(파이썬이 먼저 깔려있어야 한다)
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' 카테고리의 다른 글
[ESP-IDE] ESP32-PICO-D4 - RC522 태그 읽기 (0) | 2025.06.12 |
---|---|
[ESP-IDE] ESP32-PICO-D4 with VSCode (0) | 2025.06.08 |
ESP32C3 Super Mini / SD리더기 (0) | 2025.01.11 |
ESP32C3 SuperMini -1 (0) | 2024.12.28 |