ESP8266 RS422

(Translated text in Korean)

ESP8266 - RS422.

이 가이드에서는 ESP8266과 RS422 통신을 설정하는 방법에 대해 자세히 살펴보겠습니다. 다음 단계를 철저히 진행할 것입니다:

튜토리얼은 하드웨어 SerialSoftwareSerial 모두에 대한 지침도 제공합니다.

준비물

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

TTL에서 RS422 모듈로

ESP8266에서 Serial.print(), Serial.read(), Serial.write()와 같은 함수를 통해 직렬 통신을 사용할 때, ESP8266은 TX 핀을 통해 데이터를 전송하고 RX 핀을 통해 데이터를 수신합니다. 이 핀들은 TTL 레벨에서 작동하는데, 이는 그들이 처리하는 신호에 제한된 범위가 있음을 의미합니다. 따라서, 직렬 통신을 더 긴 거리에서 수행하기 위해서는 TTL 신호를 RS232, RS422, 또는 RS422 신호 표준으로 변환하는 것이 필요해집니다.

이 튜토리얼에서는 TTL에서 RS422 모듈을 사용하여 ESP8266과 함께 RS422(또한 RS-422으로 알려짐)의 활용에 대해 심층적으로 다룰 것입니다. 이 모듈은 TTL 신호를 RS422 신호로 변환하고 그 반대의 작업을 용이하게 합니다.

핀 배치

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

TTL 인터페이스(ESP8266에 연결됨)에는 4개의 핀이 포함되어 있습니다.

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

RS422 인터페이스는 다음 핀을 포함합니다:

  • A (R+) 핀: 모듈의 RX+ 핀, 이 핀을 다른 RS422 장치의 TX+ 핀(T+ 또는 Y 핀)에 연결합니다.
  • B (R-) 핀: 모듈의 RX- 핀, 이 핀을 다른 RS422 장치의 TX- 핀(T- 또는 Z 핀)에 연결합니다.
  • Y (T+) 핀: 모듈의 TX+ 핀, 이 핀을 다른 RS422 장치의 RX+ 핀(R+ 또는 A 핀)에 연결합니다.
  • Z (T-) 핀: 모듈의 TX- 핀, 이 핀을 다른 RS422 장치의 RX- 핀(R- 또는 B 핀)에 연결합니다.
rs-422 module 사용법 핀아웃
image source: diyables.io

선연결

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

ESP8266 NodeMCU ttl to rs422 연결 배선도

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

ESP8266 핀배열ESP8266 전원을 켜는 방법에 대해 더 많이 보십시오.

소프트웨어 직렬 사용 시 배선도

ESP8266 NodeMCU rs-422 to ttl 연결 배선도

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

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

Arduino IDE에서 ESP8266을 시작하는 방법은 다음 단계를 따르세요:

Serial.begin(9600);

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

#define RX_PIN D7 #define TX_PIN D6 // 소프트웨어 시리얼 객체와 그들의 핀을 정의한다 SoftwareSerial rs422(RX_PIN, TX_PIN);

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

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

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

하드웨어 시리얼을 위한 ESP8266 코드

/* * 이 ESP8266 NodeMCU 코드는 newbiely.kr 에서 개발되었습니다 * 이 ESP8266 NodeMCU 코드는 어떠한 제한 없이 공개 사용을 위해 제공됩니다. * 상세한 지침 및 연결도에 대해서는 다음을 방문하세요: * https://newbiely.kr/tutorials/esp8266/esp8266-rs422 */ 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-rs422 */ #include <SoftwareSerial.h> #define RX_PIN D7 #define TX_PIN D6 // SoftwareSerial 객체와 해당 핀을 정의합니다 SoftwareSerial rs422(RX_PIN, TX_PIN); void setup() { // 통신을 9600의 보드 레이트로 시작합니다 rs422.begin(9600); // 시리얼 포트가 초기화되기를 기다립니다 delay(100); } void loop() { // rs422에서 데이터가 있는지 확인합니다 if (rs422.available()) { char data = rs422.read(); // 수신된 문자를 읽습니다 rs422.print(data); // 데이터를 발신자에게 에코 백합니다 } }

테스팅

PC에서 ESP8266으로 RS-422를 통해 데이터를 보내는 테스트를 할 수 있으며, 그 반대의 경우도 마찬가지입니다. 이를 수행하려면, 아래의 단계를 따라 하세요:

아래와 같이 RS422에서 USB 케이블을 이용하여 ESP8266을 귀하의 PC에 연결하세요:

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

동영상

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

관련 튜토리얼