ESP8266 - RS232 | ESP8266 - RS232

이 튜토리얼에서는 RS232 통신을 ESP8266과 함께 사용하는 방법에 대해 자세히 다룰 것입니다. 다룰 내용은:

튜토리얼에는 하드웨어 시리얼소프트웨어시리얼 모두에 대한 지침이 포함되어 있습니다.

준비물

1×ESP8266 NodeMCU Amazon
1×Micro USB Cable Amazon
1×TTL to RS232 Module 쿠팡 | Amazon
1×Jumper Wires Amazon
1×(Optional) RS232 to USB Cable Amazon
1×(Optional) RS232 Gender Changer Amazon
1×(Optional) Screw Terminal Expansion Board for ESP8266 쿠팡 | Amazon
공개: 이 섹션에서 제공된 링크 중 일부는 제휴 링크입니다. 이 링크를 통해 구매한 경우 추가 비용없이 수수료를 받을 수 있습니다. 지원해 주셔서 감사합니다.

TTL에서 RS232 모듈에 대하여

ESP8266에서 직렬 작업을 수행하고 Serial.print(), Serial.read(), Serial.write()를 사용할 때, ESP8266이 TX 핀을 통해 데이터를 보내고 RX 핀으로 들어오는 데이터를 받는 일이 일어납니다. 이제 중요한 점은 TX와 RX의 신호가 TTL 수준이라는 것인데, 이것 자체는 좋지만 신호가 너무 멀리 가지는 않습니다. 그래서, 멀리 떨어진 곳과 데이터를 교환하려면 신호를 업그레이드해야 합니다.

TTL을 RS232 모듈로 변환합니다. 이 멋진 장치는 TTL 신호를 RS232로 변환하고 다시 변환합니다. 이것은 마치 마법처럼 통신이 멀리까지 도달하게 만듭니다.

핀아웃

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

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

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

RS232 인터페이스: DB9 암성 D-Sub 커넥터로, 이를 직렬 장치에 연결하세요.

RS232 Pinout

선연결

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

ESP8266 NodeMCU TTL to RS232 Wiring Diagram

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

ESP8266의 핀 배치ESP8266 및 다른 구성 요소에 전원을 공급하는 방법에 대해 더 많이 보십시오.

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

ESP8266 NodeMCU RS232 to TTL Wiring Diagram

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

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

시리얼 인터페이스를 초기화합니다:

Serial.begin(9600);

SoftwareSerial을 사용하려면 라이브러리를 포함시키고 SoftwareSerial 객체를 선언해야 합니다.

#include <SoftwareSerial.h> // SoftwareSerial 객체와 해당 핀 정의 SoftwareSerial SoftSerial(7, 6); // RX: 7, TX: 6

RS232에서 데이터를 읽기 위해 다음 함수들을 사용할 수 있습니다:

RS232에 데이터를 쓰기 위해 다음 함수들을 사용할 수 있습니다:

RS232와 함께 사용할 수 있는 더 많은 함수들은 Serial reference에서 확인할 수 있습니다.

하드웨어 시리얼용 ESP8266 코드

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-rs232 */ void setup() { // 통신을 시작하고 보레이트 9600으로 설정 Serial.begin(9600); // 직렬 포트 초기화를 위해 잠시 대기 delay(100); } void loop() { // 직렬 포트에 데이터가 있는지 확인 if (Serial.available()) { char data = Serial.read(); // 받은 문자 읽기 Serial.print(data); // 발신자에게 데이터를 에코로 돌려보냄 } }

소프트웨어 시리얼을 위한 ESP8266 코드

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-rs232 */ #include <SoftwareSerial.h> // SoftwareSerial 객체와 그 핀들을 정의 SoftwareSerial SoftSerial(D5, D6); // RX: D5, TX: D6 void setup() { // 통신을 시작하고 통신 속도를 9600으로 설정 SoftSerial.begin(9600); // 시리얼 포트가 초기화되는 동안 잠시 기다림 delay(100); } void loop() { // SoftSerial에 데이터가 있는지 확인 if (SoftSerial.available()) { char data = SoftSerial.read(); // 받은 문자를 읽음 SoftSerial.print(data); // 데이터를 보낸 곳으로 에코백 } }

테스팅

다음 단계를 따라 PC에서 RS232를 통해 ESP8266으로 데이터를 보내거나 그 반대로 테스트를 할 수 있습니다:

아래와 같이 ESP8266을 RS232-to-USB 케이블을 사용하여 PC에 연결하세요:

ESP8266 NodeMCU RS232 to PC communication
  • Tera Term 또는 PuTTY와 같은 시리얼 터미널 프로그램을 설치하세요.
  • 시리얼 터미널 프로그램을 열고 시리얼 매개변수를 설정하세요 (COM 포트, 보레이트...)
  • 시리얼 터미널에서 일부 데이터를 입력하여 ESP8266에 보내세요.
  • 성공하면, 시리얼 터미널에 에코 데이터가 표시됩니다.

동영상

비디오 제작은 시간이 많이 걸리는 작업입니다. 비디오 튜토리얼이 학습에 도움이 되었다면, 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!