SerialTool VT-100 Terminal

Zuletzt aktualisiert am von Oliver Reed

Das SerialTool VT-100 Terminal ist für die interaktive Kommunikation mit Geräten konzipiert, die fortschrittliche Textschnittstellen basierend auf den VT-100 / ANSI Standards verwenden. Dieser Modus ist in professionellen, industriellen und eingebetteten Umgebungen weit verbreitet, wo das entfernte Gerät Menüs, Shells oder textbasierte Konfigurationsschnittstellen über den seriellen Port bereitstellt.

Hinweis: Für detaillierte Informationen können Sie auch diesen Link besuchen: SerialTool Terminals

Im Gegensatz zu einem „klassischen“ seriellen Terminal, das auf die Anzeige empfangener Bytes beschränkt ist, interpretiert das VT-100-Terminal von SerialTool den Datenstrom und die ANSI-Escapesequenzen, was eine korrekte grafische Darstellung ermöglicht, die der vom Gerät beabsichtigten Schnittstelle entspricht.

Interaktive Kommunikation und ANSI-Sequenzen

Im VT-100-Terminal sind übertragene Daten keine einfachen ASCII-Zeichen, sondern enthalten Steuersequenzen (ESC), die verwendet werden, um „visuelle“ Operationen innerhalb des Terminals durchzuführen. SerialTool interpretiert diese Sequenzen in Echtzeit und ermöglicht die Anzeige von farbigem Text, interaktiven Eingabeaufforderungen, Textmenüs und dynamisch aktualisierten Bildschirmen.

ANSI/ESC-Sequenzen werden typischerweise verwendet um:

  • den Cursor auf dem Bildschirm zu bewegen;
  • Zeilen oder den gesamten Terminalinhalt zu löschen;
  • Textfarbe und Attribute zu ändern;
  • interaktive Menüs und dynamisch aktualisierte Bildschirme zu verwalten;
  • Fortschrittsbalken oder Textindikatoren anzuzeigen.

Wann das VT-100 Terminal verwendet werden sollte

Der VT-100-Modus wird empfohlen, wenn eine Verbindung zu Geräten hergestellt wird, die eine fortschrittliche Mensch-Maschine-Interaktion erfordern, zum Beispiel zur Konfiguration oder Verwaltung von Geräten und eingebetteten Systemen über eine serielle Konsole.

Typische Beispiele:

  • Netzwerk-Router und Switches;
  • Hardware-Firewalls und Enterprise-Access-Points;
  • Unternehmensserver (BIOS/UEFI, Remote-Management-Module);
  • Eingebettete Linux-Systeme (Konsole, U-Boot, Shell);
  • SPS und industrielle Geräte mit Textmenüs;
  • Mikrocontroller während des Bootvorgangs oder im Konsolenmodus.

Ein VT-100 Terminal integriert in ein komplettes Tool

Das SerialTool VT-100 Terminal ist vollständig in die Software integriert und kann zusammen mit anderen fortschrittlichen Funktionen verwendet werden. Sie können jedem seriellen Port ein dediziertes VT-100-Fenster zuweisen, wodurch die Protokolle mehrerer Geräte getrennt bleiben und die Verkehrsanalyse erleichtert wird.

Auf diese Weise kombiniert SerialTool VT-100-Emulation und Low-Level-Debugging in einer einzigen Lösung und vermeidet die Verwendung separater Anwendungen.

Dank der vollständigen Unterstützung des VT-100-Standards und der ANSI-Sequenzen bietet SerialTool eine zuverlässige und professionelle Umgebung für serielle Interaktion, ideal für Embedded-Entwickler, Industrietechniker und IT-Profis.

Was Sie über das SerialTool VT-100 Serielle Terminal wissen sollten

Das serielle Terminal hat einige wichtige Besonderheiten, die im Hinblick auf die allgemeine Funktionsweise von SerialTool geklärt werden müssen. Erstens hat SerialTool zwei Hauptkategorien von Terminals: das serielle Terminal und das Hexadezimal-Terminal.

Das serielle Terminal wiederum kann in zwei verschiedenen Modi arbeiten: dem klassischen Modus und dem VT-100 Emulationsmodus, der Gegenstand dieses Dokuments ist.

Das klassische Terminal zeigt den gesamten ein- und ausgehenden Verkehr aller offenen und zugewiesenen seriellen Ports in einem einzigen Hauptbildschirm an.

Es ist nützlich, eine detaillierte Vorbemerkung zur Funktionsweise des klassischen seriellen Terminals zu machen, um die Unterschiede im Vergleich zum seriellen Terminal in der VT-100-Emulation besser zu verstehen.

Für jeden seriellen Port wird im klassischen Terminal der ein- und ausgehende Verkehr mit unterschiedlichen Schriftfarben dargestellt, um das Lesen zu erleichtern.

Gesendete und empfangene Bytes können in verschiedenen Modi angezeigt werden: ASCII, Hexadezimal, Binär oder eine Kombination davon. Dies liegt daran, dass der Entwickler möglicherweise unterschiedliche Analyseanforderungen hat, insbesondere bei der Arbeit mit proprietären oder Standardprotokollen wie Modbus.

Ein grundlegender Aspekt ist die Festlegung, wann eine neue Zeile im Terminal eingefügt werden soll, um zu verhindern, dass alle Bytes kontinuierlich angezeigt werden, was die Interpretation erschwert.

Im klassischen Terminal ist es daher notwendig festzustellen, ob die Daten im Streaming-Modus ankommen und ob bei Ankunft eines Terminatorzeichens (zum Beispiel 0x0A, 0x0D oder eine Kombination davon) eine neue Zeile hinzugefügt werden soll.

In anderen Fällen ist es notwendig, das Ende eines Pakets auch ohne ein Terminatorzeichen zu bestimmen. Dies geschieht durch Messung der verstrichenen Zeit seit dem letzten empfangenen Byte.

Aus diesem Grund hat jeder serielle Port den Parameter Last Byte Timeout (Zeitüberschreitung des letzten Bytes), ausgedrückt in Millisekunden, nach dem SerialTool das empfangene Paket anzeigt.

Dieses Konzept ist grundlegend und muss immer beachtet werden.

Klassisches Terminal – Paketmodus

Im Paketmodus wird eine neue Zeile zum Terminal hinzugefügt:

  • immer wenn SerialTool eine Byte-Sequenz sendet, am Ende der Übertragung;
  • beim Empfang, wenn die im Last Byte Timeout eingestellte Zeit abläuft;
  • wenn Bytes von verschiedenen seriellen Ports gesendet oder empfangen werden.

Klassisches Terminal – Streaming-Modus

Im Streaming-Modus wird eine neue Zeile hinzugefügt:

  • beim Empfang eines Terminatorzeichens (auch benutzerdefiniert);
  • wenn Bytes von verschiedenen seriellen Ports gesendet oder empfangen werden.

Unterschiede zum VT-100 Terminal

Das serielle Terminal mit VT-100-Emulation führt signifikante Unterschiede ein. Erstens ist es möglich, einen oder mehrere Bildschirme jedem offenen seriellen Port zuzuweisen.

Jeder serielle Port ist daher einem bestimmten Fenster (Tab) zugeordnet, wodurch der Verkehr mehrerer Geräte getrennt bleibt. Dies ist der erste Unterschied auf der Ebene der grafischen Oberfläche.

Der zweite Unterschied ist funktional: Während im klassischen Terminal Bytes gemäß den Benutzereinstellungen angezeigt werden (ASCII, HEX, usw.), wird im VT-100-Terminal der Byte-Strom vom Emulator interpretiert und erhält eine visuelle Bedeutung.

Zum Beispiel kann das entfernte Gerät farbige Nachrichten senden, und die Textfarbe wird nicht vom Benutzer gewählt, sondern vom Gerät bestimmt und vom VT-100-Terminal interpretiert.

Das VT-100-Terminal interpretiert auch Sequenzen zum Löschen des Bildschirms, Neupositionieren des Cursors und andere grafische Operationen.

Ein weiteres Merkmal ist die Verwaltung von Zeilen und Spalten, die es dem Terminal ermöglicht, eine echte Textanwendung zu emulieren, da es die „Auflösung“ des Bildschirms in Bezug auf Zeichen kennt.

Der Benutzer kann auch spezielle Zeichensequenzen an das entfernte Gerät senden, einschließlich Tastenkombinationen wie STRG + Taste, die spezifische Verhaltensweisen erzeugen.

Diese Art der Interaktion wäre extrem komplex unter Verwendung eines klassischen Low-Level-Terminals.

Diese einleitenden Erklärungen sind grundlegend, um zu verstehen, welchen Terminaltyp Sie basierend auf Ihren Bedürfnissen verwenden sollten. Die gute Nachricht ist, dass SerialTool beide Modi unterstützt.

Verwendung des SerialTool VT-100 Seriellen Terminals

Wie bereits erwähnt, muss jedem Terminalfenster ein physischer serieller Port zugewiesen werden, was das grundlegende Funktionsprinzip von SerialTool darstellt.

Wählen Sie zuerst den Terminalmodus aus dem Hauptmenü.

serial terminal option select

Wählen Sie den Terminalmodus

set serial port terminal mode

Wählen Sie den VT-100 Seriellen Terminalmodus

Beginnen wir damit, den Bildschirm zu zeigen, von dem aus Sie einen seriellen Port dem VT-100 seriellen Terminal zuweisen können.

Wenn bereits serielle Ports im Konfigurationsmenü für serielle Ports konfiguriert sind, können diese einem bestimmten Tab des SerialTool VT-100 Terminals zugewiesen werden.

Durch Klicken auf die mittlere Schaltfläche werden die verfügbaren seriellen Ports angezeigt, die für die Anzeige im VT-100-Terminal zugewiesen werden können.

serial port terminal assignment

Hauptbildschirm des seriellen Terminals mit zugewiesenen seriellen Ports

Sobald der serielle Port ausgewählt ist, wird ein dedizierter Tab geöffnet, der die Informationen des Terminals und des zugewiesenen seriellen Ports enthält, einschließlich Referenzen zum physischen Port oder Adapter (zum Beispiel COMx unter Windows oder der Gerätepfad unter Linux und macOS).

serial port terminal port

Bildschirm mit zugewiesenem seriellen Port 1 und Öffnen eines dedizierten Tabs

Zu diesem Zeitpunkt, sobald das mit dem seriellen Port verbundene Terminal geöffnet ist, ist es möglich, Bytes vom entfernten Gerät zu empfangen und an dieses zu senden (denken Sie daran, den seriellen Port im dedizierten Konfigurationsmenü zu öffnen und die Kommunikationsparameter korrekt einzustellen).

Im folgenden Beispiel ist der Bootvorgang eines ESP32-S3 Moduls zu sehen. Der in Grün angezeigte Text wird vom ESP32-Modul generiert, das eine spezifische Byte-Sequenz gesendet hat, die anschließend vom SerialTool VT-100-Emulator interpretiert wurde.

serial port bootloader esp32

ESP32-Modul Bootloader-Bildschirm

Im VT-100-Terminal können Sie einen Bereich von interessierenden Zeichen mit der Maus auswählen und anschließend mit der rechten Maustaste exportieren.

serial port export data

Terminaldaten-Export (Kopieren) Bildschirm

Das Drücken der rechten Maustaste ermöglicht neben dem Kopieren des Inhalts des Terminals auch das Ändern einiger Terminalkonfigurationen, innerhalb der Grenzen der VT-100-Emulation.

Durch Auswahl von “VT100 Terminal Settings” können Sie die Terminaleinstellungen ändern und als Standardkonfiguration für diesen seriellen Port speichern.

Es ist wichtig zu betonen, dass Konfigurationen unverändert bleiben, selbst wenn sich der physische serielle Port ändert. Dies ermöglicht es, im Falle eines Neustarts von SerialTool, die Einstellungen beizubehalten, die dem logischen seriellen Port und nicht dem physischen Gerät zugeordnet sind.

Zum Beispiel, wenn Serial 1 anfänglich dem Port COM12 zugewiesen ist und anschließend COM8 zugewiesen wird, bleiben die Einstellungen unverändert, da sie dem zugewiesenen Serial und nicht dem physischen Port folgen.

VT100 Terminal Einstellungen – Vollständige Erklärung

Ausgehend vom Einstellungsbildschirm (Rechtsklick und “VT100 Terminal Settings”)

serial port terminal settings

Einstellungsbildschirm des seriellen Port-Terminals in VT-100-Emulation

Use VT-100 Terminal Key Sequence

Aktiviert die eigentliche VT-100-Emulation. Tastensequenzen (Pfeile, F1–F4, ESC, usw.) werden genau so gesendet, wie es ein echtes VT-100-Terminal tun würde.

Grundlegend für:

  • Textmenüs
  • Eingebettete Shells
  • Bootloader

Empfohlen: ON für serielle Nutzung

VT-100 Terminal Keyboard Input Settings

STRG-basierte ASCII-Steuerungen

Ordnet STRG + Taste Kombinationen den klassischen ASCII-Codes zu:

KombinationCodeBedeutung
STRG + @0x00NUL
STRG + Z0x1ASUB
STRG + [0x1BESC
STRG + \0x1CFS
STRG + ]0x1DGS
STRG + ^0x1ERS
STRG + _0x1FUS
STRG + ?0x7FDEL

Unverzichtbar für Firmware, serielle Monitore und Low-Level-Debugging. Empfohlen: ON

Nicht-STRG Spezialtasten

Definiert, was gesendet wird, wenn Spezialtasten gedrückt werden:

TasteSequenz
ESC0x1B
ESC [ D
ESC [ C
ESC [ A
ESC [ B
F1–F4ESC OP / OQ / OR / OS
Backspace0x7F

Kompatibel mit U-Boot, serieller Linux-Konsole und VT-100-Menüs. Empfohlen: ON

Caret Echo (^C, ^[, ^?)

Zeigt Steuerzeichen in lesbarer Form an (z.B. STRG+C → ^C). Nützlich für Debugging und Lehre.

Empfohlen: OFF für normale Nutzung, ON nur für Debugging

Farben (Colors)

  • Background Color – Terminal-Hintergrundfarbe
  • Opacity – Fenstertransparenz

Schriftarten (Fonts)

  • Schriftart ändern / Standard setzen / Monospace setzen / Terminal-Schriftart setzen
  • Schriftgröße erhöhen / verringern – Textzoom
  • Zeichenabstand – Abstand zwischen Zeichen (empfohlen 100%)

Sonstiges (Misc)

Enter Key – Definiert, was beim Drücken von Enter gesendet wird:

  • CR → \r
  • LF → \n
  • CRLF → \r\n

Typischerweise: MCU / Modem / Firmware → CRLF
Eingebettetes Linux → oft LF
Empfohlen: CRLF

Suppress Local Echo: wenn aktiv, wird das Eingetippte nicht angezeigt (nur verwenden, wenn das entfernte Gerät ein Echo sendet).

Show Timestamp: zeigt den Zeitstempel neben den empfangenen Daten an.

Show Navigation Bar: aktiviert die Navigation in der Log-Historie (nur nützlich bei aktivem Terminal Emulator).

Terminal Emulator: ermöglicht das Behalten der Historie empfangener und gesendeter Bytes, überwindet das visuelle Limit von Zeilen und Spalten des klassischen Terminals.

Terminal Columns × Lines: Terminalabmessungen. Auto-Modus empfohlen.

Support UTF-8 (Receive / Transmit): dekodiert UTF-8 beim Empfang und sendet UTF-8 bei der Übertragung. Empfohlen: OFF, sofern nicht spezifisch benötigt.

Save Settings – speichert die Konfiguration dieses seriellen Ports
Reset to Default – setzt nur dieses Terminal zurück
Reset All Terminals – globaler Reset
Exit – schließt das Fenster