오늘부터 시간이 나는대로 한참 전에 구입해 놓고 사용하지 못하고 있던 ESP32 개발보드에 대해서 알아볼 생각이다. 예전에 ESP32 칩에 대해서 간단하게 알아보았던 포스팅이 있어서 ESP32 칩에 대한 개괄적인 내용은 아래 링크의 글을 참조하면 된다.
내가 구입한 ESP32 개발 모듈 보드이다. CP2102 UART 칩을 사용하고 있다. 알리에서 5달러 정도 주고 구입.
개발보드의 핀 구조는 위와 같다. PC와의 연결은 마이크로 5핀 USB 케이블을 이용한다.
처음 아무것도 없는 PC에 연결하면 아마도 인식이 되지 않을 것이다. CP2102 드라이버가 설치가 되어 있지 않아서 그렇다. 따로 드라이버를 다운로드 받아서 설치해 주어야 PC와 통신이 된다.
■ CP2102 드라이버 다운로드
https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
위의 링크에서 자신의 OS에 맞는 드라이버를 다운로드 받아서 설치하면 된다.
그러면 위와 같이 제대로 COM 포트를 잡아서 PC와 통신할 준비가 완료된다. 혹시 CP2102 가 아닌 다른 UART 칩을 사용하는 보드라면 각 제조사 사이트에서 드라이버를 다운로드 받으면 될 것이다.
그리고 당연한 말이지만 아두이노 IDE가 설치되어 있어야 한다. 될 수 있으면 최신버전을 사용하도록 한다. 다운로드 주소는 https://www.arduino.cc/en/Main/Software
아두이노 IDE 설치만으로 바로는 사용할 수 없고 github 의 Espressif 사의 페이지에 들어가면 아두이노 IDE 에서의 개발환경을 위한 소프트웨어가 개발되어 있다. 이걸 설치하면 된다.
■ Espressif Github ESP32
https://github.com/espressif/arduino-esp32/releases
링크에 들어가면 위와 같이 나오는데 package_esp32_dev_index.json 이라는 부분의 링크를 복사해 준다. 현재 링크는 https://github.com/espressif/arduino-esp32/releases/download/1.0.0/package_esp32_dev_index.json 이다.
링크를 복사 했으면 아두이노IDE를 실행하고 파일->환경설정으로 이동한다.
환경설정 창에서 추가적인 보드 매니저 URLs 의 버튼을 클릭한다. (화살표)
URL 입력창이 뜨면 복사한 링크를 붙여넣기 하고 확인 버튼을 클릭하고 환경설정 창의 확인 버튼도 클릭한다.
아두이노IDE 메뉴, 툴->보드->보드매니저 창을 띄우면 맨 아래 부분에 위와 같이 ESP32 설치를 위한 '설치' 버튼이 있는 것을 볼 수 있다. 설치를 눌러 설치한다. 현재 버전은 1.0.0 이다.
26메가 정도의 설치파일이 다운로드 되고 설치가 진행 된다. 해외서버라 그런지 속도가 매우 느린데 참고 기다리면 설치가 된다.
설치가 완료된 후 툴->보드 메뉴에 들어가면 여러가지 ESP32 보드들이 나타나고 이 중에 자신에게 해당되는 것을 고르면 된다. 나는 ESP32 Dev Module 이라는 것을 선택해 보았다.
위와 같이 아두이노 IDE가 ESP32 개발보드를 인식해서 연결이 된다. 툴 메뉴를 들어가보면 여러가지 개발보드의 옵션들을 선택할 수 있도록 되어 있다. 자신에게 맞는 것을 선택해 주면 된다. 그리고 아두이노 개발과 마찬가지로 툴->포트 메뉴에서 PC와 연결된 COM 포트 번호를 선택해 준다.
이제 개발할 준비가 모두 끝났다. Blink 예제를 업로드해서 스케치가 잘 업로드가 되는지 테스트를 해 본다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | int LED_BUILTIN=2; // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(LED_BUILTIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } | cs |
원래 소스는 int LED_BUILTIN=2; 부분이 없어도 아두이노에서는 작동하지만 ESP32 개발보드 에서는 꼭 넣어 주어야 한다.
위와 같이 보드에 Built in 되어 있는 LED가 깜빡이면서 Blink 예제가 잘 실행되는 것을 볼 수 있다.
앞으로 시간이 될 때마다 ESP32에 대해서 더 깊이 알아볼 생각이다.
'ESP32' 카테고리의 다른 글
[ESP32] 내장된 온도센서의 사용 (2) | 2018.10.17 |
---|---|
[ESP32] NTP 서버를 통한 현재시간 구하기 (0) | 2018.10.12 |
[ESP32] 터치센서의 이용 (0) | 2018.10.11 |
[ESP32] 내장된 홀센서를 이용한 자기장 감지 (1) | 2018.10.11 |
[ESP32] ESPRESSIF ESP32 오버뷰 (ESP32 Overview) (0) | 2017.09.25 |