Windows 에서 ESP32 개발 환경 구축하기 (with ESP-IDF)
목차
다양한 활용도의 ESP32 개발환경을 Windows 에서 구축하는 방법
얼마전에 Matter 장치에 대해 관심을 가지면서 ESP32 라는 저가형 IoT 솔루션 칩셋으로 개발 환경을 꾸며 본적이 있었습니다.
이 외에도 아두이노 IDE + ESP32 개발 보드로 스마트 워치 개발 환경을 꾸며본 적도 있었습니다.
ESP32 는 이처럼 IoT 장치나 소형 네트워크 장치를 개발하기에 꽤나 괜찮은 칩셋이라고 볼 수 있습니다. 특히 “가격” 적인 측면에서는 다른 칩셋 제품들을 압도하고 있는데요, 제 주변에서도 ESP32로 IoT 제품 관련 프로젝트를 진행하려는 분들이 있습니다.
저도 최근에 시간이 날때 마다 ESP32를 가지고 놀고 있는 중입니다. ESP32는 아두이노 IDE를 지원하기 때문에 개발하기에도 꽤나 편리한 이점이 있습니다.
그런데 제가 직접 ESP32를 다루기에는 아두이노 IDE의 한계가 있는거 같아서 ESP32 의 개발 도구인 ESP-IDF 를 설치해야 될 필요성을 느끼게 되었습니다.
따라서 이번 글에서는 제 Windows PC에서 ESP32 개발 환경을 설치 및 구축하고 간단하게 예제를 빌드하여 다운로드 하는 법에 대해 소개를 해보도록 하겠습니다.
ESP32-S3 개발 보드 2.4G 와이파이 모듈, Arduino ESP IDF ESP32-S3-WROOM-1 N8R2 N16R8 44 핀 C타입 8M PSRAM ESP32 S3참고로 제가 사용하고 있는 개발 보드와 비슷한 제품입니다. 저는 ESP32-S3-WROOM 계열의 보드인데 가격이 저렴하면서도 외장 메모리가 16 MB 정도 되어서 꽤나 활용하기에 좋은거 같습니다.
ESP-IDF 다운로드 및 설치
먼저 ESP-IDF 의 Windows 인스톨러 파일을 다운로드 및 설치를 합니다.
위 링크에서도 ESP-IDF 인스톨러 파일을 다운로드 할 수 있습니다.
저는 맨 위에 인스톨러 파일을 다운로드 하였습니다. Universal 인스톨러를 사용하면 ESP32 관련 개발 도구들을 한번에 손쉽게 설치가 가능합니다. (개발환경은 되도록 쉽게 설치하는게 편한거 같습니다)
그럼 위와 같이 ESP-IDF 온라인 셋업 툴의 실행파일이 다운로드 됩니다. 요걸 실행하면 ESP32 개발과 관련된 도구들을 다운로드하여 설치를 할 수 있습니다.
실행을 시키면 위와 같이 몇가지 도구들을 설치하게 됩니다. 동의를 해준 다음에 “Next” 를 누릅니다.
ESP-IDF 가 없기 때문에 다운로드 하여 설치하도록 하면 됩니다. Next 를 누릅니다.
다음으론 어떤 도구들을 설치할지 선택을 하는 건데 여기서는 “Full installation” 을 선택해 주면 될거 같습니다.
그럼 위와 같이 자동으로 설치 파일들을 다운로드 하여 설치를 진행합니다.
설치가 완료되면 위와 같이 명령창이나 파워쉘에서 실행할 수 있게 선택해줍니다. 그런 다음 “Finish” 를 누르면 됩니다.
그런 다음에 ESP-IDF CMD 나 ESP-IDF PowerShell 을 실행하면 ESP-IDF 를 사용하여 개발을 진행할 수 있습니다. 설치는 그리 어렵지 않은거 같습니다.
VS Code 에서 ESP-IDF 를 연동하여 사용하는 법
텍스트 기반의 ESP-IDF 는 다소 사용하기 어렵거나 번거로운 측면이 있습니다. 물론 커맨드 형태로 개발하는 것도 전혀 문제가 되지 않으나 Windows 환경에서는 좀더 쉽게 개발하는 방법이 있습니다. “VS Code” 를 사용하는 방법입니다.
VS Code 에서 ESP-IDF Extension 설치
그럼 위와 같이 VS Code 에서 ESP-IDF Extension 이 설치가 됩니다. 이후에 ESP-IDF 를 VS Code 에서 사용할 때는 “명령 팔레트” 를 통해 사용하면 되겠습니다.
VS Code 에서 ESP32 예제 소스 생성하기
자 그럼 간단하게 예제 소스를 불러와서 빌드하는 과정을 진행해 보도록 하지요.
“Ctrl + Shift + P” 키를 누르거나 VS Code 의 명령 팔레트를 실행한 다음 “ESP-IDF” 로 검색하면 위와 같이 ESP-IDF 관련 도구들이 검색이 됩니다.
여기서 “Show Examples Projects” 를 실행합니다.
그런 다음에 “Use current ESP-IDF” 를 선택해 줍니다.
여기에는 ESP32 를 다뤄볼 수 있는 다양한 예제들이 제공됩니다. 이 중에서 hello_world 를 선택해 보기로 하지요.
지원되는 보드를 타켓보드를 확인한 후에 “Create project using example hello_world” 를 클릭합니다.
그런 다음 적절한 폴더를 선택해 주면 다음과 같이 소스들을 생성하게 됩니다.
요렇게 예제 소스를 통해 프로젝트를 간단히 생성할 수 있습니다.
VS Code 에서 타켓 설정 및 빌드하기
예제 소스를 생성했으면 빌드 및 내가 가지고 있는 ESP32 보드에 올리기 위한 설정이 필요합니다. 명령 팔레트에서 “Set Espressif Device Target” 을 검색하여 선택합니다.
실행한 다음 예제 소스를 선택해 주세요.
그럼 위와 같이 현재 사용중인 ESP32 타켓을 선택하면 됩니다. 저는 S3 를 사용하니 S3 를 선택하였습니다.
ESP32 포트 설정 및 ESP32 보드에 Download
자 그럼 가지고 있는 ESP32 보드에 빌드한 바이너리 파일을 다운로드를 해보도록 하지요. 먼저 명령 팔레트를 실행하여 다운로드할 포트를 설정해 줍니다.
“Select Port to USB” 를 선택하여 USB 포트로 연결된 ESP32 보드의 UART 포트를 선택해 주면 됩니다. 참고로 제가 가지고 있는 보드에서는 “O” 버튼을 누른 후 Reset 버튼을 눌러줘야 다운로드가 가능한 상태로 전환됩니다.
연결된 UART 포트를 선택하였으면 명령 팔레트에서 “Flash(UART) your Project 를 선택해 주세요.
그럼 USB 포트로 연결된 ESP32 보드로 바이너리 다운로드가 진행이 됩니다.
위와 같이 메시지가 나왔다면 정상적으로 바이너리 다운로드가 완료되었다고 보면 되겠습니다.
이후에 RESET 핀을 누른 다음에 테라텀 같은 터미널 프로그램으로 확인해 봅니다.
예제 소스에 작성된 코드대로 “Hello world!” 가 찍히는 것을 알 수 있습니다. 여기까지 진행했다면 ESP32 로 개발을 할 준비가 완료되었다고 보면 되겠습니다.