[ESP32] ESP-IDF , 아두이노 선택시 고려사항, 비교

ESPRESSIF|2021. 1. 9. 21:07

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를 사용하기를 권합니다. 여러 기능을 복합적으로 구현하다면 아두이노로는 부족한 경우가 있습니다. 

 

부수적으로, 보안기능 등 특수한 기능에 대하여 아두이노가 적절한지도 살펴 보아야 합니다.