산업용 IoT 응용 분야에 적합한 ESP32 Wi-Fi/Bluetooth 모듈을 선택하고 사용하는 방법

작성자: Jacob Beningo

DigiKey 북미 편집자 제공

산업 자동화가 가속화되면서 작업 현장의 엔지니어는 이전 작업 현장에 남아 있는 다양한 방식으로 시스템을 IoT에 연결하고자 노력합니다. 하지만 ESP32 모듈과 키트를 사용하면 새로운 시스템과 기존 시스템 모두에서 Wi-Fi 또는 Bluetooth를 통해 IoT에 상대적으로 간단하게 무선 연결할 수 있었습니다.

Espressif Systems에서 개발하여 제작한 ESP32(Wi-Fi와 이중 모드 Bluetooth를 통합한 저비용 저전력 SoC(시스템온칩) 시리즈)는 무선 주파수(RF)와 무선 설계의 미묘한 차이에 사로잡히고 싶지 않은 자동화 엔지니어에게 획기적인 발전입니다. 이 저비용 Wi-Fi/Bluetooth 콤보 무선 통신 장치는 애호가뿐 아니라 IoT 개발자들 사이에서도 인기가 높았습니다. 낮은 에너지 소비, 다양한 오픈 소스 개발 환경, 라이브러리로 인해 모든 종류의 개발자에게 아주 잘 맞습니다.

그러나 ESP32는 다양한 모듈 및 개발 기판에 제공되므로 적절한 모듈 및 개발 기판을 선택하는 것이 어려울 수 있습니다.

이 기사에서는 ESP32 솔루션을 소개하고 개발자가 올바른 모듈 및 개발 기판을 식별하여 애플리케이션을 IoT에 연결할 수 있는 방법을 보여줍니다.

ESP32 모듈

ESP32 모듈은 다양한 주변 장치에 연결하기 위한 인터페이스를 무선 통신과 기판 실장 프로세서 모두에 제공하는 일체형 통합 인증 Wi-Fi/Bluetooth 솔루션입니다. 이 프로세서는 실제로 두 개의 처리 코어가 있으며, 80MHz ~ 240MHz 사이에서 작동 주파수를 독립적으로 제어할 수 있습니다. 프로세서의 주변 장치를 통해 다음과 같은 다양한 외부 인터페이스에 쉽게 연결할 수 있습니다.

  • SPI
  • I2C
  • UART
  • I2S
  • 이더넷
  • SD 카드
  • 정전식 터치

응용 분야의 요구 사항에 따라 개발자가 선택할 수 있는 다양한 ESP32 모듈이 있습니다. 먼저 가장 널리 사용되는 ESP32 모듈은 ESP32-WROOM-32D이며 최대 240MHz로 실행됩니다(그림 1). 모듈에는 구현을 간소화하는 PC 기판 트레이스 안테나가 포함되어 있습니다. 또한 하드웨어를 추가할 필요가 없고 IPEX 연결 안테나와 관련하여 레이아웃 복잡성이 증가하지 않습니다. 하지만 IPEX 커넥터 옵션을 선택할 경우 Inventek SystemsW24P-U와 같은 많은 유용한 안테나 옵션이 있습니다.

Espressif Systems의 ESP32-WROOM-32D 모듈 이미지그림 1: ESP32-WROOM-32D 모듈은 최대 240MHz 속도로 실행되며 8Mbytes 기판 실장 SPI 플래시를 포함합니다. (이미지 출처: Espressif Systems)

모듈에는 4Mbytes 플래시가 포함되어 있고 모듈 크기를 최소화하기 위해 38개 핀이 정사각형으로 배열되어 있습니다. 실제로 WROOM-32D는 ESP-WROOM-32U와 완벽하게 호환되는 핀입니다(그림 2). WROOM-32U는 Hirose U.FL 설계에 따라 기판 실장 PC 기판 트레이스 안테나를 IPEX 커넥터로 대체합니다. 그러면 WROOM-32U에서 기판 공간이 절감되고 개발자는 이 모듈을 통해 외부 안테나를 연결하여 제품 내에서 최적 RF 특성에 맞게 배열할 수 있습니다.

Espressif Systems의 ESP32-WROOM-32U 모듈 이미지그림 2: ESP32-WROOM-32U는 WROOM-32D와 호환되는 핀이지만 후자의 기판 실장 트레이스 안테나를 외부 안테나용 IPEX 커넥터로 대체하여 최적 RF 특성을 실현할 수 있습니다. (이미지 출처: Espressif Systems)

흥미롭게도 WROOM-32D 모듈은 다양한 플래시 메모리 크기로 제공됩니다. 모듈은 8Mbytes ESP32-WROOM-32D, 16Mbytes ESP-WROOM-32D 같은 메모리 지원 변형품이 추가로 제공됩니다.

산업 제어용 ESP32 개발 기판 선택

ESP32 모듈은 생산 환경에서 사용할 기판을 설계하거나 “대량”으로 사용할 기판에 실장하는 데 유용한 옵션입니다. 제조 현장에서 저용량 설비를 개발하려는 개발자는 ESP32 개발 기판을 사용할 수 있습니다. 이러한 기판은 매우 기본적인 “시작” 기판부터 보조 프로세서와 LCD를 포함하는 정교한 기판까지 다양합니다. 개발 간소화가 핵심 요구 사항인 산업 자동화 응용 분야에도 적합한 몇 가지 기판이 있습니다.

예를 들어 ESP32-DEVKITC-32D-F가 있습니다(그림 3). 이 기판은 설계자 또는 개발자가 시작하는 데 필요한 모든 전력 조건 및 프로그래밍 회로를 갖춘 간단한 WROOM-32D용 브레이크아웃 기판입니다. 이 기판은 기판 실장 USB 마이크로 커넥터 또는 V-IN 브레이크아웃 헤더를 통해 구동됩니다. 그런 다음 점퍼 또는 전선을 사용하여 다양한 부품을 WROOM-32D에 연결할 수 있습니다.

Espressif Systems의 ESP32-DEVKITC-32D-F 개발 기판 이미지그림 3: ESP32-DEVKITC-32D-F 개발 기판은 WROOM-32D 핀에 연결하기 위한 브레이크아웃 헤더를 포함하며 개발을 위해 USB를 통해 구동될 수 있습니다. (이미지 출처: Espressif Systems)

다른 예로는 Adafruit Industries Airlift ESP32 실드가 있습니다. 이 기판은 WROOM-32D를 포함하며 시제품 제작 공간이 추가로 있습니다(그림 4). 이 시제품 제작 공간을 사용하여 다른 실드에 대한 연결을 추가하고 맞춤형 회로망을 추가할 수 있습니다. 개발자는 이 영역을 사용하여 저전압 산업 자동화 응용 분야를 위한 입력 및 출력 회로를 구축할 수 있습니다. 또한 데이터 로깅 응용 제품을 훨씬 쉽게 개발할 수 있도록 기판 실장 SD 카드 커넥터가 있습니다.

Adafruit Airlift의 ESP32 실드 이미지그림 4: 설계자는 Adafruit Airlift ESP32 실드를 사용하여 설계 시제품을 제작하거나 산업 자동화 응용 분야에서 사용 가능한 일회용 회로를 구축할 수 있습니다. Airlift에는 전용 회로망에 사용할 수 있는 시제품 제작 공간이 포함되어 있습니다. (이미지 출처: Adafruit Industries)

일부 산업 자동화 응용 분야에서 추가 프로세서를 탑재한 개발 기판을 사용 중이며 ESP32은 응용 분야의 전체 부하를 처리하는 대신 연결을 제공합니다. 이러한 응용 분야에서 개발 기판 또는 제품은 기반 실장 확장 PMOD 커넥터를 포함할 수 있습니다.

ESP32용 PMOD 기판을 맞춤 설계하는 대신 개발자는 Digilent ESP32 PMOD 브레이크아웃 기판을 활용할 수 있습니다(그림 5).

ESP32 PMOD는 다음과 함께 PMOD 표준 커넥터를 제공합니다.

  • 전력 LED 표시등
  • 기판 실장형 사용자 버튼
  • 4핀 I/O 확장
  • 부트 구성용 점퍼

Digilent의 ESP32 PMOD 기판 이미지그림 5: Digilent ESP32 PMOD 기판은 다른 프로세서 및 개발 기판에 사용할 확장 형식을 쉽게 연결할 수 있도록 ESP32 모듈을 제공합니다. (이미지 출처: Digilent)

Espressif Systems ESP-WROVER-KIT는 설계자가 ESP32 기반 응용 제품을 개발하는 데 필요한 모든 것을 갖춘 전체 ESP32 개발 솔루션을 제공합니다(그림 6). 예를 들어 WROVER에는 FTDIFT2232HL USB-직렬 컨버터가 포함되어 있습니다. 이 컨버터를 사용하면 맞춤형 프로그래밍 도구 없이 ESP32 모듈을 쉽게 프로그래밍할 수 있습니다. 또한 이 기판에는 기판 실장형 3.2인치 LCD, microSD 커넥터, RGB LED 및 카메라 인터페이스가 포함되어 있습니다. 또한 개발 기판에는 모든 I/O가 정렬되어 있고 핀 헤더를 통해 쉽게 액세스할 수 있습니다.

Espressif의 ESP-WROVER-KIT 기판 구성도그림 6: Espressif ESP-WROVER-KIT 기판은 산업 자동화 개발자를 위해 RGB LED, microSD 슬롯, 카메라, LCD, 쉽게 액세스 가능한 I/O 확장 등에 액세스할 수 있는 ESP32 모듈을 제공합니다. (이미지 출처: Espressif Systems)

설계자는 응용 분야에 가장 적합한 모듈 및 개발 기판을 결정한 후 시간을 투자하여 요구 사항에 가장 적합한 ESP32용 개발 환경을 조사해야 합니다.

ESP32 개발 환경 선택

ESP32가 널리 사용되면서 장치를 개발하고 프로그래밍하기 위해 선택 가능한 다양한 개발 환경이 있습니다. 가장 널리 사용되는 개발 도구는 다음과 같습니다.

  • Espressif IoT Development Framework(IDF)
  • Arduino IDE
  • MicroPython

첫 번째 환경인 Espressif IDF는 숙련된 내장형 소프트웨어 개발자를 위한 개발 도구 체인입니다. 이 도구 체인에는 응용 제품, 컴파일러, 라이브러리 등을 개발하는 데 유용한 다양한 항목(예: IDE)이 포함되어 있습니다. IDF에서는 Wi-Fi용 lwIP TCP/IP 스택 및 TLS 1.2와 함께 FreeRTOS를 기본 실시간 운영 체제(RTOS)로 사용합니다.

최소한의 프로그래밍 경험만 있는 개발자의 경우 널리 사용되는 Arduino IDE를 사용하여 응용 제품을 개발한 후 ESP32에 배포할 수도 있습니다. Arduino IDE는 전문가용 개발 환경보다 약간 더 느리고 투박하지만, 많은 예제를 제공하고 ESP32를 지원하여 초보자가 훨씬 쉽게 개발할 수 있도록 해줍니다.

마지막으로, Python에서 응용 제품을 개발하려는 개발자를 위해 ESP32는 오픈 소스 MicroPython 커널에서 지원됩니다. 개발자는 MicroPython을 ESP32로 로드한 다음 응용 제품을 위한 Python 스크립트를 개발할 수 있습니다. 그러면 산업 설정에서 응용 제품을 즉시 매우 쉽게 업데이트할 수 있으므로 일반적으로 내장형 개발에 요구되는 풍부한 전문 지식이 필요하지 않습니다.

ESP32 작업을 위한 유용한 정보

ESP32를 시작하는 것은 어렵지 않습니다. 웹을 검색하면 다양한 소프트웨어 환경을 설정하는 방법이 자세히 설명되어 있습니다. 다시 말하면 많은 설명이 있지만 조금씩 다르므로 ESP32를 처음으로 사용하는 개발자는 잘 판단해야 합니다. 다음은 시작 시 몇 가지 “유용한 정보”입니다.

  • 올바른 메모리 소스(내장형 플래시, QSPI, 다운로드, 활성화/비활성화 디버그 메시지)에서 응용 제품을 로드하도록 모듈의 부트 핀(MTDI, GPIO0, GPIO2, MTDO, GPIO5)을 주의해서 식별하여 구성합니다.
  • 직렬 출력 보드 속도를 ESP32 부트 펌웨어 보드 속도와 동일하게 설정합니다. 그러면 보드 속도를 다시 구성하지 않고 ESP32 부트 메시지와 응용 제품 디버그 메시지를 모니터링할 수 있습니다.
  • 내장형 프로그래밍 경험이 없는 사용자는 응용 제품 코드를 쉽게 작성하여 Python 스크립트 언어를 배출 수 있도록 MicroPython를 ESP32에 “플래시”해야 합니다.
  • 응용 제품의 경우 인터넷에서 ESP32 예제 및 라이브러리를 검색하여 응용 제품 개발 및 통합을 가속화합니다(유용한 예제가 이미 많이 제공되어 있음).
  • 설계 시 부트 스트랩 핀을 사용하여 업데이트 모드로 부팅할 수 있는지 확인합니다. 그러면 현장에서 펌웨어를 매우 쉽게 업데이트할 수 있습니다.

개발자가 “유용한 정보”를 따르면 ESP32를 처음으로 사용할 때 많은 시간을 절약하고 문제를 방지할 수 있습니다.

결론

그림과 같이 ESP32에는 산업용 IoT 응용 제품 설계를 시작하려는 개발자가 활용할 수 있는 다양한 모듈 및 개발 기판이 있습니다. ESP32를 이러한 용도로 사용하면 RF 회로망을 이해하고 무선 수신기를 인증할 필요가 없으므로 개발을 간소화할 수 있다는 이점이 있습니다. 또한 ESP32는 모듈 제조업체와 전문가 및 애호가층에서 널리 지원됩니다. 내장형 소프트웨어에 익숙하지 않은 개발자는 Arduino IDE를 쉽게 사용하거나 MicroPython을 사용하여 무선 응용 제품을 프로그래밍할 수 있습니다.

종합해볼 때 ESP32는 산업용 장비를 빠르고 효과적으로 연결할 수 있는 탁월한 옵션입니다.

DigiKey logo

면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.

작성자 정보

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo는 임베디드 소프트웨어 컨설턴트로서 현재 십여 개국 이상의 국가에 있는 고객들과 협력하여 제품 품질, 비용, 출시 기간을 향상시켜 고객의 비즈니스를 극적으로 변화시키고 있습니다. 그는 인기 있는 강연자이자 기술 교육자이며 임베디드 소프트웨어 개발 기술에 대해 200개 이상의 기사를 발표했습니다. 그는 미시간 대학교 공학 석사 학위를 비롯하여 세 개의 학위를 소지하고 있습니다. 월간 Embedded Bytes 뉴스레터를 수신하려면 jacob@beningo.com 및 Jacob Beningo의 웹 사이트인 www.beningo.com으로 언제든지 문의해 주세요.

게시자 정보

DigiKey 북미 편집자