ESP32 5

ESP-WROOM-32 보드 사용하기 5편(LCD 터치)

안녕하세요. 이전 4편에서 LCD에 화면 출력을 했었는데 이번에는 터치기능을 추가해보겠습니다.ESP32-2432S028보드에는 터치센서가 달려있습니다. (XPT2046)먼저, XPT2046 터치센서의 원리를 간단히 알아보겠습니다. 터치센서는 저항식 터치센서(Resistive Touch Sensor)와 정전식 터치 센서(Capacitive Touch Sensor) 일반적으로 두가지 유형이 있습니다. 저항식 터치센서는 터치를하면 저항값이 변하는걸 인식하는거고, 정전식 터치센서는 정전 용량의 변화를 통해 터치위치를 계산합니다. XPT2046은 저항식 터치센서입니다.  아래의 회로도에서 XP,YP,XN,YN핀은 터치패널모듈에 연결됩니다. ESP32 제품에보면 TPM408-2.8이라고 적혀있는게 있는데 이게 터치..

ESP-WROOM-32 보드 사용하기 4편(LCD 출력)

안녕하세요. 오늘은 esp32에 LCD(ili9341)를 연결해서 사용해보겠습니다.LVGL(Light and Versatile Graphics Library)라이브러리를 이용하겠습니다. LVGL이란 임베디드 시스템 및 소형 디스플레이에서 GUI을 개발할때 사용되는 그래픽 라이브러리입니다. 해당 글에서는 ESP32-WROOM-32보드와 ili9341(2.8 인치 LCD TFT)모듈이 합쳐진 보드를 사용하겠습니다. (ESP32-2432S028)ESP32-2432S028 보드에대해 먼저 알아보겠습니다.*제조사사이트 : http://www.jczn1688.com/해당보드에는 ESP32와 LCD, 터치센서, usb to uart, cds, led등이 연결되어있습니다. USB C or USB Mini에 UART가 ..

ESP-WROOM-32 보드 사용하기 3편(MQTT)

안녕하세요. 오늘은 MQTT에 대해 알아보겠습니다.MQTT(Message Queuing Telemetry Transport)는 IoT(Internet Of Things)에서 주로 사용하는 프로토콜입니다. MQTT구조MQTT는 브로커(Broker)를 통해서 클라이언트(Client)끼리 통신을 하는 구조입니다.브로커가 서버역할이라고 보면됩니다.1. A클라이언트가 브로커에게 발행(Publish)합니다. (발행: 브로커에게 데이터전송)2. B클라이언트가 브로커에게 구독(Subscribe)합니다. (구독: 브로커에게 데이터를 받기위한 행동)3. 브로커는 발행과 구독내용을 보고 일치하면 데이터를 보내줍니다. 발행과 구독을 할때는 토픽(Topic)과 페이로드(Payload)를 사용합니다. 토픽은 메세지의 ID이고 페..

ESP-WROOM-32 보드 사용하기 2편(WIFI)

안녕하세요. 오늘은 ESP32보드로 WIFI기능을 사용해보겠습니다. 먼저 WIFI기능을 사용하기전에 알아야 할 개념과 WIFI를 이용해서 WEB으로 통신을 할것이므로 HTTP에 대해서도 알아보겠습니다.1. ESP32 WIFI mode에는 3가지가 있습니다1) AP(Access Point) MODE : 다른 디바이스들이 연결가능한 모드입니다. (공유기와 유사합니다) 예를들어 WIFI가 없는 곳에서 ESP32를 AP모드로 만들고 핸드폰에서 ESP32와 연결한다음 ESP32로부터 데이터를 받을 수 있습니다. 2) STA(station) MODE : 공유기에 접속할수있는 모드입니다. 3) STA+AP MODE : AP모드와 STA모드 모두를 사용할 수 있는 모드입니다. 예를들어 초기에 STA모드로 설정하여 WI..

ESP-WROOM-32 보드 사용하기 1편(개발환경)

안녕하세요. 오늘은 ESP-WROOM-32보드의 개발환경을 구축해보겠습니다.해당보드는 espressif사의 제품이고 기본적인 통신(UART,SPI,I2C..)외에 무선통신(WIFI, BLUETOOTH, BLE)를 지원합니다. 개발환경은 아두이노로 구성하겠습니다.*보드 특징플레시메모리가 448kB이고 UART가 3개나 있습니다. 보드에 CP2102가 있어서 1개는 CP2102에 연결되어있습니다. 그래서 USB로 UART통신이 가능하고 펌웨어다운로드도 별도의 장비가 필요없습니다.*개발환경구축하기 (아두이노 2.2.1 기준)1) Arduino IDE를 다운받습니다 (https://www.arduino.cc/en/software)2) File -> Preferences를 클릭합니다3) Additional boa..