ESP32로 IOT 만들기 2주차에 진행할 사항은 시리얼 모니터 다루기이다.
시리얼 모니터란?
- 아두이노와 컴퓨터간에 메세지를 주고받는 장치이다. 아두이노와 컴퓨터가 어떤 값을 주고 받는지 확인할 수 있는 가장 간단한 방법이다.
- Serial Monitor 구성 요소
- 출력 콘솔
- 자동 스크롤 확인란
- 타임스탬프 확인란 표시
- 출력 지우기 버튼
- 전송 속도 설정
- 텍스트 상자 - 보내기 버튼을 클릭하면 ESP32보드로 보낼 문자를 입력 가능
- 종료 선택
- 보내기 버튼
등이 존재한다.
ESP32 TO PC
- Serial.begin(전송속도); - 전송 속도를 설정 후 직렬 포트를 초기화
- Serial.print() or Serial.printIn(), Serial.write() - 직렬 모니터로 데이터 전송
가장 대표적인 Hello World!를 출력해보자
주의 사항)
- Serial.begin(9600); 에서 9600bit의 속도로 통신을 하게 된다
- 송신부와 수신부의 bit값이 같아야 통수신이 가능하다.
- 보통 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를 끄거나 키게 만들자
주의사항)
- 수신된 문자가 “ON”이면 LED를 킴
- 수신된 문자가 “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 |
---|