ESP8266 - RS485
Neste tutorial, vamos explorar a implementação da comunicação RS485 com o ESP8266. Especificamente, vamos abordar os seguintes aspectos em detalhes:
- Estabelecer a conexão entre o ESP8266 e o módulo TTL para RS485.
- Programar o ESP8266 para obter dados do módulo TTL para RS485.
- Programar o ESP8266 para transmitir dados ao módulo TTL para RS485.
- Enviar dados do seu PC para o ESP8266 via RS485 e vice-versa.
O tutorial também traz as instruções tanto para o Serial de hardware quanto para o SoftwareSerial.
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Módulo TTL para RS485
Ao usar a comunicação serial no ESP8266 por meio de funções como Serial.print(), Serial.read() e Serial.write(), o ESP8266 transmite dados pelo pino TX e recebe dados pelo pino RX. Esses pinos operam em nível TTL, o que significa que os sinais que eles tratam têm alcance limitado. Assim, para a comunicação serial em distâncias maiores, torna-se necessário converter o sinal TTL para os padrões de sinal RS232, RS485 ou RS422.
Neste tutorial, vamos mergulhar no uso do RS485 (também conhecido como RS-485) com o ESP8266 empregando um módulo TTL para RS485. Este módulo facilita a conversão de sinais TTL em sinais RS485 e vice-versa.
Pinagem
O módulo RS485 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 ou 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 TX do ESP8266
- Pino TXD: pino de dados, precisa ser conectado a um pino RX do ESP8266
- A interface RS485 é composta pelos seguintes pinos:
- Pino D+ (A ou TR+): Este pino facilita a comunicação de dados.
- Pino D- (B ou TR-): Este pino serve para a transmissão de dados.
- Pino GND: Embora opcional, é fortemente recomendado incluir este pino para reduzir a interferência de ruído, garantindo o desempenho ideal.

Diagrama de Ligação
- Diagrama de ligação ao usar a serial de hardware

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

This image is created using Fritzing. Click to enlarge image
Como Programar o ESP8266 para Usar o Módulo RS485
Para começar com o ESP8266 no Arduino IDE, siga estes passos:
- Confira o tutorial como configurar o ambiente para o ESP8266 no Arduino IDE se esta for a sua primeira vez usando o ESP8266.
- Inicializa a interface Serial:
- Se você usar SoftwareSerial, é preciso incluir a biblioteca e declarar um objeto SoftwareSerial:
- Para ler os dados que vêm do RS485, você pode usar as seguintes funções:
- Para escrever dados no RS485, você pode usar as seguintes funções:
- E mais funções para usar com o RS485 na referência de Serial
Código ESP8266 para Serial de Hardware
Código ESP8266 para Serial por Software
Testando
Você pode fazer um teste enviando dados do seu PC para o ESP8266 via RS-485 e vice-versa. Para isso, siga os passos abaixo:
- Conecte o ESP8266 ao seu PC por meio de um cabo RS485 para USB, como abaixo:

- 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.