ESP8266 - RS422 | ESP8266 - RS422

(Translated text in Korean)

ESP8266 - RS422.

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

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

준비물

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

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 Pinout
image source: diyables.io

선연결

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

ESP8266 NodeMCU TTL to RS422 Wiring Diagram

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

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

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

ESP8266 NodeMCU RS-422 to TTL Wiring Diagram

이 이미지는 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 채널 을 구독하여 알려 주시기 바랍니다. 비디오에 대한 높은 수요가 있다면, 비디오를 만들기 위해 노력하겠습니다.

관련 튜토리얼

※ 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!