ESP32의 펌웨어 개발을 위한 SDK 종류
ESP32의 펌웨어를 개발하는 방법은 ESP-IDF, 아두이노, AT command, 기타 3rd party SDK가 있습니다.
ESP-IDF
Espressif사에서 공식 릴리즈하고, 관리하는 Open source SDK입니다.
가장 기본적인 SDK이고, 최신 버젼 및 API가 계속 update됩니다.
FreeRTOS기반이고, C, C++를 사용합니다.
Host 개발환경으로 Window, Linux, MAC을 지원합니다.
ESP32는 전용 IDE를 공식적으로 지원하지 않기 때문에, 에디터는 개발자가 선택을 해야 합니다.
최근 가장 많이 사용하는 에디터로 VSCODE가 있고, 그외에 이클립스등 아무 에디터나 사용가능합니다.
ESP32는 완전한 GUI환경을 지원하지 않고, 터미널(도스창)에서 command로 작업을 많이 해야 합니다.
상용 제품일 경우 ESP-IDF를 사용하길 권하여 드립니다.
** 메뉴얼, SDK 다운로드 경로 **
https://github.com/espressif/esp-idf
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/index.html
아두이노
ESP32는 native하게 아두이노(Arduino)를 지원합니다.
아두이노 코드로 코딩을 하여 빌드된 펌웨어를 ESP32에서 바로 구동 가능하니다.(외부 host mcu 칩 필요없음)
아두이노는 C++을 사용하고, 자체 IDE(아두이노 Studio)를 지원합니다.
또한 3rd party IDE로 Platfrom IO, VSCODE extention이 있습니다.
아두이노는 API가 함축적으로 표현을 하고 있기 때문에 코드가 간단하고 빠르게 개발이 가능합니다.
다만, 복잡한 기능의 경우 ESP-IDF를 권하여 드립니다.
ESP32 아두이노는 ESP-IDF로 개발된 API를 지원하는 방식으로 아두이노 내부에 ESP-IDF가 Encapsulation되어 있습니다. 즉, API자체의 수정 하거나, 세부적인 조정이 필요 하면, ESP-IDF에 대한 지식이 필요 합니다. 추가로, ESP-IDF가 지원하는 기능을 100% 지원 하지는 않습니다.
https://github.com/espressif/arduino-esp32
AT command 사용
펌웨어를 개발하지 않고, AT command를 사용하여 운영을 할 수도있습니다.
이 경우, AT command에서 지원하는 명령어를 먼저 시험하여, 기능에 충실하게 구현이 가능한지를 확인해 보아야 합니다.
AT command는 다양한 기능을 지원을 합니다, 그러나, AT command에 없는 기능이나, 수정이 필요 할 경우, 새로 개발을 해야 하는데 ESP-IDF를 사용해야 합니다. AT command사용시 반드시 Host MCU가 필요 합니다.
https://docs.espressif.com/projects/esp-at/en/latest/esp32/AT_Command_Set/
기타 방법
기타 3rd part 개발 환경으로 Micro Python, RUST등도 있습니다. 많이 사용은 되지 않는 SDK입니다.
그 중에서 RUST는 최근 관심이 많아지고 있는 언어로, 아래에서 참고 가능합니다.
https://esp-rs.github.io/book/introduction.html
https://github.com/espressif/rust-esp32-example
'펌웨어' 카테고리의 다른 글
ESP32 펌웨어 다운로드(라이팅)이 안될 경우 첫번째 확인 사항 (0) | 2023.11.02 |
---|---|
ESP32 펌웨어 개발 방법(2) - ESP-IDF (0) | 2023.10.31 |