ESP32 RS232

이 튜토리얼에서는 ESP32와 RS232 통신 사용 방법을 배울 예정입니다. 자세히, 우리가 배울 내용은 다음과 같습니다:

준비물

1×ESP32 ESP-WROOM-32 개발 모듈 쿠팡 | 아마존
1×USB 케이블 타입-A to 타입-C (USB-A PC용) 쿠팡 | 아마존
1×USB 케이블 타입-C to 타입-C (USB-C PC용) 아마존
1×TTL-RS232 변환 모듈 쿠팡 | 아마존
1×점퍼케이블 쿠팡 | 아마존
1×브레드보드 쿠팡 | 아마존
1×(옵션) RS232 to USB 변환 케이블 쿠팡 | 아마존
1×(옵션) RS232 Gender Changer 아마존
1×(추천) ESP32용 스크루 터미널 확장 보드 쿠팡 | 아마존
1×(추천) ESP32용 전원 분배기 쿠팡 | 아마존
공개: 이 포스팅 에 제공된 일부 링크는 아마존 제휴 링크입니다. 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

TTL에서 RS232 모듈에 관하여

Serial.print(), Serial.read(), Serial.write() ... 함수를 사용하여 ESP32에서 시리얼 통신을 사용할 때, ESP32는 TX 핀으로 데이터를 출력하거나 RX 핀에서 오는 데이터를 읽습니다. TX 및 RX 핀의 신호는 TTL 레벨입니다. 이 신호는 멀리 갈 수 없습니다. 따라서 멀리 떨어진 곳에서 시리얼 통신을 사용하고 싶을 때는 TTL 신호를 RS232, RS485 또는 RS422 신호로 변환해야 합니다.

TTL에서 RS232 모듈은 TTL 신호를 RS232 신호로 변환하고, 그 반대의 경우도 마찬가지입니다.

핀배열

RS232에서 TTL 모듈에는 두 가지 인터페이스가 있습니다:

TTL 인터페이스(ESP32에 연결됨)는 4개의 핀을 포함합니다

  • VCC 핀: 전원 핀, VCC(5V/3.3V)에 연결해야 합니다.
  • GND 핀: 전원 핀, GND(0V)에 연결해야 합니다.
  • RXD 핀: 데이터 핀, ESP32의 RX 핀에 연결해야 합니다.
  • TXD 핀: 데이터 핀, ESP32의 TX 핀에 연결해야 합니다.

RS232 인터페이스: DB9 암타입 D-Sub 커넥터, 이것을 직렬 장치에 연결하세요.

rs232 사용법 핀아웃

선연결

하드웨어 시리얼을 사용하는 경우의 배선도

ESP32 ttl to rs232 연결 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

ESP32 및 다른 구성 요소에 전원을 공급하는 방법에 대해 잘 알지 못하는 경우, 다음 튜토리얼에서 안내를 찾을 수 있습니다: ESP32 전원 공급 방법.

브레드보드를 사용하는 경우의 배선도

ESP32 rs232 to ttl 연결 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

  • 브레드보드를 사용하여 ESP32와 RS232-TO-TTL 모듈을 연결하는 방법
ESP32 ttl to rs232 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

ESP32 rs232 to ttl 배선도

이 이미지는 Fritzing을 사용하여 만들어졌습니다. 이미지를 확대하려면 클릭하세요.

ESP32를 RS232 모듈을 사용하도록 프로그래밍하는 방법

Serial.begin(9600);

RS232에서 오는 데이터를 읽으려면 다음 함수를 사용할 수 있습니다:

RS232에 데이터를 쓰려면 다음 함수를 사용할 수 있습니다:

RS232과 함께 사용할 수 있는 더 많은 함수는 Serial 참조에서 확인할 수 있습니다.

ESP32를 위한 RS232 코드

/* * 이 ESP32 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP32 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp32/esp32-rs232 */ void setup() { // 통신을 9600의 보레이트로 시작합니다 Serial.begin(9600); // 시리얼 모니터 Serial2.begin(9600, SERIAL_8N1, 16, 17); // RS232 // 시리얼 포트가 초기화될 시간을 주기 위해 잠시 대기합니다 delay(100); } void loop() { // 시리얼에 데이터가 있는지 확인합니다 if (Serial2.available()) { char data = Serial2.read(); // 받은 문자를 읽습니다 Serial.print(data); // 받은 데이터를 시리얼 모니터에 출력합니다 } }

테스팅

아래에 설명된 단계를 따라 PC와 ESP32 사이에서 RS232를 통해 양방향으로 데이터를 전송하면서 테스트를 진행할 수 있습니다:

아래 이미지에서 설명한 대로 RS232-to-USB 케이블을 이용하여 ESP32를 PC에 연결하세요:

ESP32 rs232 to pc communication
  • RS232-TO-USB 케이블의 실제 연결 모습은 아래와 같습니다:
ESP32 rs232-to-usb 케이블
  • Tera Term 또는 PuTTY와 같은 시리얼 터미널 프로그램을 설치하세요.
  • 시리얼 터미널 프로그램을 열고 시리얼 매개변수(COM 포트, 보드레이트 등)를 설정하세요.
  • 시리얼 터미널에 일부 데이터를 입력하여 ESP32로 전송하세요.
  • 테스트가 성공적이라면, 시리얼 터미널에서 에코된 데이터를 관찰할 수 있습니다.

동영상

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

관련 튜토리얼