본문 바로가기
IOT 제작하기

ESP32로 iot 만들기(2주차 - 시리얼 모니터 다루기)

by Norwegian Wood 2023. 10. 1.

ESP32로 IOT 만들기 2주차에 진행할 사항은 시리얼 모니터 다루기이다.

 

시리얼 모니터란?

- 아두이노와 컴퓨터간에 메세지를 주고받는 장치이다. 아두이노와 컴퓨터가 어떤 값을 주고 받는지 확인할 수 있는 가장 간단한 방법이다.

 

- Serial Monitor 구성 요소

  • 출력 콘솔
  • 자동 스크롤 확인란
  • 타임스탬프 확인란 표시
  • 출력 지우기 버튼
  • 전송 속도 설정
  • 텍스트 상자 - 보내기 버튼을 클릭하면 ESP32보드로 보낼 문자를 입력 가능
  • 종료 선택
  • 보내기 버튼

등이 존재한다.

ESP32 TO PC

  • Serial.begin(전송속도); - 전송 속도를 설정 후 직렬 포트를 초기화
  • Serial.print() or Serial.printIn(), Serial.write() - 직렬 모니터로 데이터 전송

가장 대표적인 Hello World!를 출력해보자

 

주의 사항)

  1. Serial.begin(9600); 에서 9600bit의 속도로 통신을 하게 된다
  2. 송신부와 수신부의 bit값이 같아야 통수신이 가능하다.
  3. 보통 9600bit를 사용함
void setup() 
{ Serial.begin(9600); } 
void loop() 
{ Serial.println("Hello World!"); delay(1000); }

PC TO ESP32

  • Serial.begin(전송속도); - 전송 속도를 설정 후 직렬 포트를 초기화
  • if(Serial.available( )) { } - 들어오는 데이터가 사용 가능한지 확인
  • 데이터 읽는 함수
    • Serial.read()
    • Serial.readBytes()
    • Serial.readBytesUntil()
    • Serial.readString()
    • Serial.readStringUntil()

이제 Serial에서 명령을 읽어 내장 LED를 끄거나 키게 만들자

 

주의사항)

  1. 수신된 문자가 “ON”이면 LED를 킴
  2. 수신된 문자가 “OFF”면 LED를 끔
void setup() {
  Serial.begin(9600);
  pinMode(LED_BUILTIN, OUTPUT); // 디지털 핀을 output으로 정의
}

void loop() {
  if (Serial.available()) { // 데이터가 들어올 때
    String command = Serial.readStringUntil('\n'); // 줄바꿈 문자까지 문자열 읽기

    if (command == "ON") {
      digitalWrite(LED_BUILTIN, HIGH); // turn on LED
      Serial.println("Turn LED ON");
    } else if (command == "OFF") {
      digitalWrite(LED_BUILTIN, LOW);  // turn off LED
      Serial.println("Turn LED OFF");
    }
  }
}

'IOT 제작하기' 카테고리의 다른 글

ESP32로 iot 만들기(1주차)  (0) 2023.07.20