본문 바로가기

ESP32

ESP32 OTA 자동 업데이터

반응형

 

ESP32 OTA UPDATOR

 

이 프로그램은 ESP32에서 인터넷을 통하여 소프트웨어를 자동으로 업데이트 하는 용도의 소프트웨어 입니다. 첨부의 코드를 기반으로 프로젝트를 구성하면 디바이스가 시작할때마다 서버에서 버전을 확인하고 업데이트를 실행 합니다.

 

사용법

  • esp32_ota_update.ino 파일을 이용해 기능을 구현하고 아두이노 IDE로 빌드하여 ESP32에 설치 합니다.
  • Arduino IDE 메뉴에서 Sketch - Export Compiled Binary 실행하면 일반적으로 Build 폴더 아래에 바이너리 파일이 생성됩니다.
  • version.json 파일은 업데이트할 버전 번호를 입력하고
  • http 서버에 업데이트해서 빌드한 바이너리 파일과 첨부된 version.json을 복사해둡니다.

 

파일 시스템 선택 (SPIFFS vs FFat)

 

이 프로그램은 버전 정보를 저장하기 위해 ESP32의 파일 시스템을 사용합니다. SPIFFS와 FFat 두 가지 파일 시스템을 선택적으로 사용할 수 있습니다.

 

SPIFFS 사용하기

 

1. Arduino IDE에서 SPIFFS 사용을 위한 설정:

 

Tools > Partition Scheme에서 "Default with spiffs" 또는 적절한 SPIFFS 파티션 스키마 선택

최소 1MB의 SPIFFS 파티션 크기 권장

 

2. 코드에서 SPIFFS 활성화:

 

const bool USE_SPIFFS = true; // esp32_ota_update.ino 파일 상단에 위치

 

3. SPIFFS 특징:

 

작은 파일에 적합

디렉토리 구조 미지원

상대적으로 느린 읽기/쓰기 속도

최소 파티션 크기가 작음

 

FFat 사용하기

 

1. Arduino IDE에서 FFat 사용을 위한 설정:

 

Tools > Partition Scheme에서 "Default with ffat" 또는 적절한 FAT 파티션 스키마 선택

최소 1MB의 FAT 파티션 크기 권장

 

2. 코드에서 FFat 활성화:

 

const bool USE_SPIFFS = false; // esp32_ota_update.ino 파일 상단에 위치

 

3. FFat 특징:

 

큰 파일에 적합

디렉토리 구조 지원

빠른 읽기/쓰기 속도

SPIFFS보다 큰 최소 파티션 크기 필요

 

파일 시스템 선택 시 고려사항

 

1. 메모리 사용량:

 

SPIFFS: 작은 파일, 제한된 공간에 적합

FFat: 큰 파일, 많은 저장 공간이 필요한 경우 적합

 

2. 성능:

 

SPIFFS: 상대적으로 느림, 단순한 구조

FFat: 빠른 속도, 복잡한 파일 시스템 구조 지원

 

3. 호환성:

 

SPIFFS: ESP32에서 널리 사용됨, 레거시 코드와 호환성 좋음

FFat: 최신 기능, FAT32 파일 시스템 호환

 

기타

  • 일부 ESP32 디바이스에서 SPIFFS 때문에 오류가 날수 있습니다. 이런 경우 FFat로 전환하여 사용하시면 됩니다.

 

원본 참고 자료 링크 깃 허브

저자 웹사이트 - 실용적인 소프트웨어를 만듭니다

 

아래 구굴링 링크를 참고한다.

 

https://pineenergy.tistory.com/218

https://randomnerdtutorials.com/esp32-ota-over-the-air-arduino/

https://jooduino.tistory.com/12

https://velog.io/@ttoottie/ESP32NestJS-%ED%8E%8C%EC%9B%A8%EC%96%B4-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8%EB%A5%BC-%EC%9B%90%EA%B2%A9%EC%9C%BC%EB%A1%9C-%ED%95%B4%EB%B3%B4%EC%9E%90-OTA

https://play.google.com/store/apps/details?id=com.fbiego.esp32.ota&hl=ko

https://www.theengineeringprojects.com/2021/12/esp32-ota-over-the-air-programming.html

 

공식 문서 https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/system/esp_https_ota.html

 

https://www.theengineeringprojects.com/2021/12/esp32-ota-over-the-air-programming.html

 

반응형

캐어랩 고객 지원

취업, 창업의 막막함, 외주 관리, 제품 부재!

당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약, 아이디어는 있지만 구현할 기술이 없는 막막함.

우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.

이제 고민을 멈추고, 캐어랩을 만나세요!

코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.

제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!

귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.

지난 30년 여정, 캐어랩이 얻은 모든 것을 함께 나누고 싶습니다.

카카오 채널 추가하기

카톡 채팅방에서 무엇이든 물어보세요

당신의 성공을 위해 캐어랩과 함께 하세요.

캐어랩 온라인 채널 바로가기

캐어랩