블로그의 사물인터넷(IoT) 카테고리에 관심을 끊은지 꽤 오래 되었다. 이젠 열정이 사라진 탓일까? 호기심이 무뎌진 탓일까? 방금 전 인터넷을 돌아다니다가 우연히 예전에 가끔 들리던 ESP8266 칩으로 유명한 ESPRESSIF 의 홈페이지를 들어가 보았다. 그런데 새로운 칩이 나왔다. 아니 나온지 꽤 되었다. 네이버에 검색해보니 이미 열정적인 블로거들의 ESP32에 관한 글들이 꽤 있다. ESP8266 보다 성능이 많이 향상이 되었다. 다시 호기심을 자극한다. 알리익스프레스에서 개발보드를 주문 했다. 도착하기전에 ESP32에 대해서 한 번 훑어 보려고 한다.
ESPRESSIF ESP32 칩 - 출처: http://espressif.com
ESP32 특장점
- 2.4 GHz Wi-Fi and Bluetooth combo chip : 가장 큰 특징이다. 와이파이와 블루투스 연결을 동시에 지원한다. 즉, IoT 이용 시 블루투스 모듈과 와이파이 모듈을 따로 연동할 필요가 없다.
- TSMC low power 40nm technology : 40nm 공정으로 만들어졌다.
- Best power performance and RF performance : 매우 적은 전력소비
- Robustness, versatility and reliability : 내구도, 신뢰도가 높다. -40°C to +125°C 에서도 구동이 된다.
ESP32 상세스펙
주요 사항을 정리해 보면 듀얼코어 마이크로컨트롤러, 와이파이/블루투스 동시 지원, 16MB의 프로그래밍 공간(플래시 메모리 공간, 물론 펌웨어 공간은 제외), 넓은 작동온도 -40~125도, 오디오 앰프 내장, SD카드 지원, 홀 센서(자기센서), 터치센서, 온도센서 내장, 34개의 다양한 GPIO, 다양한 통신 보안 프로토콜 지원, Deep Sleep 시 5마이크로 암페어 수준의 극히 적은 소비전력 등이 있다. ESP8266과는 비교도 안되는 많은 기능을 가지고 있다. 살펴보니 뭐니 뭐니해도 와이파이와 블루투스를 동시지원하는 것과 넓은 프로그래밍 공간, 낮은 전력소비가 제일 큰 장점 같다. 게다가 작동온도 범위도 매우 넓으므로 극한의 환경에서도 사용이 가능하다.
Key Features |
240 MHz dual core Tensilica LX6 microcontroller with 600 DMIPS Integrated 520 KB SRAM Integrated 802.11 b/g/n HT40 Wi-Fi transceiver, baseband, stack and LwIP Integrated dual mode Bluetooth (classic and BLE) 16 MB flash, memory-mapped to the CPU code space 2.3V to 3.6V operating voltage -40°C to +125°C operating temperature On-board PCB antenna / IPEX connector for external antenna |
Sensors |
Ultra-low noise analog amplifier Hall sensor 10x capacitive touch interfaces 32 kHz crystal oscillator |
34 x GPIO |
3 x UARTs, including hardware flow control 3 x SPI 2 x I2S 18 x ADC input channels 2 x DAC 2 x I2C PWM/timer input/output available on every GPIO pin OpenOCD debug interface with 32 kB TRAX buffer SDIO master/slave 50 MHz Supports external SPI flash up to 16 MB SD-card interface support |
Security Related |
WEP, WPA/WPA2 PSK/Enterprise Hardware accelerated encryption: AES/SHA2/Elliptical Curve Cryptography/RSA-4096 |
Performance |
Supports sniffer, Station, SoftAP and Wi-Fi direct mode Max data rate of 150 Mbps@11n HT40, 72 Mbps@11n HT20, 54 Mbps@11g, and 11 Mbps@11b Maximum transmit power of 19.5 dBm@11b, 16.5 dBm@11g, 15.5 dBm@11n Minimum receiver sensitivity of -97 dBm 135 Mbps UDP sustained throughput 5 μA power consumption in Deep-sleep |
ESP32 관련 자료들
ESP32 Function Block Diagram
ESP32 Pin Layout (for QFN 6*6)
ESP32 Pin Layout (for QFN 5*5)
1. SDK 와 Demo :
https://github.com/espressif/esp-idf/releases/
2. ESP32 데이터시트 :
3. ESP32 하드웨어 설계 가이드 :
esp32_hardware_design_guidelines_en.pdf
4. ESP32 테크니컬 레퍼런스 매뉴얼 :
esp32_technical_reference_manual_en.pdf
5. Getting Started 자료 (AT 커맨드) :
esp32_at_instruction_set_and_examples_en.pdf
6. Getting Started 자료 (ESP-IDF) : IDF 는 IoT Development Framework 의 약자임
http://esp-idf.readthedocs.io/en/latest/get-started/index.html
7. 프로그래밍 소스 암호화 가이드 (플래시 내부 암호화)
http://esp-idf.readthedocs.io/en/latest/security/flash-encryption.html
8. JTAG 디버깅 가이드
http://esp-idf.readthedocs.io/en/latest/api-guides/jtag-debugging/index.html
9. Simple-Pair 가이드
10. 블루투스 네트워킹 가이드
esp32_bluetooth_networking_user_guide_en.pdf
11. 플래시 다운로드 툴 (ESP8266 에서도 사용가능) :
flash_download_tools_v3.6.1.0.zip
12. ESP32 Certification and Test
esp32_certification_and_test_en_20170705.zip
13. ESP32-WROVER AT Bin V0.10 & ESP-WROOM-32 AT Bin V0.10
14. ESP32 Forum
15. Third-Party Platforms
알리익스프레스를 들어가보니 이미 많은 제품들이 판매 중이다. 더 많은 종류가 있지만 쓸만해 보이는 것들을 추려 보았다.
칩에 안테나가 포함된 제품이다. 단자는 직접 납땜해서 사용한다. 4달러 정도이다. 이런건 편하게 연습할 수 있는 개발보드로 좀 학습한 다음에 사용하면 좋다.
위와 같은 보드는 아래와 같은 보드에 다시 납땜하면 핀 보드로 만들 수 있다. 가격은 2.6달러
개발보드이다. USB 단자가 있어서 PC와 연결해서 편하게 프로그래밍 작업을 할 수 있다. 7.5달러
이건 소형 OLED 가 탑재된 개발보드 이다. 간단한 디스플레이가 필요하다면 이것도 좋을 듯. 물론 USB 단자도 바닥면에 있다. 8.5달러
이 보드는 개발을 위한 USB 단자도 있고 리튬이온 전지(3.7V)를 외부전원으로 사용할 수 있는 전원입력 단자가 달린 제품이다. 외부전원 연결 시 유용할 듯. 6.3달러
ESP32 를 아두이노 처럼 사용할 수 있도록 만든 보드이다. 설명으로는 아두이노와 호환이 된다고 한다. 아두이노 IDE 를 그대로 사용할 수 있을듯? 8.8달러
ESP32를 간략하게 살펴보니 ESP8266 처럼 저렴하게 IoT 등의 프로젝트에 충분히 활용이 가능할 것 같다. 이제 주문한 제품이 도착하면 시간이 날 때 마다 리뷰 연재를 해 볼 생각이다.
'ESP32' 카테고리의 다른 글
[ESP32] 내장된 온도센서의 사용 (2) | 2018.10.17 |
---|---|
[ESP32] NTP 서버를 통한 현재시간 구하기 (0) | 2018.10.12 |
[ESP32] 터치센서의 이용 (0) | 2018.10.11 |
[ESP32] 내장된 홀센서를 이용한 자기장 감지 (1) | 2018.10.11 |
[ESP32] 아두이노 IDE 에서 개발환경 만들기 (0) | 2018.09.05 |