ESP8266 - RS422

En esta guía, profundizaremos en cómo configurar la comunicación RS-422 con ESP8266. Abordaremos los siguientes pasos de forma detallada:

El tutorial también proporciona la instrucción para tanto Hardware Serial como SoftwareSerial.

Hardware Requerido

1×ESP8266 NodeMCU
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×Módulo TTL a RS422
1×Cables Puente
1×(Opcional) Cable RS422 a USB
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para ESP8266
1×(Recomendado) Divisor de Alimentación para ESP8266 Tipo-C

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca del módulo TTL a RS422

Al utilizar la comunicación serial en el ESP8266 mediante funciones como Serial.print(), Serial.read() y Serial.write(), el ESP8266 transmite datos a través del pin TX y recibe datos mediante el pin RX. Estos pines funcionan a nivel TTL, lo que significa que las señales que manejan tienen alcance limitado. Por lo tanto, para la comunicación serial a distancias más largas, es necesario convertir la señal TTL a los estándares de señal RS232, RS422 o RS422.

En este tutorial, profundizaremos en el uso de RS422 (también conocido como RS-422) con ESP8266 empleando un módulo TTL a RS422. Este módulo facilita la conversión de señales TTL a señales RS422 y viceversa.

Disposición de pines

El módulo RS-422 a TTL tiene dos interfaces:

  • La interfaz TTL (conectada al ESP8266) incluye 4 pines
    • Pin VCC: pin de alimentación; debe conectarse a VCC (5V o 3.3V).
    • Pin GND: pin de alimentación; debe conectarse a GND (0V).
    • Pin RXD: pin de datos; debe conectarse al pin TX del ESP8266.
    • Pin TXD: pin de datos; debe conectarse al pin RX del ESP8266.
  • La interfaz RS422 comprende los siguientes pines:
    • Pin A (R+): pin RX+ del módulo; conecte este pin al pin TX+ (T+ o Y) del otro dispositivo RS422.
    • Pin B (R-): pin RX- del módulo; conecte este pin al pin TX- (T- o Z) del otro dispositivo RS422.
    • Pin Y (T+): pin TX+ del módulo; conecte este pin al pin RX+ (R+ o pin A) del otro dispositivo RS422.
    • Pin Z (T-): pin TX- del módulo; conecte este pin al pin RX- (R- o pin B) del otro dispositivo RS422.
    Disposición de pines del módulo RS-422
    image source: diyables.io

Diagrama de Cableado

  • Diagrama de cableado si se utiliza el puerto serial de hardware
Diagrama de cableado ESP8266 NodeMCU TTL a RS-422

This image is created using Fritzing. Click to enlarge image

Para obtener m\u00e1s informaci\u00f3n, consulte Pines del ESP8266 y c\u00f3mo alimentar ESP8266 y otros componentes.

  • Diagrama de cableado si se utiliza SoftwareSerial
Diagrama de cableado ESP8266 NodeMCU RS-422 a TTL

This image is created using Fritzing. Click to enlarge image

Cómo programar ESP8266 para usar el módulo RS422

Para empezar con ESP8266 en el IDE de Arduino, siga estos pasos:

Serial.begin(9600);
  • Si usas SoftwareSerial, necesitas incluir la biblioteca y declarar un objeto SoftwareSerial:
#define RX_PIN D7 #define TX_PIN D6 // Define the SoftwareSerial objects and their pins SoftwareSerial rs422(RX_PIN, TX_PIN);

ESP8266 Código para Serial de Hardware

/* * Este código de ESP8266 NodeMCU fue desarrollado por es.newbiely.com * Este código de ESP8266 NodeMCU se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp8266/esp8266-rs422 */ void setup() { // start communication with baud rate 9600 Serial.begin(9600); // wait a moment to allow serial ports to initialize delay(100); } void loop() { // Check if there's data available on Serial if (Serial.available()) { char data = Serial.read(); // read the received character Serial.print(data); // echo back to data to the sender } }

Código ESP8266 para Software Serial

/* * Este código de ESP8266 NodeMCU fue desarrollado por es.newbiely.com * Este código de ESP8266 NodeMCU se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/esp8266/esp8266-rs422 */ #include <SoftwareSerial.h> #define RX_PIN D7 #define TX_PIN D6 // define the SoftwareSerial object and their pins SoftwareSerial rs422(RX_PIN, TX_PIN); void setup() { // start communication with baud rate 9600 rs422.begin(9600); // wait a moment to allow serial ports to initialize delay(100); } void loop() { // Check if there's data available on rs422 if (rs422.available()) { char data = rs422.read(); // read the received character rs422.print(data); // echo back to data to the sender } }

Pruebas

Puedes hacer una prueba enviando datos desde tu PC al ESP8266 a través de RS-422 y viceversa. Para hacerlo, sigue los siguientes pasos:

  • Conecta el ESP8266 a tu PC mediante un cable RS-422 a USB como se muestra a continuación:
Comunicación RS-422 entre ESP8266 NodeMCU y PC
  • Instala un programa de terminal serie como Tera Term o PuTTY
  • Abre el programa de terminal serie y configura los parámetros serie (puerto COM, tasa de baudios...)
  • Escribe algunos datos desde el terminal serie para enviárselos al ESP8266.
  • Si tiene éxito, verás los datos de eco en el terminal serie.

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

Tutoriales Relacionados

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!