ESP32 시리얼 모니터

이 튜토리얼은 Arduino IDE에서 ESP32를 사용하여 시리얼 모니터를 사용하는 방법을 안내합니다.

준비물

1×38-pin ESP32 ESP-WROOM-32 Dev Module - Narrow 쿠팡 | 아마존
1×(또는) 38-pin ESP32 ESP-WROOM-32 Dev Module - Wide 쿠팡 | 아마존
1×(또는) 30-pin ESP32 ESP-WROOM-32 Dev Module - Wide 아마존
1×(또는) ESP32 Uno-form board 아마존
1×(또는) ESP32 S3 Uno-form board 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×(옵션) DC 커넥터 전원 연결 잭 플러그 소켓 쿠팡 | 아마존
1×브레드보드 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×(추천) ESP32용 스크루 터미널 확장 보드 쿠팡 | 아마존
1×(추천) Breakout Expansion Board for ESP32 쿠팡 | 아마존
1×(추천) ESP32용 전원 분배기 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

시리얼 모니터에 대하여

ESP32 프로그래밍을 할 때, ESP32 코드가 어떻게 실행되는지 알아야 할 필요가 있습니다 ⇒ Arduino IDE에서 시리얼 모니터 도구를 사용하세요. 이것은 두 가지 목적을 위해 설계되었습니다:

  • ESP32 → PC: ESP32에 있는 코드가 시리얼을 통해 데이터를 보냅니다. PC의 시리얼 모니터가 데이터를 받아서 표시합니다. 이는 디버깅과 모니터링에 매우 유용합니다.
  • PC → ESP32: PC에서 일부 데이터를 입력하고 ESP32로 보냅니다. 이는 PC에서 ESP32로 명령을 보내는 데 유용합니다.

PC와 ESP32 사이에는 마이크로 USB 케이블이 필요합니다. 이 케이블은 ESP32에 코드를 업로드하는 데에도 사용됩니다.

시리얼 모니터 사용 방법

시리얼 모니터 열기

아래 이미지처럼 Arduino IDE에서 아이콘을 클릭하기만 하면 됩니다:

how to open serial monitor on 아두이노 ide

시리얼 모니터의 구성 요소

시리얼 모니터는 8개의 구성 요소로 구성되어 있습니다.

  1. 출력 콘솔: 이 구성 요소는 ESP32에서 받은 데이터를 표시합니다.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
Ln 11, Col 1
ESP32 Dev Module on COM15
2
  1. 자동 스크롤 체크박스: 이 구성 요소는 출력 콘솔에서 자동 스크롤을 활성화/비활성화할 수 있는 옵션을 제공합니다.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
Ln 11, Col 1
ESP32 Dev Module on COM15
2

i. 타임스탬프 체크박스 표시: 이 구성 요소는 데이터 앞에 타임스탬프를 추가할 수 있는 옵션을 제공합니다.

Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
Ln 11, Col 1
ESP32 Dev Module on COM15
2

i. 출력 지우기 버튼: 이 버튼을 클릭하면 출력 콘솔의 텍스트가 지워집니다.

Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
Ln 11, Col 1
ESP32 Dev Module on COM15
2
  1. 보드 레이트 선택: 이 구성요소는 PC와 ESP32 간의 통신 속도(보드 레이트)를 선택할 수 있는 옵션을 제공합니다. 이 값은 ESP32 코드(Serial.begin() 함수 내)에서 사용된 값과 동일해야 합니다.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
Ln 11, Col 1
ESP32 Dev Module on COM15
2

*텍스트 상자: 이 구성 요소를 사용하면 보내기 버튼을 클릭할 때 ESP32 보드로 전송될 문자를 입력할 수 있습니다.

Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
Ln 11, Col 1
ESP32 Dev Module on COM15
2
  1. 종료 문자 선택: 이 구성 요소는 ESP32로 전송된 데이터에 추가되는 종료 문자를 선택하는 옵션을 제공합니다. 사용 가능한 옵션은 다음과 같습니다:
    • 줄 바꿈 없음: 아무것도 추가하지 않음
    • 줄 바꿈: 줄 바꿈(LF, 또는 '\n') 문자 추가
    • 캐리지 리턴: 캐리지 리턴(CR, 또는 '\r') 문자 추가
    • NL과 CR 모두: 줄 바꿈과 캐리지 리턴 문자 모두 추가
    Newbiely | Arduino IDE 2.3.8
    ──
    File
    Edit
    Sketch
    Tools
    Help
    ESP32 Dev Module
    Newbiely.ino
    ···
    8 Serial.println("Hello World!");
    Output
    Serial Monitor
    Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
    New Line
    9600 baud
    Ln 11, Col 1
    ESP32 Dev Module on COM15
    2
    1. 전송 버튼: 이 버튼을 클릭하면, 시리얼 모니터는 텍스트박스에 있는 데이터와 종료 문자를 ESP32로 전송합니다.
    Newbiely | Arduino IDE 2.3.8
    ──
    File
    Edit
    Sketch
    Tools
    Help
    ESP32 Dev Module
    Newbiely.ino
    ···
    8 Serial.println("Hello World!");
    Output
    Serial Monitor
    Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
    New Line
    9600 baud
    Ln 11, Col 1
    ESP32 Dev Module on COM15
    2

ESP32에서 PC로

ESP32 보드에서 PC로 데이터를 보내는 방법:

Serial.begin() 함수를 사용하여 보드레이트를 설정하고 시리얼 포트를 초기화하세요.

Serial.begin(baudrate);

아래 함수 중 하나를 사용하여 시리얼 모니터로 데이터를 보내세요:

예를 들어, “Hello World!”를 시리얼 모니터로 보내세요

Serial.println("Hello World!"); // "Hello World!" 출력

예시 사용

아래 예제 코드는 ESP32에서 “newbiely.kr”를 매초마다 시리얼 모니터로 전송합니다.

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-serial-monitor */ void setup() { Serial.begin(9600); } void loop() { Serial.println("newbiely.kr"); delay(1000); }

사용 방법

  • ESP32를 처음 사용하는 경우, Arduino IDE에서 ESP32 환경 설정하는 방법을 보려면 ESP32 - 소프트웨어 설치.
  • 위의 코드를 복사하여 Arduino IDE에 붙여넣으세요.
  • Arduino IDE에서 Upload 버튼을 클릭하여 ESP32 보드에 코드를 컴파일하고 업로드하세요.
  • Arduino IDE에서 시리얼 모니터를 엽니다.
  • 보레이트 9600을 선택하세요.
  • 시리얼 모니터에서 출력을 확인하세요.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
newbiely.kr newbiely.kr newbiely.kr newbiely.kr
Ln 11, Col 1
ESP32 Dev Module on COM15
2

Serial.println() 함수를 Serial.print() 함수로 변경해 보세요.

PC에서 ESP32로

PC에서 ESP32로 데이터를 전송하는 방법

PC에서:

  • 시리얼 모니터에 텍스트 입력
  • SEND 버튼 클릭.

그리고 나서 ESP32 코드를 작성하여 데이터를 읽고 처리합니다:

보레이트 설정 및 시리얼 포트 시작

Serial.begin(baudrate);

들어오는 데이터가 있는지 확인하세요.

if(Serial.available()) { // 할 일 }

아래 기능 중 하나를 사용하여 시리얼 포트에서 데이터 읽기:

예를 들어:

String data = Serial.readStringUntil("\r\n");

예시 사용

아래의 ESP32 예제 코드는 시리얼에서 명령어를 읽어 내장 LED를 켜고 끕니다.

  • 수신된 텍스트(명령어)가 "ON"이면, LED를 켜세요.
  • 수신된 텍스트(명령어)가 "OFF"이면, LED를 끄세요.

ESP32가 명령어를 어떻게 인식할 수 있나요? 예를 들어, "OFF" 문자를 보낼 때, ESP32는 명령어가 "O", "OF" 또는 "OFF"인지 어떻게 구별할 수 있나요?

우리는 명령과 함께 종결자를 보내야 합니다. ⇒ 새 줄 문자('\n')를 추가할 수 있습니다. 새 줄 문자를 추가하려면, 데이터를 보내기 전에 시리얼 모니터에서 "newline" 옵션을 선택하세요. ESP32는 새 줄 문자가 나타날 때까지 데이터를 읽습니다. 이 경우, 새 줄 문자를 종결자 또는 구분자라고 합니다.

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-serial-monitor */ void setup() { Serial.begin(9600); pinMode(LED_BUILTIN, OUTPUT); // 디지털 핀을 출력으로 설정: } void loop() { if (Serial.available()) { // 데이터가 오면 String command = Serial.readStringUntil('\n'); // 개행 문자까지 문자열 읽기 if (command == "ON") { digitalWrite(LED_BUILTIN, HIGH); // LED 켜기 Serial.println("Turn LED ON"); } else if (command == "OFF") { digitalWrite(LED_BUILTIN, LOW); // LED 끄기 Serial.println("Turn LED OFF"); } } }

사용 방법

  • ESP32를 처음 사용하는 경우, ESP32 - 소프트웨어 설치을 참조하세요.
  • 위의 코드를 복사하여 Arduino IDE에 붙여넣으세요.
  • Arduino IDE에서 Upload 버튼을 클릭하여 ESP32 보드에 코드를 컴파일하고 업로드하세요.
  • Arduino IDE에서 시리얼 모니터를 엽니다.
  • 보율 9600과 뉴라인 옵션을 선택하세요.
  • “ON” 또는 “OFF”를 입력하고 전송 버튼을 클릭하세요.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
Ln 11, Col 1
ESP32 Dev Module on COM15
2
  • ESP32 보드의 내장 LED 상태를 확인하세요. 우리는 LED 상태가 각각 켜짐 또는 꺼짐인지 볼 것입니다.
  • 시리얼 모니터에서도 LED 상태를 볼 수 있습니다.
Newbiely | Arduino IDE 2.3.8
──
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
Turn LED ON
Ln 11, Col 1
ESP32 Dev Module on COM15
2

여러 번 “ON” 또는 “OFF” 명령을 입력하세요.

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, YouTube 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.