Terminal VT-100 de SerialTool

Última actualización el por Oliver Reed

El terminal VT-100 de SerialTool está diseñado para la comunicación interactiva con dispositivos que utilizan interfaces de texto avanzadas basadas en los estándares VT-100 / ANSI. Este modo es ampliamente utilizado en entornos profesionales, industriales y embebidos, donde el dispositivo remoto expone menús, shells o interfaces de configuración basadas en texto a través del puerto serie.

Nota: para información detallada también puede visitar este enlace Terminales SerialTool

A diferencia de un terminal serie "clásico", que se limita a mostrar los bytes recibidos, el terminal VT-100 de SerialTool interpreta el flujo de datos y las secuencias de escape ANSI, permitiendo una representación gráfica correcta y fiel a la interfaz prevista por el dispositivo.

Comunicación Interactiva y Secuencias ANSI

En el terminal VT-100, los datos transmitidos no son simples caracteres ASCII, sino que incluyen secuencias de control (ESC) utilizadas para realizar operaciones "visuales" dentro del terminal. SerialTool interpreta estas secuencias en tiempo real, permitiendo la visualización de texto coloreado, prompts interactivos, menús de texto y pantallas actualizadas dinámicamente.

Las secuencias ANSI/ESC se utilizan típicamente para:

  • mover el cursor en la pantalla;
  • borrar líneas o el contenido completo del terminal;
  • cambiar el color y los atributos del texto;
  • gestionar menús interactivos y pantallas actualizadas dinámicamente;
  • mostrar barras de progreso o indicadores textuales.

Cuándo usar el Terminal VT-100

Se recomienda el modo VT-100 al conectarse a dispositivos que requieren una interacción hombre-máquina avanzada, por ejemplo, para configurar o gestionar equipos y sistemas embebidos a través de la consola serie.

Ejemplos típicos:

  • routers y switches de red;
  • cortafuegos de hardware y puntos de acceso empresariales;
  • servidores empresariales (BIOS/UEFI, módulos de gestión remota);
  • sistemas Linux embebidos (consola, U-Boot, shell);
  • PLC y dispositivos industriales con menús de texto;
  • microcontroladores durante el arranque o en modo consola.

Un Terminal VT-100 Integrado en una Herramienta Completa

El terminal VT-100 de SerialTool está completamente integrado en el software y puede usarse junto con otras funciones avanzadas. Puede asignar una ventana VT-100 dedicada a cada puerto serie, manteniendo los registros de múltiples dispositivos separados y facilitando el análisis del tráfico.

De esta manera, SerialTool combina la emulación VT-100 y la depuración serie de bajo nivel en una sola solución, evitando el uso de aplicaciones separadas.

Gracias al soporte completo para el estándar VT-100 y las secuencias ANSI, SerialTool ofrece un entorno de interacción serie fiable y profesional, ideal para desarrolladores embebidos, técnicos industriales y profesionales de TI.

Qué debe saber sobre el Terminal Serie VT-100 de SerialTool

El terminal serie tiene algunas peculiaridades importantes que aclarar con respecto al funcionamiento general de SerialTool. Primero, SerialTool tiene dos categorías principales de terminales: el terminal serie y el terminal hexadecimal.

El terminal serie, a su vez, puede funcionar en dos modos distintos: modo clásico y modo de emulación VT-100, el tema de este documento.

El terminal clásico muestra todo el tráfico entrante y saliente de todos los puertos serie abiertos y asignados en una sola pantalla principal.

Es útil hacer una premisa detallada sobre el funcionamiento del terminal serie clásico para comprender mejor las diferencias en comparación con el terminal serie en emulación VT-100.

Para cada puerto serie, en el terminal clásico, el tráfico entrante y saliente se representa con diferentes colores de fuente para facilitar la lectura.

Los bytes transmitidos y recibidos se pueden ver en varios modos: ASCII, hexadecimal, binario o una combinación de estos. Esto se debe a que el desarrollador puede tener diferentes necesidades de análisis, especialmente cuando trabaja con protocolos propietarios o estándar como Modbus.

Un aspecto fundamental es establecer cuándo insertar una nueva línea en el terminal para evitar que todos los bytes se muestren continuamente, dificultando la interpretación.

En el terminal clásico, por lo tanto, es necesario determinar si los datos llegan en modo streaming, y si a la llegada de un carácter terminador (por ejemplo 0x0A, 0x0D, o una combinación de ellos) se debe agregar una nueva línea.

En otros casos, es necesario determinar el final de un paquete incluso en ausencia de un carácter terminador. Esto sucede midiendo el tiempo transcurrido desde el último byte recibido.

Por esta razón, cada puerto serie tiene el parámetro Last Byte Timeout (Tiempo de espera del último byte), expresado en milisegundos, después del cual SerialTool muestra el paquete recibido.

Este concepto es fundamental y debe tenerse siempre en cuenta.

Terminal Clásico – Modo Paquete (Packet Mode)

En Modo Paquete, se agrega una nueva línea al terminal:

  • siempre que SerialTool envía una secuencia de bytes, al final de la transmisión;
  • en recepción, cuando expira el tiempo establecido en el Last Byte Timeout;
  • cuando se envían o reciben bytes desde diferentes puertos serie.

Terminal Clásico – Modo Streaming

En modo Streaming, se agrega una nueva línea:

  • al recibir un carácter terminador (incluso personalizado);
  • cuando se envían o reciben bytes desde diferentes puertos serie.

Diferencias con el Terminal VT-100

El terminal serie con emulación VT-100 introduce diferencias significativas. En primer lugar, es posible tener una o más pantallas dedicadas a cada puerto serie abierto.

Cada puerto serie está, por lo tanto, asociado a una ventana específica (pestaña), manteniendo el tráfico de múltiples dispositivos separado. Esta es la primera diferencia a nivel de interfaz gráfica.

La segunda diferencia es funcional: mientras que en el terminal clásico los bytes se muestran según las preferencias del usuario (ASCII, HEX, etc.), en el terminal VT-100, el flujo de bytes es interpretado por el emulador, asumiendo un significado visual.

Por ejemplo, el dispositivo remoto puede enviar mensajes coloreados, y el color del texto no es elegido por el usuario, sino determinado por el dispositivo e interpretado por el terminal VT-100.

El terminal VT-100 también interpreta secuencias para borrar la pantalla, reposicionar el cursor y otras operaciones gráficas.

Una característica adicional es la gestión de filas y columnas, que permite al terminal emular una aplicación de texto real, conociendo la "resolución" de la pantalla en términos de caracteres.

El usuario también puede enviar secuencias de caracteres especiales al dispositivo remoto, incluyendo combinaciones de teclas como CTRL + tecla, que generan comportamientos específicos.

Este tipo de interacción sería extremadamente compleja utilizando un terminal clásico de bajo nivel.

Estas explicaciones preliminares son fundamentales para comprender qué tipo de terminal usar según sus necesidades. La buena noticia es que SerialTool soporta ambos modos.

Cómo usar el Terminal Serie VT-100 de SerialTool

Como se mencionó anteriormente, cada ventana de terminal debe asignarse a un puerto serie físico, lo que representa el principio operativo básico de SerialTool.

Primero, seleccione el modo terminal desde el menú principal.

serial terminal option select

Seleccionar Modo Terminal

set serial port terminal mode

Seleccionar Modo Terminal Serie VT-100

Comencemos mostrando la pantalla desde la cual puede asignar un puerto serie al terminal serie VT-100.

Si ya hay puertos serie configurados desde el menú de configuración de puertos serie, estos pueden asignarse a una pestaña específica del terminal VT-100 de SerialTool.

Al hacer clic en el botón central se muestran los puertos serie disponibles que se pueden asignar para su visualización en el terminal VT-100.

serial port terminal assignment

Pantalla principal del terminal serie con puertos serie asignados

Una vez seleccionado el puerto serie, se abre una pestaña dedicada que contiene la información del terminal y el puerto serie asignado, incluyendo referencias al puerto físico o adaptador utilizado (por ejemplo COMx en Windows o la ruta del dispositivo en Linux y macOS).

serial port terminal port

Pantalla con el puerto serie 1 asignado y apertura de una pestaña dedicada

En este punto, una vez abierto el terminal asociado al puerto serie, es posible recibir y enviar bytes al dispositivo remoto (recuerde abrir el puerto serie desde el menú de configuración dedicado y establecer correctamente los parámetros de comunicación).

En el siguiente ejemplo, es visible el arranque de un módulo ESP32-S3. El texto que se muestra en verde es generado por el módulo ESP32, que envió una secuencia específica de bytes posteriormente interpretada por el emulador VT-100 de SerialTool.

serial port bootloader esp32

Pantalla del Bootloader del Módulo ESP32

En el terminal VT-100, puede seleccionar un área de caracteres de interés con el ratón y posteriormente exportarla usando el botón derecho del ratón.

serial port export data

Pantalla de exportación (copia) de datos del terminal

Presionar el botón derecho del ratón, además de la capacidad de copiar el contenido del terminal, le permite modificar algunas configuraciones del terminal, dentro de los límites proporcionados por la emulación VT-100.

Seleccionando “VT100 Terminal Settings”, puede modificar la configuración del terminal y guardarla como la configuración predeterminada para ese puerto serie.

Es importante enfatizar que las configuraciones permanecen sin cambios incluso si cambia el puerto serie físico. Esto permite, en caso de un reinicio de SerialTool, mantener la configuración asociada con el puerto serie lógico y no con el dispositivo físico.

Por ejemplo, si el puerto serie 1 está asignado inicialmente al puerto COM12 y posteriormente se asigna a COM8, la configuración permanecerá sin cambios porque sigue al puerto serie asignado y no al puerto físico.

Configuración del Terminal VT100 – Explicación Completa

Comenzando desde la pantalla de configuración (clic derecho y “VT100 Terminal Settings”)

serial port terminal settings

Pantalla de configuración del terminal de puerto serie en emulación VT-100

Use VT-100 Terminal Key Sequence

Activa la emulación VT-100 real. Las secuencias de teclas (flechas, F1–F4, ESC, etc.) se envían exactamente como lo haría un terminal VT-100 real.

Fundamental para:

  • menús de texto
  • shells embebidos
  • bootloaders

Recomendado: ON para uso serie

VT-100 Terminal Keyboard Input Settings

Controles ASCII basados en CTRL

Asigna combinaciones CTRL + tecla a códigos ASCII clásicos:

CombinaciónCódigoSignificado
CTRL + @0x00NUL
CTRL + Z0x1ASUB
CTRL + [0x1BESC
CTRL + \0x1CFS
CTRL + ]0x1DGS
CTRL + ^0x1ERS
CTRL + _0x1FUS
CTRL + ?0x7FDEL

Esencial para firmware, monitores serie y depuración de bajo nivel. Recomendado: ON

Teclas especiales sin CTRL

Define qué se envía cuando se presionan teclas especiales:

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

Compatible con U-Boot, consola serie Linux y menús VT-100. Recomendado: ON

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

Muestra caracteres de control en forma legible (por ejemplo, CTRL+C → ^C). Útil para depuración y enseñanza.

Recomendado: OFF para uso normal, ON solo para depuración

Colores (Colors)

  • Background Color – Color de fondo del terminal
  • Opacity – Transparencia de la ventana

Fuentes (Fonts)

  • Cambiar fuente / Establecer predeterminado / Establecer monoespaciado / Establecer fuente de terminal
  • Aumentar / Disminuir tamaño de fuente – Zoom de texto
  • Espaciado de fuente – Espaciado entre caracteres (recomendado 100%)

Varios (Misc)

Tecla Enter – Define qué se envía al presionar Enter:

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

Típicamente: MCU / módem / firmware → CRLF
Linux embebido → a menudo LF
Recomendado: CRLF

Suppress Local Echo: si está activo, no muestra lo que escribe (use solo si el dispositivo remoto hace eco).

Show Timestamp: muestra la marca de tiempo junto a los datos recibidos.

Show Navigation Bar: habilita la navegación en el historial de registros (útil solo con Terminal Emulator activo).

Terminal Emulator: permite mantener el historial de bytes recibidos y enviados, superando el límite visual de filas y columnas del terminal clásico.

Terminal Columns × Lines: dimensiones del terminal. Modo Auto recomendado.

Support UTF-8 (Receive / Transmit): decodifica UTF-8 en recepción y envía UTF-8 en transmisión. Recomendado: OFF a menos que se necesite específicamente.

Save Settings – guarda la configuración de este puerto serie
Reset to Default – restablece solo este terminal
Reset All Terminals – restablecimiento global
Exit – cierra la ventana