ESP8266 - RS232

Neste tutorial, vamos mergulhar no uso da comunicação RS232 com o ESP8266, abordando:

O tutorial inclui orientações tanto para o Serial de hardware quanto para o SoftwareSerial.

ESP8266 NodeMCU - RS232

Sobre o Módulo TTL para RS232

Quando você trabalha com comunicação serial no ESP8266 e usa Serial.print(), Serial.read() e Serial.write(), o que acontece é que o seu ESP8266 envia dados pelo pino TX e recebe dados que chegam no pino RX. Agora, o ponto é este: os sinais em TX e RX estão em nível TTL, o que é ótimo, mas eles não viajam muito longe. Então, se você pretende trocar dados em longas distâncias, precisa melhorar esse sinal.

Entra o módulo TTL para RS232. Este dispositivo prático transforma o seu sinal TTL em RS232 e vice-versa. É como mágica para fazer a sua comunicação chegar longe.

Pinagem

O módulo RS232 para TTL tem duas interfaces:

  • A interface TTL (conectada ao ESP8266) inclui 4 pinos
    • Pino VCC: pino de alimentação, precisa ser conectado ao VCC (5V/3.3V)
    • Pino GND: pino de alimentação, precisa ser conectado ao GND (0V)
    • Pino RXD: pino de dados, precisa ser conectado a um pino RX do ESP8266
    • Pino TXD: pino de dados, precisa ser conectado a um pino TX do ESP8266
  • A interface RS232: conector D-Sub DB9 fêmea, conecte-o ao dispositivo serial
Pinagem do RS232

Diagrama de Ligação

  • Diagrama de ligação ao usar a serial de hardware
Diagrama de ligação do ESP8266 NodeMCU com TTL para RS232

This image is created using Fritzing. Click to enlarge image

Para mais informações, veja Pinagem do ESP8266 e como alimentar o ESP8266 e outros componentes.

  • Diagrama de ligação ao usar a serial por software
Diagrama de ligação do ESP8266 NodeMCU com RS232 para TTL

This image is created using Fritzing. Click to enlarge image

Como Programar o ESP8266 para Usar o Módulo RS232

  • Inicializa a interface Serial:
Serial.begin(9600);
  • Se você usar SoftwareSerial, é preciso incluir a biblioteca e declarar um objeto SoftwareSerial:
#include <SoftwareSerial.h> // Define the SoftwareSerial objects and their pins SoftwareSerial SoftSerial(7, 6); // RX: 7, TX: 6

Código ESP8266 para Serial de Hardware

/* * Este código de ESP8266 NodeMCU foi desenvolvido por pt.newbiely.com * Este código de ESP8266 NodeMCU é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp8266/esp8266-rs232 */ 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 Serial por Software

/* * Este código de ESP8266 NodeMCU foi desenvolvido por pt.newbiely.com * Este código de ESP8266 NodeMCU é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/esp8266/esp8266-rs232 */ #include <SoftwareSerial.h> // define the SoftwareSerial object and their pins SoftwareSerial SoftSerial(D5, D6); // RX: D5, TX: D6 void setup() { // start communication with baud rate 9600 SoftSerial.begin(9600); // wait a moment to allow serial ports to initialize delay(100); } void loop() { // Check if there's data available on SoftSerial if (SoftSerial.available()) { char data = SoftSerial.read(); // read the received character SoftSerial.print(data); // echo back to data to the sender } }

Testando

Você pode fazer um teste enviando dados do seu PC para o ESP8266 via RS232 e vice-versa. Para isso, siga os passos abaixo:

  • Conecte o ESP8266 ao seu PC por meio de um cabo RS232 para USB, como abaixo:
Comunicação do ESP8266 NodeMCU RS232 com o PC
  • Instale um programa de terminal serial como o Tera Term ou o PuTTY
  • Abra o programa de terminal serial e configure os parâmetros Serial (porta COM, baurate...)
  • Digite alguns dados no Terminal Serial para enviá-los ao ESP8266.
  • Se der certo, você verá os dados de eco no Terminal Serial.

Vídeo

Tutoriais Relacionados

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!