이 프로젝트는 ESP32 장치가 인터넷(클라우드)을 통해 펌웨어를 아주 쉽게 업데이트할 수 있도록 해주는 템플릿입니다. 복잡한 보안 설정 없이 바로 사용할 수 있습니다.
- 원격 업데이트: USB 연결 없이 와이파이를 통해 펌웨어를 업데이트합니다.
- 초간편 사용: 설정 파일 하나만 수정하면 바로 적용됩니다.
- ESP32 보드
- VS Code & Arduino Extension (또는 Arduino IDE)
UserConfig.h 파일을 열어 자신의 환경에 맞게 수정합니다.
// 1. 와이파이 설정
const char *ssid = "우리집와이파이";
const char *password = "비밀번호1234";
// 2. 펌웨어 다운로드 주소 (GitHub Raw 링크 등)
const char *firmware_url = "https://raw.githubusercontent.com/사용자명/저장소/main/update.bin";ESP32에 올릴 펌웨어 파일을 만듭니다.
- VS Code에서
Verify또는Build버튼을 눌러 컴파일합니다. (.bin파일 생성)- 보통
build/폴더 안에SignedOTA.bin같은 이름으로 생성됩니다.
- 보통
- 이 파일을 원하는 이름(예:
update.bin)으로 바꿉니다.
생성된 .bin 파일을 UserConfig.h에 적어둔 주소(URL)에 올립니다.
- GitHub 사용 시: 파일을 커밋&푸시(Commit & Push)합니다.
처음에는 USB로 코드를 올려야 합니다.
- VS Code에서
Upload버튼을 눌러 ESP32에 코드를 업로드합니다. - 시리얼 모니터를 엽니다. (보드레이트: 115200)
- ESP32가 부팅되며 와이파이에 연결하고, 설정된 URL에서 새 펌웨어가 있는지 확인합니다.
execOTA()함수가 실행되면 자동으로 다운로드 및 업데이트가 진행됩니다.
- URL 주소: GitHub 사용 시 원본 주소(Raw URL)를 사용해야 합니다. 주소에
blob대신raw가 들어가는지 확인하세요. - 파티션 설정: OTA를 위해서는 충분한 플래시 메모리 공간이 필요합니다.
Tools > Partition Scheme에서Default 4MB with spiffs또는Minimal SPIFFS등을 선택하세요.
문의사항: 언제든지 댓글이나 이슈로 남겨주세요!