번개애비의 라이프스톼일
ESP32 Arduino IDE설치 및 예제 실행 본문
이 문서는 하드웨어 입문자들을 위한 자료임.
(미리 고수님들은 잘못 찾아오셨습니다.)
ESP32는 요롷게 생김.
이전까지는 ATmega계열의 보드를 이용하여 많이들 개발하였음.
불과 십여년전까지만해도 실무에서도 많이 접한 칩이라고 하면 단연 ATmega였으나,
최근 인공지능이라는 단어가 생기면서 빅데이터라는 새로운(?)개념이 생겨나고
빅데이터를 갖추기위해 RAW데이터를 수집할 방색을 고심한 끝에 센싱기술이 대두되고, 센싱한 데이터를 서버에 전달해주기 위한 IoT기술이 탄생하게 되었다.
(단 세줄로 최근 IT트렌트를 요약함.)
위 ESP32는 ATmega보다 겁나빠르고 Wifi와 BLE가 칩하나에 녹아있는 요즘 말하는 IoT장비의 필수템이다.
(물론 다른 좋은칩도 있지만 Arduino IDE를 쉽게 사용할 수 있음으로 입문용으로 딱)
참고로 맨 위의 이미지는 ESP32의 손쉬운 개발을 위한 업로더가 내장된 ESP32 개발보드이고
위 이미지는 ESP32의 본래(?)모습이다.
엄지손톱만한 사이즈로 연산처리와 통신을 모두 커버가 가능할 뿐더러 저전력이다.
ESP32보드를 PC에 USB로 연결하면 장치관리자에 아래와 같이 알 수 없는 USB장치라는 오류가 발생한다.
이는 ESP32보드내에 CP2102라는 시리얼 칩이 있는데 해당 칩의 드라이버가 설치되지 않아서 발생되는 오류임.
CP2102칩은 ESP32보드에 프로그램을 업로드할 수 있도록 하는 시리얼통신 칩이다.
아래 첨부파일을 다운로드 받아 CP2102칩 드라이버를 설치해준다.
드라이버 파일의 압축을 풀면 여러OS형태의 드라이버가 존재하며
필자는 Win10 64비트 드라이버를 설치해줬음.
참고로 x86은 32비트, x64는 64비트를 말한다.
비트는 내컴퓨터 - 오른쪽마우스클릭 - 속성에서 확인할 수 있음.
(꿀팁은 아니고 상식임)
자, 이제 조잡한 프로그래밍을 위한 Arduino IDE를 설치시작함
아두이노 홈페이지로 접속 ㄱㄱ
https://www.arduino.cc/en/Main/Software
나는 윈도우이기 때문에 맨 위에 Windows installer를 다운로드 받았다.
다운로드를 누르면 위와 같이 기부페이지가 나타난다.
난 돈이 옵으므로 오직 다운로드만 한다.
다운로드가 완료되었으면 설치를 한다.
(설치하는 방법은 굳이 설명하지 않고 ㄱㄱ)
아두이노 IDE는 이런화면이다.
앞으로 이 화면과 친해져야 한다.
ESP32를 Arduino IDE에서 인식시키기위한 환경설정에 들어갑니다.
환경설정에서 추가적인 보드매니저에서 다음의 URL리스트를 추가하면 됩니다.
https://dl.espressif.com/dl/package_esp32_index.json,http://arduino.esp8266.com/stable/package_esp8266com_index.json,http://downloads.arduino.cc/packages/package_arduino.cc_linux_index.json
확인을 누른뒤 툴 - 보드 - 보드매니저에 들어갑니다.
보드 매니저에서 esp32 라고 검색을 하면 위와 같이 설치를 확인할 수 있습니다.
설치를 하면 됩니다.
설치시 다운로드하는 시간이 걸리니 많이 기다려야 합니다.
설치가 끝났으면 위와 같이 보드를 ESP32 Dev Module로 설정해줍니다.
참고로 제가 사용하고 있는 모듈은 ESP32-WROOM-32라는 모듈입니다.
(ESP32는 종류가 정말 다양하기 때문에 사용하는 모듈을 꼭 확인해야 함.)
포트가 설정되지 않았다면, 반드시 포트에서 시리얼포트를 선택해줘야 합니다.
저는 COM6로 되었지만 다른 포트가 떠도 해당 포트를 선택해주면 무관함.
보드와 포트선택이 끝나면 LED가 깜빡이는 예제를 해봅시다.
참고로 ESP32 개발보드에는 기본적으로 제어가 가능한 하나의 LED가 내장되어 있습니다.
GPIO포트를 통해 별도의 LED를 추가하여 제어할 수 있지만
오늘은 귀찮기 때문에 보드에 내장된 LED로 제어하겠습니다.
#define LED 2
void setup() {
// Set pin mode
pinMode(LED,OUTPUT);
}
void loop() {
delay(500);
digitalWrite(LED,HIGH);
delay(500);
digitalWrite(LED,LOW);
}
참고로 ESP32 개발보드에 내장된 LED의 핀은 2번핀입니다.
위 소스를 보면 알겠지만, 0.5초마다 LED가 on/off 됩니다.
Arduino 프로그램은 대부분 위와 같이 Setup과 Loop로 구성되었습니다.
자 소스를 적용한 뒤 화살표 버튼을 누르면 업로드가 시작됩니다.
여기서 주의해야 할점은 Connecting... 이라는 문구가 나타나면
ESP32 개발보드에서 IO0을 Pullup을 해줘야 정상적으로 업로드가 됩니다.
개발보드에서 IO0버튼을 꾹 눌러주면 Connecting에서 다음단계로 이동됩니다.
실행화면은 아래 영상처럼 됩니다.
'IT' 카테고리의 다른 글
Centos 8에 Apache, php, MariaDB 설치하기 (0) | 2020.01.20 |
---|---|
ESP32로 온/습도 센싱하기 (DHT11) (3) | 2020.01.17 |
ASUS공유기 개조(RT-AC68U, TM-AC1900) + 70mm 쿨러 그릴만들기(3D프린팅) (0) | 2019.11.02 |
커넥팅 USB-C to HDMI 젠더 구매후기 및 키홀더 자작 (0) | 2019.10.31 |
2.5인치 15.5mm 두께의 외장하드디스크 만들기 (3D 모델링 공유) (0) | 2019.09.17 |