ESP32 - 시리얼 모니터 | ESP32 - Serial Monitor

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

준비물

1×ESP-WROOM-32 Dev Module 쿠팡 | Amazon
1×USB Cable Type-C 쿠팡 | Amazon
1×(Optional) DC Power Jack 쿠팡 | Amazon
1×Breadboard 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Recommended) ESP32 Screw Terminal Adapter 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

시리얼 모니터에 대하여

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 Arduino IDE

시리얼 모니터의 구성 요소

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

  1. 출력 콘솔: 이 구성 요소는 ESP32에서 받은 데이터를 표시합니다.
COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  1. 자동 스크롤 체크박스: 이 구성 요소는 출력 콘솔에서 자동 스크롤을 활성화/비활성화할 수 있는 옵션을 제공합니다.
COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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

COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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

COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  1. 보드 레이트 선택: 이 구성요소는 PC와 ESP32 간의 통신 속도(보드 레이트)를 선택할 수 있는 옵션을 제공합니다. 이 값은 ESP32 코드(Serial.begin() 함수 내)에서 사용된 값과 동일해야 합니다.
COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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

COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  1. 종료 문자 선택: 이 구성 요소는 ESP32로 전송된 데이터에 추가되는 종료 문자를 선택하는 옵션을 제공합니다. 사용 가능한 옵션은 다음과 같습니다:
    • 줄 바꿈 없음: 아무것도 추가하지 않음
    • 줄 바꿈: 줄 바꿈(LF, 또는 '\n') 문자 추가
    • 캐리지 리턴: 캐리지 리턴(CR, 또는 '\r') 문자 추가
    • NL과 CR 모두: 줄 바꿈과 캐리지 리턴 문자 모두 추가
    COM6
    Send
    Autoscroll Show timestamp
    Clear output
    9600 baud  
    Newline  
    1. 전송 버튼: 이 버튼을 클릭하면, 시리얼 모니터는 텍스트박스에 있는 데이터와 종료 문자를 ESP32로 전송합니다.
    COM6
    Send
    Autoscroll Show timestamp
    Clear output
    9600 baud  
    Newline  

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 환경 설정하는 방법을 보려면 여기를 클릭하세요.
  • 위의 코드를 복사하여 Arduino IDE에 붙여넣으세요.
  • Arduino IDE에서 Upload 버튼을 클릭하여 ESP32 보드에 코드를 컴파일하고 업로드하세요.
  • Arduino IDE에서 시리얼 모니터를 엽니다.
  • 보레이트 9600을 선택하세요.
  • 시리얼 모니터에서 출력을 확인하세요.
COM6
Send
newbiely.kr newbiely.kr newbiely.kr newbiely.kr
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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를 처음 사용하는 경우, Arduino IDE에서 ESP32 환경 설정하는 방법을 참조하세요.
  • 위의 코드를 복사하여 Arduino IDE에 붙여넣으세요.
  • Arduino IDE에서 Upload 버튼을 클릭하여 ESP32 보드에 코드를 컴파일하고 업로드하세요.
  • Arduino IDE에서 시리얼 모니터를 엽니다.
  • 보율 9600과 뉴라인 옵션을 선택하세요.
  • “ON” 또는 “OFF”를 입력하고 전송 버튼을 클릭하세요.
COM6
Send
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  
  • ESP32 보드의 내장 LED 상태를 확인하세요. 우리는 LED 상태가 각각 켜짐 또는 꺼짐인지 볼 것입니다.
  • 시리얼 모니터에서도 LED 상태를 볼 수 있습니다.
COM6
Send
Turn LED ON
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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

동영상

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

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!