ESP32 아두이노 호환
ESP32는 아두이노와 다르게 이렇게 생겼다.
이전까지는 ATmega계열의 보드를 이용하여 많이들 개발했다.
불과 십여년전까지만해도 실무에서도 많이 접한 칩이라고 하면 단연 ATmega였으나,
최근 인공지능이라는 단어가 생기면서 빅데이터라는 새로운 개념이 생겨나고
빅데이터를 갖추기위해 RAW데이터를 수집할 방색을 고심한 끝에 센싱기술이 대두되고, 센싱한 데이터를 서버에 전달해주기 위한 IoT기술이 탄생하게 되었다.
위 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를 설치한다.
아두이노 홈페이지로 접속한다.
나는 윈도우이기 때문에 맨 위에 Windows installer를 다운로드 받았다.
다운로드를 누르면 위와 같이 기부페이지가 나타난다.
다운로드만 한다.
다운로드가 완료되었으면 설치를 한다.
아두이노 IDE는 이런화면이다.
ESP32를 Arduino IDE에서 인식시키기위한 환경설정에 들어간다.
환경설정에서 추가적인 보드매니저에서 다음의 URL리스트를 추가하면 된다.
확인을 누른뒤 툴 - 보드 - 보드매니저에 들어간다.
보드 매니저에서 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에서 다음단계로 이동된다.
'개발 공부 > 아두이노, 라즈베리(IoT)' 카테고리의 다른 글
ESP32 사용환경 만들기 (0) | 2023.11.23 |
---|