잡다하게 알면 좋은 ESP-IDF 관련 팁을 모은 글입니다.

  • 쉽게 새로운 ESP-IDF 프로젝트 만들기
  • 윈도우/리눅스/맥 CLion 에서 ESP-IDF 사용법
  • 맥/리눅스 에서 명령어 하나로 ESP-IDF 환경 실행하는법
  • ...
윈도우에서 ESP-IDF 사용하기
ESP32 시리즈 SoC를 사용하기 위해서는 ESP-IDF 프레임워크를 사용하거나 아두이노 BSP를 올려 아두이노 코드를 실행시키는 방법이 있습니다. ESP를 아두이노로 사용하면 ESP의 모든 기능을 사용하기 어려우며, ESP의 모든 성능을 끌어내기 어렵습니다. ESP-IDF를 사용하기 위해서 PlatformIO 를 사용하거나, Eclipse, VS Code 에서 Esp 확장 플러그인을 설치하거나, 사용하시는 IDE에서 CMake 환경을 설정하는 방법이 있습니다.
맥/리눅스에서 ESP-IDF 사용하기
윈도우보다 리눅스에서 ESP-IDF 설치가 더 쉬운거 같습니다. 우분투 기준으로 설치하는 방법을 설명했으며 타 OS는 아래 공식 문서를 참고하여 설치하시면 됩니다. Standard Toolchain Setup for Linux and macOS - ESP32 - — ESP-IDF Programming Guide latest documentation— ESP-IDF Programming Guide latest documentation 의존 프로그램 설치 우분투 sudo apt-get install git wget flex

새로운 프로젝트 생성법

ESP-IDF 설치하면 환경변수를 설정해주는 스크립트를 제공해줍니다. 이를 사용하면 새로운 프로젝트를 만들때마다 복잡한 환경변수 설정 없이 쉽게 프로젝트를 설정해 줄 수 있습니다.

~ idf.py create-project ~/hello
Executing action: create-project
The project was created in /home/user/hello

~ cd hello 

~/hello ls
CMakeLists.txt  main

~ clion .

idf.py create-project [프로젝트 이름] 커맨드로 쉽게 빈 프로젝트를 만들 수 있습니다.

생성한 프로젝트를 CLion으로 열면 됩니다.

윈도우 환경변수 설정

Settings | Build, Execution, Deployment | Toolchain 에서 + 버튼을 클릭하여 새로운 툴체인을 만들고, Add environment 를 눌러 ESP-IDF 폴더 안에 export.bat 를 지정해주면 됩니다.

오류 발생 시

파이썬 가상 환경 관련 오류가 발생할 수 있습니다.

ERROR: C:\Espressif\python_env\idf5.1_py3.12_env\Scripts\python.exe doesn't exist! Please run the install script or "idf_tools.py install-python-env" in order to create it

Espressif\python_env\idfx.x_pyx.xx_env\Scripts 디렉토리 안에 activate.bat 등의 virtualenv 관련 파일이 없을거나, 가상환경 경로에 접근이 불가하거나, 버전에 문제가 있을경우 나타나는 오류입니다.

먼저 virtualenv 파이썬 패키지를 설치해야 합니다.

pip install virtualenv

방법1. idf_tools.py 사용

esp-idf 프레임워크 폴더 속 tools 폴더에 존재합니다.

다음 커맨드로 파이썬 환경을 재설치하면 됩니다.

PS C:\Espressif\frameworks\esp-idf-v5.1.1\tools> python .\idf_tools.py install-python-env

방법2. 툴 재설치

설치된 프레임워크 폴더 속 install.bat 스크립트를 사용하여 툴을 설치하면, 파이썬 가상환경이 설정 됩니다.

다음 명령어를 입력합니다.

PS C:\Espressif\frameworks\esp-idf-v5.1.1> install.bat {esp32|esp32s3| ... }

// install.bat - 모든 툴체인 설치
// install.bat esp32 - esp32 툴체인 설치
// install.bat esp32 esp32s3 - esp32, esp32s3 툴체인 설치

맥/리눅스 환경변수 설정

Settings | Build, Execution, Deployment | Toolchain 에서 + 버튼을 클릭하여 새로운 툴체인을 만들고, Add environment 를 눌러 ESP-IDF 폴더 안에 export.sh 를 지정해주면 됩니다.

빌드 디렉토리

idf.py 는 프로젝트를 빌드한 오브젝트 파일, bin 파일, elf 파일 등을 build 폴더에 저장 합니다.

CLion 에서는 기본 설정시 cmake-** 디렉토리에 저장 합니다.

비효율적으로 빌드를 여러번 하며 시간과 용량을 낭비하기 때문에 빌드 디렉토리를 통일 시키는 것이 좋습니다.

Cache variables > Build direcroey 의 값을 build 로 설정하면 됩니다.

맥/리눅스 Alias 연결

사용하는 쉘 설정파일 가장 하단에 아래처럼 명령어를 지정하면 편하게 ESP-IDF 환경을 실행할 수 있습니다.

alias idf='. $HOME/esp-idf/path/export.sh'

idf 명령을 입력하면 ESP-IDF 환경이 실행됩니다.

~ idf
Detecting the Python interpreter
Checking "python3" ...
Python 3.10.6
"python3" has been detected
Checking Python compatibility
Checking other ESP-IDF version.
...