ESP8266 - RS-232

In diesem Tutorial befassen wir uns mit der RS232-Kommunikation des ESP8266 und behandeln:

Die Anleitung enthält Hinweise sowohl zu Hardware Serial als auch zu SoftwareSerial.

ESP8266 NodeMCU - RS-232

Erforderliche Hardware

1×ESP8266 NodeMCU
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×TTL-zu-RS232-Modul
1×Verbindungskabel
1×(Optional) USB to RS232 Cable
1×(Optional) USB to RS232 Converter
1×(Optional) RS232 Gender Changer
1×(Empfohlen) Schraubklemmen-Erweiterungsboard für ESP8266
1×(Empfohlen) Stromverteiler für ESP8266 Typ-C

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über TTL-zu-RS-232-Modul

Wenn du mit serieller Kommunikation am ESP8266 arbeitest und Serial.print(), Serial.read() und Serial.write() verwendest, passiert Folgendes: Dein ESP8266 sendet Daten über seinen TX-Pin aus und empfängt eingehende Daten am RX-Pin. Jetzt kommt der Punkt: Die Signale an TX und RX haben TTL-Pegel, was ja ganz praktisch ist, aber sie reichen nicht über größere Entfernungen. Wenn du also planst, Daten über lange Strecken auszutauschen, musst du das Signal entsprechend aufrüsten.

Geben Sie das TTL-zu-RS232-Modul ein. Dieses praktische Gadget verwandelt Ihr TTL-Signal in RS232 und wieder zurück. Es ist wie Magie – damit Ihre Kommunikation weit und breit reicht.

Pinbelegung

Das RS232-zu-TTL-Modul hat zwei Schnittstellen:

  • Die TTL-Schnittstelle (mit ESP8266 verbunden) umfasst 4 Pins
    • VCC-Pin: Versorgungs-Pin, muss mit VCC verbunden werden (5V/3,3V)
    • GND-Pin: Masse-Pin, muss mit GND (0V) verbunden werden
    • RXD-Pin: Datenpin, muss mit einem RX-Pin des ESP8266 verbunden werden
    • TXD-Pin: Datenpin, muss mit einem TX-Pin des ESP8266 verbunden werden
  • Die RS232-Schnittstelle: DB9-Weiblich-D-Sub-Stecker, diesen mit dem seriellen Gerät verbinden
RS232-Pinbelegung

Verdrahtungsdiagramm

  • Schaltplan bei Verwendung von Hardware-Serial
ESP8266 NodeMCU TTL zu RS-232 Verdrahtungsdiagramm

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.

  • Schaltplan bei Verwendung von Software-Serial
ESP8266 NodeMCU RS232-zu-TTL Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

So programmieren Sie den ESP8266, um das RS-232-Modul zu verwenden.

  • Initialisiert die serielle Schnittstelle:
Serial.begin(9600);
  • Wenn Sie SoftwareSerial verwenden, müssen Sie die Bibliothek einbinden und ein SoftwareSerial-Objekt deklarieren:
#include <SoftwareSerial.h> // Definieren Sie die SoftwareSerial-Objekte und deren Pins SoftwareSerial SoftSerial(7, 6); // RX: 7, TX: 6

ESP8266-Code für Hardware-Serial

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/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 } }

ESP8266-Code für Software-Serial

/* * Dieser ESP8266 NodeMCU Code wurde von newbiely.de entwickelt * Dieser ESP8266 NodeMCU Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/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 } }

Tests

Sie können einen Test durchführen, indem Sie Daten von Ihrem PC zum ESP8266 über RS232 senden und umgekehrt. Um dies zu tun, befolgen Sie die untenstehenden Schritte:

  • Schließen Sie den ESP8266 über ein RS232-zu-USB-Kabel an Ihren PC an, wie unten gezeigt:
ESP8266 NodeMCU RS232-PC-Kommunikation
  • Installieren Sie ein serielles Terminalprogramm wie Tera Term oder PuTTY
  • Öffnen Sie das serielle Terminalprogramm und konfigurieren Sie die seriellen Parameter (COM-Port, Baudrate...)
  • Tippen Sie am seriellen Terminal einige Daten ein, um sie an den ESP8266 zu senden.
  • Wenn es erfolgreich ist, werden Sie die Echo-Daten im seriellen Terminal sehen.

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.

Verwandte Tutorials

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!