ESP8266 - RS485
In diesem Tutorial werden wir die Implementierung der RS-485-Kommunikation mit dem ESP8266 untersuchen. Genauer werden wir die folgenden Aspekte im Detail behandeln:
- Herstellung der Verbindung zwischen dem ESP8266 und dem TTL-zu-RS485-Modul.
- Programmierung des ESP8266, um Daten vom TTL-zu-RS485-Modul abzurufen.
- Programmierung des ESP8266, um Daten an das TTL-zu-RS485-Modul zu übertragen.
- Daten von Ihrem PC über RS485 an den ESP8266 senden und umgekehrt.
Das Tutorial enthält außerdem Anweisungen sowohl für Hardware-Serial als auch für SoftwareSerial.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über TTL-zu-RS485-Modul
Bei der seriellen Kommunikation mit dem ESP8266 über Funktionen wie Serial.print(), Serial.read() und Serial.write() sendet der ESP8266 Daten über den TX-Pin und empfängt Daten über den RX-Pin. Diese Pins arbeiten auf TTL-Ebene, was bedeutet, dass die von ihnen übertragenen Signale eine begrenzte Reichweite haben. Daher ist für die serielle Kommunikation über längere Entfernungen eine Umwandlung des TTL-Signals in die Signalstandards RS232, RS485 oder RS422 erforderlich.
In diesem Tutorial befassen wir uns mit der Nutzung von RS-485 (auch RS-485 genannt) mit dem ESP8266, indem wir ein TTL-zu-RS485-Modul verwenden. Dieses Modul ermöglicht die Umwandlung von TTL-Signalen in RS-485-Signale und umgekehrt.
Pinbelegung
Das RS485-zu-TTL-Modul hat zwei Schnittstellen:
- Die TTL-Schnittstelle (mit dem ESP8266 verbunden) umfasst 4 Pins
- VCC-Pin: Stromversorgungs-Pin, muss mit VCC verbunden werden (5 V oder 3,3 V)
- GND-Pin: Stromversorgungs-Pin, muss mit GND (0 V) verbunden werden
- RXD-Pin: Datenpin, muss mit einem TX-Pin des ESP8266 verbunden werden
- TXD-Pin: Datenpin, muss mit einem RX-Pin des ESP8266 verbunden werden
- Die RS485-Schnittstelle umfasst folgende Pins:
- D+ (A oder TR+) Pin: Dieser Pin ermöglicht die Datenkommunikation.
- D- (B oder TR-) Pin: Dieser Pin dient der Datenübertragung.
- GND-Pin: Optional, aber dringend empfohlen, diesen Pin einzusetzen, um Störgeräusche zu mindern und eine optimale Leistung sicherzustellen.

Verdrahtungsdiagramm
- Schaltplan bei Verwendung von Hardware-Serial

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Weitere Informationen finden Sie unter ESP8266-Pinbelegung und wie man ESP8266 und andere Komponenten mit Strom versorgt.
- Verdrahtungsdiagramm bei Verwendung von Software-Serial

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Wie programmiert man den ESP8266, um das RS-485-Modul zu verwenden
Um mit ESP8266 in der Arduino-IDE zu beginnen, befolgen Sie diese Schritte:
- Schau dir das Tutorial zur Einrichtung der ESP8266-Umgebung in der Arduino IDE an, falls dies dein erster Einsatz von ESP8266 ist.
- Initialisiert die serielle Schnittstelle:
- Wenn Sie SoftwareSerial verwenden, müssen Sie die Bibliothek einbinden und ein SoftwareSerial-Objekt deklarieren:
- Um Daten aus RS485 zu lesen, können Sie die folgenden Funktionen verwenden:
- Um Daten über RS485 zu schreiben, können Sie die folgenden Funktionen verwenden:
- Und weitere Funktionen zur Verwendung mit RS485 in Serial-Referenz
ESP8266-Code für Hardware-Seriell
ESP8266-Code für Software-Serial
Testen
Sie können einen Test durchführen, indem Sie Daten von Ihrem PC über RS-485 an den ESP8266 senden und umgekehrt. Um dies zu tun, befolgen Sie die untenstehenden Schritte:
- Schließen Sie den ESP8266 über ein RS485-zu-USB-Kabel an Ihren PC an, wie unten:

- Öffnen Sie das serielle Terminalprogramm und konfigurieren Sie die seriellen Parameter (COM-Port, Baudrate...)
- Geben Sie im seriellen Terminal einige Daten ein, um sie an den ESP8266 zu senden.
- Wenn es erfolgreich ist, sehen Sie die Echo-Daten im seriellen Terminal.
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.