2주차_참고 : ESP32 소프트웨어 개발 환경 - dhryu60/SmartDevice_2025-1 GitHub Wiki
ESP32는 강력한 Wi-Fi 및 Bluetooth 기능을 갖춘 마이크로컨트롤러로, 다양한 소프트웨어 개발 환경(IDE 및 프레임워크)을 지원합니다. 개발자는 목적과 편의에 따라 다양한 도구를 선택하여 개발할 수 있습니다.
✅ 초보자 친화적 – 간단한 환경 설정 및 코드 작성 가능
✅ ESP32 보드 매니저 지원 – 공식 Espressif ESP32 보드 패키지 제공
✅ 다양한 라이브러리 지원 – 센서, 디스플레이, Wi-Fi, BLE 등 쉽게 사용 가능
- Arduino IDE 다운로드 및 설치
-
ESP32 보드 매니저 추가
-
파일(File) > 기본 설정(Preferences)
이동 -
추가적인 보드 매니저 URL 입력:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
-
도구(Tools) > 보드(Board) > 보드 매니저(Board Manager)
에서 ESP32 검색 후 설치
-
-
ESP32 보드 선택 및 코드 작성
-
도구(Tools) > 보드(Board) > ESP32 Dev Module
선택 - 기본 예제 실행:
파일(File) > 예제(Examples) > WiFi > WiFiScan
-
업로드 및 실행 후
시리얼 모니터
에서 결과 확인
-
✅ 공식 Espressif 프레임워크 – 최신 ESP32 기능을 가장 먼저 지원
✅ 고급 개발 환경 – C/C++ 기반으로 보다 세밀한 제어 가능
✅ FreeRTOS 기반 – 멀티태스킹 및 실시간 OS 기능 활용 가능
-
ESP-IDF 다운로드 및 설치
- Windows: ESP-IDF 설치 프로그램 사용
- Linux/macOS:
git clone --recursive https://github.com/espressif/esp-idf.git
-
환경 변수 설정
- Windows:
ESP-IDF Command Prompt
실행 - Linux/macOS:
. ./export.sh
실행
- Windows:
-
ESP-IDF 프로젝트 생성 및 빌드
idf.py create-project my_project
cd my_project
-
idf.py menuconfig
(보드 설정) -
idf.py build
및idf.py flash
로 ESP32에 업로드
✅ VS Code에서 개발 가능 – 편리한 코드 작성 및 디버깅 지원
✅ 다양한 플랫폼 지원 – ESP8266, STM32 등 다양한 보드와 호환
✅ 자동 라이브러리 관리 – 프로젝트별로 필요한 라이브러리 자동 설치
- VS Code 설치 및 PlatformIO 확장 프로그램 설치
-
새로운 ESP32 프로젝트 생성
-
PlatformIO Home > New Project
클릭 - 보드 선택 (
ESP32 Dev Module
등)
-
-
코드 작성 및 업로드
-
platformio.ini
에서 환경 설정 가능 -
pio run -t upload
명령으로 코드 업로드
-
✅ Python 기반 개발 가능 – 간단한 IoT 프로젝트에 적합
✅ ESPHome – 홈 자동화 프로젝트와의 연동이 쉬움
✅ REPL 지원 – 시리얼 터미널에서 직접 코드 실행 가능
-
MicroPython 펌웨어 다운로드 및 플래싱
esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash
esptool.py --chip esp32 --port /dev/ttyUSB0 write_flash -z 0x1000 firmware.bin
-
Thonny 또는 uPyCraft IDE 사용
- Python 스크립트 작성 후 ESP32에서 실행 가능
개발 환경 | 난이도 | 장점 | 단점 |
---|---|---|---|
Arduino IDE | 초급 | 쉬운 사용, 많은 라이브러리 지원 | 기능이 제한적 |
ESP-IDF | 고급 | 성능 최적화, FreeRTOS 지원 | 설정이 복잡함 |
PlatformIO | 중급 | VS Code에서 개발, 강력한 라이브러리 관리 | 설정이 필요함 |
MicroPython | 초급 | 간단한 스크립팅, 빠른 테스트 가능 | 성능 제한, 일부 기능 부족 |
- 초보자: Arduino IDE 또는 MicroPython
- 전문 개발자: ESP-IDF 또는 PlatformIO
- IoT 및 홈 자동화: ESPHome 또는 MicroPython
ESP32 개발을 시작할 때, 목적에 맞는 개발 환경을 선택하면 보다 빠르고 효율적으로 프로젝트를 진행할 수 있습니다! 🚀