Die ESP8266 serielle UART Schnittstelle im Detail
Die serielle UART Schnittstelle bildet ein elementares Detail im Umgang mit dem ESP8266. Zum Einen bildet sie die Grundlage um ein ESP8266 Modul zu beschreiben und zu konfigurieren, anderseits dient sie häufig als Grundlage um seriell mit einem anderen Gerät zu kommunizieren. Die UART Schnittstelle wurde bereits zu Anbeginn der Routertechnologie zum Einsatz gebracht. UART steht bezeichnend für Universal Asynchronous Receiver Transmitter und beschreibt typische serielle Schnittstellen. Oftmals wird die ESP8266 UART Schnittstelle mit dem RS232 Protokoll gleichgesetzt, hierzu bedarf es allerdings weiterer Signale für beispielsweise Handshake DTR / DSR, usw.
Wie der Name bereits erläutert werden die Datenpakete bei der seriellen UART Schnittstelle in Serie übertragen. Da UART die Daten asynchron überträgt muss bei der Datenübertragung eine entsprechende Bit Rate (Baudrate) festgelegt werden. Die Bitrate (Baudrate) bestimmt wie viele Bit pro Sekunde über die UART Schnittstelle übertragen werden. Die typischen Bitraten (Baudrate) reichen hier von 50 bit pro Sekunde bis zu 2 Mbit pro Sekunde. Da bei der UART Übertragung zum ESP8266 typischerweise kein Handshake mittels RTS, CTS, oder vergleichbar erfolgt muss die Bitrate entsprechend den miteinander kommunizierenden Geräten angepasst sein. Neben der eigentlichen Hardware wie Computer, USB TTL Konverter und schlussendlich dem ESP8266 WLan Modul ist hier zusätzlich die eigentliche Verbindung massgeblich. Im Detail bezieht sich das auf Kabel, bzw. die Kabellänge. Ungeeignete Kabel oder zu lange Kabel können einen erhöhten Widerstand verursachen. Dies kann zu einem erhöhten Signalabfall beim Transport der Datenpakete führen. Teilweise kann dieser Signalabfall durch die Reduzierung der Bit Rate (Baudrate) kompensiert werden. Auch kann eine beschädigte Isolation oder nicht isolierte Steckverbinder Störsignale empfangen oder gar erzeugen.
Die Verwendung der UART Schnittstelle beim ESP8266 WLan Modul
Je nach ESP8266 WLan Modul kann die Kennzeichnung der UART Schnittstelle abweichen. Je nach Modul für RX, RXD oder RXD0 oder RX_0 oder RXD_0, beziehungsweise für das TX Signal TXD oder TXD0 oder TX_0 oder TXD_0.
Werden die notwendigen Rahmenbedingungen im Bezug der Verbindung zwischen USB TTL Konverter und dem ESP8266 WLan Modul eingehalten erfolgt die serielle Datenübertragung mit einer Bit Rate von 115.200 bit pro Sekunde.
Im Bezug der derzeit verfügbaren ESP8266 Modulen beschränkt man sich hierbei auf die RXD und TXD Datensignale also UART und kein RS232 mit Pegelumsetzer und Handshake Signalen. Grundlegend müssen dabei diese 2 Datensignale zwischen
- RXD (receive) für Daten die empfangen werden
- TXD (transmit) für Daten die gesendet werden
unterschieden werden.
Durch diesen Umstand ergibt sich Folgerichtig das der RXD Anschluss und TXD Anschluss stets über kreuz zum ESP8266 / USB TTL Konverter angeschlossen wird.
ESP8266 WLan Modul UART Anschlussbelegung
Je nach ESP8266 WLan Modul kann die Kennzeichnung der UART Schnittstelle abweichen. Nachfolgend typische UART Anschlussbelegung nach dem jeweiligen ESP8266 Modul:
Anschlussbelegung ESP-07 ESP-08
Anschlussbelegung ESP-12 , ESP-12F, ESP-13, ESP14
Nachfolgend einige Tipps zur Anbindung eines ESP8266 zur erfolgreichen UART Kommunikation:
- Insofern man ein USB Verlängerungskabel zwischen USB TTL Konverter verwendet sollte
- das Kabel zwischen USB TTL Konverter sollte so kurz wie möglich gehalten werden, maximal 0,5 Meter, besser 0,3 Meter
- das USB Adapterkabel zum USB TTL Konverter sollte dabei einen möglichst geringen Widerstand < 10 Ω vorweisen (beispielsweise AWG24 kombiniert mit AWG28)
- das USB Verlängerungskabel sollte über eine entsprechende Abschirmung verfügen um etwaige Störsignale zu unterdrücken
- Bei der Verbindung zwischen RXD und TXD sollte die Kabellänge 0,2 Meter nicht überschreiten
- Es sollten entsprechende Kabel, z.B. Dupont Kabel mit entsprechendem Leiterquerschnitt als auch isolierten Steckverbindern eingesetzt werden
- Das ESP8266 WLan Modul sollte vorzugsweise nicht über den USB TTL Adapter mit Spannung versorgt werden