[ESP32] ESP-IDF , 아두이노 선택시 고려사항, 비교
ESP32 ESP-IDF , 아두이노 선택시 고려사항, 비교
ESP32의 firmware 개발을 위한 SDK (개발환경) 크게 ESP-IDF(IoT Development Framework) 과 아두이노(Arduino)가 있습니다. 이 개발 환경을 선택할때 무척 고민이 되는데요, 처음 선택을 하면 다시 변경하기가 매우 어렵습니다.
처음 부터 IDF로 하기로 했다면, 고민을 할 필요가 없겠습니다만, 개발기간, 인력이 촉박할 경우 아두이노를 검토 하기도 합니다. 그리고, 기능이 비교적 간단한 경우 아두이노가 경쟁력이 있습니다.
선택의 기로에서, 가장 중요한 것은 원하는 기능의 API가 있느냐 여부 입니다.
이 부분은 개발초기 부터 상세하게 검토가 어려울수도 있습니다. 다만, IDF에는 있는 API가 아두이노에는 없을 수가 있습니다. 반대로, 아두이노에 있는 API가 IDF에 없는 경우도 있습니다.
1. IDF에 있으나 API가 아두이노에 없는 경우 : 아두이노 코어를 수정하여 새로운 API를 만들수 있습니다. . 이 말은 IDF로 아두이노 API를 개발 하는 것과 비슷하다고 보면 됩니다.
2. 아두이노에는 API가 있는데, IDF에 없는 경우 : 이 경우는 대부분 ESP32와 상관없는 기능입니다. 아두이노 코드를 참고하여 응용레벨에서 개발이 가능합니다.
두 번째는 ESP32의 내부 MCU를 Master로 사용을 하겠느냐 입니다.
1. 외부에 MCU가 있는 경우 : ESP32는 Slave와 같은 역활로 통신만 담당을 한다면 Arduino로도 충분 할 것 같습니다.
2. ESP32가 Master기능을 해야 하는 경우 : 이 경우는 IDF를 사용하기를 권합니다. 여러 기능을 복합적으로 구현하다면 아두이노로는 부족한 경우가 있습니다.
부수적으로, 보안기능 등 특수한 기능에 대하여 아두이노가 적절한지도 살펴 보아야 합니다.
'ESPRESSIF' 카테고리의 다른 글
[ESP32] RF Calibration 은 어떻게 하는가 ? (How to RF Calibraion) (0) | 2021.01.12 |
---|---|
[ESP32] RF test - for certification and perfomance (0) | 2021.01.11 |
[ESP32] 칩(SoC) 제품 선택 가이드 (0) | 2021.01.09 |
[ESP32-C3] 신규 제품 출시 (경제형 WiFi + BLE5.0 콤보) (0) | 2021.01.09 |
[ESP32 아두이노] Arduino 웹서버 (Webserver) (0) | 2021.01.07 |