SerialTool VT-100 Terminal

Laatst bijgewerkt op door Oliver Reed

De SerialTool VT-100-terminal is ontworpen voor interactieve communicatie met apparaten die gebruikmaken van geavanceerde tekstinterfaces op basis van de VT-100 / ANSI standaarden. Deze modus wordt veel gebruikt in professionele, industriële en embedded omgevingen, waar het externe apparaat menu's, shells of op tekst gebaseerde configuratie-interfaces via de seriële poort blootstelt.

Opmerking: voor gedetailleerde informatie kunt u ook deze link bezoeken SerialTool Terminals

In tegenstelling tot een "klassieke" seriële terminal, die beperkt is tot het weergeven van ontvangen bytes, interpreteert de VT-100-terminal van SerialTool de gegevensstroom en ANSI-escape-sequenties, wat zorgt voor een correcte grafische weergave die trouw is aan de interface zoals bedoeld door het apparaat.

Interactieve Communicatie en ANSI-sequenties

In de VT-100-terminal zijn verzonden gegevens geen eenvoudige ASCII-tekens, maar bevatten ze besturingssequenties (ESC) die worden gebruikt om "visuele" bewerkingen binnen de terminal uit te voeren. SerialTool interpreteert deze sequenties in realtime, waardoor de weergave van gekleurde uitvoer, interactieve prompts, tekstmenu's en dynamisch bijgewerkte schermen mogelijk is.

ANSI/ESC-sequenties worden doorgaans gebruikt om:

  • de cursor op het scherm te verplaatsen;
  • regels of de volledige terminalinhoud te wissen;
  • tekstkleur en attributen te wijzigen;
  • interactieve menu's en dynamisch bijgewerkte schermen te beheren;
  • voortgangsbalken of tekstindicatoren weer te geven.

Wanneer de VT-100 Terminal gebruiken

VT-100-modus wordt aanbevolen bij verbinding met apparaten die geavanceerde mens-machine-interactie vereisen, bijvoorbeeld voor het configureren of beheren van apparatuur en embedded systemen via een seriële console.

Typische voorbeelden:

  • netwerkrouters en switches;
  • hardware firewalls en zakelijke toegangspunten;
  • zakelijke servers (BIOS/UEFI, modules voor beheer op afstand);
  • embedded Linux-systemen (console, U-Boot, shell);
  • PLC's en industriële apparaten met tekstmenu's;
  • microcontrollers tijdens het opstarten of in consolemodus.

Een VT-100 Terminal Geïntegreerd in een Complete Tool

De SerialTool VT-100-terminal is volledig geïntegreerd in de software en kan naast andere geavanceerde functies worden gebruikt. U kunt een speciaal VT-100-venster toewijzen aan elke seriële poort, waardoor de logboeken van meerdere apparaten gescheiden blijven en verkeersanalyse eenvoudiger wordt.

Op deze manier combineert SerialTool VT-100-emulatie en seriële debugging op laag niveau in één oplossing, waardoor het gebruik van afzonderlijke applicaties wordt vermeden.

Dankzij volledige ondersteuning voor de VT-100-standaard en ANSI-sequenties biedt SerialTool een betrouwbare en professionele omgeving voor seriële interactie, ideaal voor embedded ontwikkelaars, industriële technici en IT-professionals.

Wat u moet weten over de SerialTool VT-100 Seriële Terminal

De seriële terminal heeft enkele belangrijke bijzonderheden om te verduidelijken met betrekking tot de algemene werking van SerialTool. Ten eerste heeft SerialTool twee grote categorieën terminals: de seriële terminal en de hexadecimale terminal.

De seriële terminal kan op zijn beurt in twee verschillende modi werken: klassieke modus en VT-100-emulatiemodus, het onderwerp van dit document.

De klassieke terminal geeft al het inkomende en uitgaande verkeer van alle geopende en toegewezen seriële poorten in één hoofdscherm weer.

Het is nuttig om een gedetailleerde inleiding te geven over de werking van de klassieke seriële terminal om de verschillen met de seriële terminal in VT-100-emulatie beter te begrijpen.

Voor elke seriële poort wordt in de klassieke terminal inkomend en uitgaand verkeer weergegeven met verschillende letterkleuren om het lezen te vergemakkelijken.

Verzonden en ontvangen bytes kunnen in verschillende modi worden bekeken: ASCII, hexadecimaal, binair of een combinatie hiervan. Dit komt doordat de ontwikkelaar mogelijk verschillende analysebehoeften heeft, vooral bij het werken met propriëtaire of standaardprotocollen zoals Modbus.

Een fundamenteel aspect is vaststellen wanneer een nieuwe regel in de terminal moet worden ingevoegd om te voorkomen dat alle bytes continu worden weergegeven, wat interpretatie bemoeilijkt.

In de klassieke terminal is het daarom noodzakelijk om te bepalen of de gegevens binnenkomen in streaming-modus, en of bij aankomst van een afsluitend teken (bijvoorbeeld 0x0A, 0x0D, of een combinatie daarvan) een nieuwe regel moet worden toegevoegd.

In andere gevallen is het noodzakelijk om het einde van een pakket te bepalen, zelfs bij afwezigheid van een afsluitend teken. Dit gebeurt door de verstreken tijd te meten sinds de laatst ontvangen byte.

Om deze reden heeft elke seriële poort de parameter Last Byte Timeout (Time-out laatste byte), uitgedrukt in milliseconden, waarna SerialTool het ontvangen pakket weergeeft.

Dit concept is fundamenteel en moet altijd in gedachten worden gehouden.

Klassieke Terminal – Pakketmodus (Packet Mode)

In Pakketmodus wordt een nieuwe regel aan de terminal toegevoegd:

  • altijd wanneer SerialTool een reeks bytes verzendt, aan het einde van de transmissie;
  • bij ontvangst, wanneer de tijd ingesteld in de Last Byte Timeout verstrijkt;
  • wanneer bytes worden verzonden of ontvangen van verschillende seriële poorten.

Klassieke Terminal – Streamingmodus

In Streaming-modus wordt een nieuwe regel toegevoegd:

  • bij ontvangst van een afsluitend teken (zelfs aangepast);
  • wanneer bytes worden verzonden of ontvangen van verschillende seriële poorten.

Verschillen met de VT-100 Terminal

De seriële terminal met VT-100-emulatie introduceert aanzienlijke verschillen. Ten eerste is het mogelijk om een of meer schermen toe te wijzen aan elke geopende seriële poort.

Elke seriële poort is daarom gekoppeld aan een specifiek venster (tabblad), waardoor het verkeer van meerdere apparaten gescheiden blijft. Dit is het eerste verschil op het niveau van de grafische interface.

Het tweede verschil is functioneel: terwijl in de klassieke terminal bytes worden weergegeven volgens gebruikersvoorkeuren (ASCII, HEX, enz.), wordt in de VT-100-terminal de bytestroom geïnterpreteerd door de emulator, waardoor deze een visuele betekenis krijgt.

Het externe apparaat kan bijvoorbeeld gekleurde berichten verzenden, en de tekstkleur wordt niet door de gebruiker gekozen, maar bepaald door het apparaat en geïnterpreteerd door de VT-100-terminal.

De VT-100-terminal interpreteert ook sequenties voor het wissen van het scherm, het herpositioneren van de cursor en andere grafische bewerkingen.

Een verdere functie is het beheer van rijen en kolommen, waarmee de terminal een echte tekstapplicatie kan emuleren, wetende wat de "resolutie" van het scherm is in termen van tekens.

De gebruiker kan ook speciale tekensreeksen naar het externe apparaat sturen, inclusief toetscombinaties zoals CTRL + toets, die specifiek gedrag genereren.

Dit type interactie zou buitengewoon complex zijn met behulp van een klassieke terminal op laag niveau.

Deze inleidende uitleg is fundamenteel om te begrijpen welk type terminal u moet gebruiken op basis van uw behoeften. Het goede nieuws is dat SerialTool beide modi ondersteunt.

Hoe de SerialTool VT-100 Seriële Terminal te gebruiken

Zoals eerder vermeld, moet aan elk terminalvenster een fysieke seriële poort worden toegewezen, wat het basiswerkingsprincipe van SerialTool vertegenwoordigt.

Selecteer eerst de terminalmodus in het hoofdmenu.

serial terminal option select

Selecteer Terminalmodus

set serial port terminal mode

Selecteer VT-100 Seriële Terminalmodus

Laten we beginnen met het tonen van het scherm van waaruit u een seriële poort kunt toewijzen aan de VT-100 seriële terminal.

Als er al seriële poorten zijn geconfigureerd vanuit het configuratiemenu voor seriële poorten, kunnen deze worden toegewezen aan een specifiek tabblad van de SerialTool VT-100-terminal.

Door op de middelste knop te klikken, worden de beschikbare seriële poorten weergegeven die kunnen worden toegewezen voor weergave in de VT-100-terminal.

serial port terminal assignment

Hoofd seriële terminalscherm met toegewezen seriële poorten

Zodra de seriële poort is geselecteerd, wordt een speciaal tabblad geopend met de informatie van de terminal en de toegewezen seriële poort, inclusief verwijzingen naar de fysieke poort of adapter die wordt gebruikt (bijvoorbeeld COMx op Windows of het apparaatpad op Linux en macOS).

serial port terminal port

Scherm met seriële poort 1 toegewezen en opening van een speciaal tabblad

Op dit punt, zodra de terminal die aan de seriële poort is gekoppeld open is, is het mogelijk om bytes te ontvangen en te verzenden naar het externe apparaat (vergeet niet de seriële poort te openen vanuit het speciale configuratiemenu en de communicatieparameters correct in te stellen).

In het volgende voorbeeld is het opstarten van een ESP32-S3-module zichtbaar. De tekst die in groen wordt weergegeven, is gegenereerd door de ESP32-module, die een specifieke reeks bytes heeft verzonden die vervolgens is geïnterpreteerd door de SerialTool VT-100-emulator.

serial port bootloader esp32

ESP32 Module Bootloader Scherm

In de VT-100-terminal kunt u met de muis een gebied met tekens van belang selecteren en dit vervolgens exporteren met de rechtermuisknop.

serial port export data

Terminalgegevens export (kopieer) scherm

Door op de rechtermuisknop te drukken, kunt u naast de mogelijkheid om de inhoud van de terminal te kopiëren, enkele terminalconfiguraties wijzigen, binnen de limieten die worden geboden door VT-100-emulatie.

Door “VT100 Terminal Settings” te selecteren, kunt u de terminalinstellingen wijzigen en opslaan als de standaardconfiguratie voor die seriële poort.

Het is belangrijk om te benadrukken dat configuraties ongewijzigd blijven, zelfs als de fysieke seriële poort verandert. Hierdoor kunnen, in geval van een herstart van SerialTool, de instellingen behouden blijven die zijn gekoppeld aan de logische seriële poort en niet aan het fysieke apparaat.

Bijvoorbeeld, als serieel 1 aanvankelijk is toegewezen aan poort COM12 en vervolgens wordt toegewezen aan COM8, zullen de instellingen ongewijzigd blijven omdat ze de toegewezen serieel volgen en niet de fysieke poort.

VT100 Terminal Instellingen – Volledige Uitleg

Startend vanaf het instellingenscherm (rechtermuisknop en “VT100 Terminal Settings”)

serial port terminal settings

Instellingenscherm van de seriële poortterminal in VT-100-emulatie

Use VT-100 Terminal Key Sequence

Activeert de daadwerkelijke VT-100-emulatie. Toetssequenties (pijlen, F1–F4, ESC, enz.) worden precies verzonden zoals een echte VT-100-terminal dat zou doen.

Fundamenteel voor:

  • tekstmenu's
  • embedded shells
  • bootloaders

Aanbevolen: AAN voor serieel gebruik

VT-100 Terminal Keyboard Input Settings

CTRL-gebaseerde ASCII-besturingselementen

Wijst CTRL + toets combinaties toe aan klassieke ASCII-codes:

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

Essentieel voor firmware, seriële monitors en low-level debugging. Aanbevolen: AAN

Niet-CTRL speciale toetsen

Definieert wat er wordt verzonden wanneer speciale toetsen worden ingedrukt:

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

Compatibel met U-Boot, Linux seriële console en VT-100-menu's. Aanbevolen: AAN

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

Geeft besturingstekens weer in leesbare vorm (bijv. CTRL+C → ^C). Nuttig voor debugging en onderwijs.

Aanbevolen: UIT voor normaal gebruik, AAN alleen voor debugging

Kleuren (Colors)

  • Background Color – Terminal achtergrondkleur
  • Opacity – Venstertransparantie

Lettertypen (Fonts)

  • Lettertype wijzigen / Standaard instellen / Monospace instellen / Terminal-lettertype instellen
  • Lettergrootte vergroten / verkleinen – Tekstzoom
  • Letterafstand – Afstand tussen tekens (aanbevolen 100%)

Diversen (Misc)

Enter Key – Definieert wat er wordt verzonden bij het drukken op Enter:

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

Typisch: MCU / modem / firmware → CRLF
Embedded Linux → vaak LF
Aanbevolen: CRLF

Suppress Local Echo: indien actief, wordt niet weergegeven wat u typt (alleen gebruiken als het externe apparaat echoot).

Show Timestamp: toont de tijdstempel naast ontvangen gegevens.

Show Navigation Bar: schakelt navigatie in de loggeschiedenis in (alleen nuttig met Terminal Emulator actief).

Terminal Emulator: maakt het mogelijk om de geschiedenis van ontvangen en verzonden bytes te bewaren, waarmee de visuele limiet van rijen en kolommen van de klassieke terminal wordt overwonnen.

Terminal Columns × Lines: terminalafmetingen. Auto modus aanbevolen.

Support UTF-8 (Receive / Transmit): decodeert UTF-8 bij ontvangst en verzendt UTF-8 bij verzending. Aanbevolen: UIT tenzij specifiek nodig.

Save Settings – slaat de configuratie van deze seriële poort op
Reset to Default – reset alleen deze terminal
Reset All Terminals – wereldwijde reset
Exit – sluit het venster