1. ESP32
작년에 아두이노에서 UNO R4를 내놓으면서 이제 Wifi와 블루투스를 추가 모듈 없이 바로 사용할 수 있게 되었다. 하지만 중국산 저가 복재품이 아직 없어, 널리 보급되고 있지 않아 현재까지도 아두이노를 시작할 때에는 UNO R3를 여전히 많이 사용되고 있다. 이 아두이노 UNO R3에 Wifi를 연결하기 위해 가장 많이 선택하는 것이 Espressif사의 저렴한 ESP01 (ESP8266) 모듈이다.
일반적으로 판매되고 있는 ESP01 모듈은 8개의 핀을 점퍼선을 사용해서 연결해야 하기 때문에 위의 그림처럼 전용 Adapter와 함께 많이 사용하고 있는데, 아두이노의 Wifi 쉴드보다는 불편하지만 4개의 선을 브레드보드에 바로 연결할 수 있고, 가격 또한 저렴하기 때문에 같이 사용하는 경우가 많다.
재미있는 것은 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)
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 하고 실행해 봤다.
문제없이 잘 접속이 되는 것을 확인할 수 있었다.
'IoT 자동화' 카테고리의 다른 글
ESP 01 와이파이 펌웨어 업그레이드 (꼭 해야 한다면 성공 방법으로) (0) | 2023.04.30 |
---|---|
아두이노로 만드는 수경재배 장치; 8. 와이파이 연결 (ESP 01) - 2 (2) | 2023.03.26 |
아두이노로 만드는 수경재배 장치; 8. 와이파이 연결 (ESP 01) - 1 (2) | 2023.03.26 |
아두이노와 순수 릴레이를 사용한 시간 지연 릴레이 (자동 스위치) (1) | 2023.03.23 |
아두이노로 만드는 수경재배 장치; 7. 시간 지연 릴레이 (자동 스위치) (2) | 2023.03.21 |