본문 바로가기

IoT 자동화

아두이노 IDE 호환 ESP32 개발 보드 사용하기

1. ESP32

작년에 아두이노에서 UNO R4를 내놓으면서 이제 Wifi와 블루투스를 추가 모듈 없이 바로 사용할 수 있게 되었다. 하지만 중국산 저가 복재품이 아직 없어, 널리 보급되고 있지 않아 현재까지도 아두이노를 시작할 때에는 UNO R3를 여전히 많이 사용되고 있다. 이 아두이노 UNO R3에 Wifi를 연결하기 위해 가장 많이 선택하는 것이 Espressif사의 저렴한  ESP01 (ESP8266) 모듈이다.

 

ESP01 + 어댑터

일반적으로 판매되고 있는 ESP01 모듈은 8개의 핀을 점퍼선을 사용해서 연결해야 하기 때문에 위의 그림처럼 전용 Adapter와 함께 많이 사용하고 있는데, 아두이노의 Wifi 쉴드보다는 불편하지만 4개의 선을 브레드보드에 바로 연결할 수 있고, 가격 또한 저렴하기 때문에 같이 사용하는 경우가 많다.

 

아두이노로 만드는 수경재배 장치; 8. 와이파이 연결 (ESP 01) - 1

아두이노로 만드는 수경재배 장치 목차1. 아두이노 시작하기2. 아두이노 IDE3. 첫 번째 아두이노 개발4. 온도, 습도계 v 1.05. 온도, 습도계 v 2.06. 조도계 (광센서)7. 시간 지연 릴레이 (자동 스위치)8.

front-it.tistory.com

재미있는 것은 ESP01도 MCU이기 때문에 아두이노 없이도 제공되는 두 개의 GPIO를 통해 센서를 연결하거나 릴레이 제어도 가능하다. 물론 그러기 위해서는 펌웨어를 수정할 수 있게 USB어뎁터를 구매하거나, 아두이노 보드를 사용해야 한다.

 

UNO R3를 사용하다 보면, 하나의 core를 Time slicing방식으로 나눠서 써야 하기 때문에 많은 작업을 하기도 어렵고, 라이브러리를 많이 사용하면 바로 메모리가 한계에 도달하기 때문에 더 나은 모듈을 찾게 되는데, 이때 선택할 수 있는 좋은 옵션이 ESP32이다. Espressif사의 ESP32 개발보드는

 

  • 34개의 GPIO
  • 2개의 8bit DAC
  • 4개의 SPI
  • 150M까지 지원하는 Wifi 802.11(b/g/n)
  • BLE를 지원하는 블루투스 4.2
  • 240 MHz 2 core processor

를 제공하기 때문에 아두이노 UNO R3보다 더 넓은 분야에 사용할 수 있다. 뿐만 아니라, 아두이노 UNO R3를 사용할 때 생기는 처리지연 문제가  ESP32를 사용하면 2개의 core로 sensor, 제어와 wifi통신을 분리 처리하면 해결할 수 있고, micro python도 사용할 수 있어 개발할 때 선택할 수 있는 방법이 더 많아진다. ESP32의 기술적인 자세한 내용은 아래 espressif의 datasheet에서 확인할 수 있다.

 

esp32_datasheet_en.pdf (espressif.com)

 

출처: espressif.com

ESP32도 아래와 같이 개발할 때 아두이노 보드처럼  쉽게 선을 연결해서 테스트할 수 있는 어댑터도 있다.

 

2. Arduino IDE에 ESP32 개발환경 설정

ESP32 펌웨어를 Arduino IDE로 개발하기 위해서는 먼저, Arduino IDE를 실행한 다음

  • Preference를 열고 Additional Board Manager URLs를 등록한다.

Additional Board Manager URLs: https://dl.espressif.com/dl/package_esp32_index.json

 

  • Board Manager에서 ESP32를 설치한다.

  • ESP32 Module과 COM 포트를 선택하고 연결한다.

ESP32 Module에도 많은 종류가 있는데, 내가 구매한 제품은 Aliexpress에서 쉽게 구할 수 있는 Doit ESP32 Module이어서 DOIT ESP32 DEVKIT을 선택하고 COM 포트를 선택해서 연결했다. COM 포트 번호를 모른다면 USB에 ESP32 보드를 연결했을 때 없어지고 다시 나타나는 포트를 찾으면 된다. (한번 연결해 보고 빼 보고 하면 금방 확인할 수 있다.)

 

3. ESP32 보드 테스트

먼저 ESP32 보드에 프로그램을 Upload 할 수 있는지 테스트하기 위해 File / Examples / 01.Basics / Blink 예제를 Upload  해 봤다. UNO R3에서 할 때와 같은 절차로 해도 문제가 없는 것을 확인할 수 있었다.

 

 

두 번째는 Wifi 기능을 검증하기 위해 File / Examples / Wifi / WifiClient 예제 열고 Wifi의 SSID와 password를 고친 다음 Upload 하고 실행해 봤다.

 

 

문제없이 잘 접속이 되는 것을 확인할 수 있었다.

 

 

ESP32-DevKitC - - — esp-dev-kits latest documentation

© Copyright 2016 - 2024, Espressif Systems (Shanghai) CO., LTD.

docs.espressif.com