Terminal SerialTool VT-100

Última atualização em por Oliver Reed

O terminal SerialTool VT-100 foi projetado para comunicação interativa com dispositivos que utilizam interfaces de texto avançadas baseadas nos padrões VT-100 / ANSI. Este modo é amplamente utilizado em ambientes profissionais, industriais e embarcados, onde o dispositivo remoto expõe menus, shells ou interfaces de configuração baseadas em texto via porta serial.

Nota: para informações detalhadas, você também pode visitar este link Terminais SerialTool

Diferente de um terminal serial "clássico", que se limita a exibir os bytes recebidos, o terminal VT-100 do SerialTool interpreta o fluxo de dados e as sequências de escape ANSI, permitindo uma renderização gráfica correta e fiel à interface pretendida pelo dispositivo.

Comunicação Interativa e Sequências ANSI

No terminal VT-100, os dados transmitidos não são simples caracteres ASCII, mas incluem sequências de controle (ESC) usadas para realizar operações "visuais" dentro do terminal. O SerialTool interpreta essas sequências em tempo real, permitindo a exibição de saída colorida, prompts interativos, menus de texto e telas atualizadas dinamicamente.

As sequências ANSI/ESC são tipicamente usadas para:

  • mover o cursor na tela;
  • limpar linhas ou todo o conteúdo do terminal;
  • alterar a cor e os atributos do texto;
  • gerenciar menus interativos e telas atualizadas dinamicamente;
  • mostrar barras de progresso ou indicadores textuais.

Quando usar o Terminal VT-100

O modo VT-100 é recomendado ao conectar-se a dispositivos que requerem interação homem-máquina avançada, por exemplo, para configurar ou gerenciar equipamentos e sistemas embarcados via console serial.

Exemplos típicos:

  • roteadores e switches de rede;
  • firewalls de hardware e pontos de acesso empresariais;
  • servidores empresariais (BIOS/UEFI, módulos de gerenciamento remoto);
  • sistemas Linux embarcados (console, U-Boot, shell);
  • PLCs e dispositivos industriais com menus de texto;
  • microcontroladores durante o boot ou em modo console.

Um Terminal VT-100 Integrado em uma Ferramenta Completa

O terminal SerialTool VT-100 é totalmente integrado ao software e pode ser usado juntamente com outros recursos avançados. Você pode atribuir uma janela VT-100 dedicada a cada porta serial, mantendo os logs de múltiplos dispositivos separados e tornando a análise de tráfego mais fácil.

Dessa forma, o SerialTool combina emulação VT-100 e depuração serial de baixo nível em uma única solução, evitando o uso de aplicativos separados.

Graças ao suporte completo ao padrão VT-100 e sequências ANSI, o SerialTool oferece um ambiente de interação serial confiável e profissional, ideal para desenvolvedores embarcados, técnicos industriais e profissionais de TI.

O que saber sobre o Terminal Serial SerialTool VT-100

O terminal serial possui algumas peculiaridades importantes a serem esclarecidas em relação ao funcionamento geral do SerialTool. Primeiro, o SerialTool possui duas grandes categorias de terminais: o terminal serial e o terminal hexadecimal.

O terminal serial, por sua vez, pode funcionar em dois modos distintos: modo clássico e modo de emulação VT-100, o assunto deste documento.

O terminal clássico exibe todo o tráfego de entrada e saída de todas as portas seriais abertas e atribuídas em uma única tela principal.

É útil fazer uma premissa detalhada sobre o funcionamento do terminal serial clássico para entender melhor as diferenças em comparação com o terminal serial em emulação VT-100.

Para cada porta serial, no terminal clássico, o tráfego de entrada e saída é representado com diferentes cores de fonte para facilitar a leitura.

Bytes transmitidos e recebidos podem ser visualizados em vários modos: ASCII, hexadecimal, binário ou uma combinação destes. Isso ocorre porque o desenvolvedor pode ter diferentes necessidades de análise, especialmente ao trabalhar com protocolos proprietários ou padrão como Modbus.

Um aspecto fundamental é estabelecer quando inserir uma nova linha no terminal para evitar que todos os bytes sejam exibidos continuamente, dificultando a interpretação.

No terminal clássico, portanto, é necessário determinar se os dados chegam em modo streaming, e se na chegada de um caractere terminador (por exemplo 0x0A, 0x0D, ou uma combinação deles) uma nova linha deve ser adicionada.

Em outros casos, é necessário determinar o fim de um pacote mesmo na ausência de um caractere terminador. Isso acontece medindo o tempo decorrido desde o último byte recebido.

Por esse motivo, cada porta serial possui o parâmetro Last Byte Timeout (Tempo limite do último byte), expresso em milissegundos, após o qual o SerialTool exibe o pacote recebido.

Este conceito é fundamental e deve ser sempre levado em consideração.

Terminal Clássico – Modo Pacote (Packet Mode)

No Modo Pacote, uma nova linha é adicionada ao terminal:

  • sempre que o SerialTool envia uma sequência de bytes, no final da transmissão;
  • na recepção, quando o tempo definido no Last Byte Timeout expira;
  • quando bytes são enviados ou recebidos de diferentes portas seriais.

Terminal Clássico – Modo Streaming

No modo Streaming, uma nova linha é adicionada:

  • ao receber um caractere terminador (mesmo personalizado);
  • quando bytes são enviados ou recebidos de diferentes portas seriais.

Diferenças com o Terminal VT-100

O terminal serial com emulação VT-100 introduz diferenças significativas. Primeiramente, é possível ter uma ou mais telas dedicadas a cada porta serial aberta.

Cada porta serial é, portanto, associada a uma janela específica (aba), mantendo o tráfego de múltiplos dispositivos separado. Esta é a primeira diferença no nível da interface gráfica.

A segunda diferença é funcional: enquanto no terminal clássico os bytes são exibidos de acordo com as preferências do usuário (ASCII, HEX, etc.), no terminal VT-100, o fluxo de bytes é interpretado pelo emulador, assumindo um significado visual.

Por exemplo, o dispositivo remoto pode enviar mensagens coloridas, e a cor do texto não é escolhida pelo usuário, mas determinada pelo dispositivo e interpretada pelo terminal VT-100.

O terminal VT-100 também interpreta sequências para limpar a tela, reposicionar o cursor e outras operações gráficas.

Uma característica adicional é o gerenciamento de linhas e colunas, que permite ao terminal emular uma aplicação de texto real, conhecendo a "resolução" da tela em termos de caracteres.

O usuário também pode enviar sequências de caracteres especiais para o dispositivo remoto, incluindo combinações de teclas como CTRL + tecla, que geram comportamentos específicos.

Esse tipo de interação seria extremamente complexo usando um terminal clássico de baixo nível.

Essas explicações preliminares são fundamentais para entender qual tipo de terminal usar com base em suas necessidades. A boa notícia é que o SerialTool suporta ambos os modos.

Como usar o Terminal Serial SerialTool VT-100

Como mencionado anteriormente, cada janela de terminal deve ser atribuída a uma porta serial física, o que representa o princípio operacional básico do SerialTool.

Primeiro, selecione o modo terminal no menu principal.

serial terminal option select

Selecionar Modo Terminal

set serial port terminal mode

Selecionar Modo Terminal Serial VT-100

Vamos começar mostrando a tela a partir da qual você pode atribuir uma porta serial ao terminal serial VT-100.

Se já houver portas seriais configuradas no menu de configuração de portas seriais, elas podem ser atribuídas a uma aba específica do terminal SerialTool VT-100.

Clicar no botão central exibe as portas seriais disponíveis que podem ser atribuídas para exibição no terminal VT-100.

serial port terminal assignment

Tela principal do terminal serial com portas seriais atribuídas

Uma vez selecionada a porta serial, uma aba dedicada é aberta contendo as informações do terminal e da porta serial atribuída, incluindo referências à porta física ou adaptador utilizado (por exemplo COMx no Windows ou o caminho do dispositivo no Linux e macOS).

serial port terminal port

Tela com a porta serial 1 atribuída e abertura de uma aba dedicada

Neste ponto, uma vez que o terminal associado à porta serial está aberto, é possível receber e enviar bytes para o dispositivo remoto (lembre-se de abrir a porta serial no menu de configuração dedicado e definir corretamente os parâmetros de comunicação).

No exemplo a seguir, o boot de um módulo ESP32-S3 é visível. O texto exibido em verde é gerado pelo módulo ESP32, que enviou uma sequência específica de bytes posteriormente interpretada pelo emulador SerialTool VT-100.

serial port bootloader esp32

Tela do Bootloader do Módulo ESP32

No terminal VT-100, você pode selecionar uma área de caracteres de interesse com o mouse e posteriormente exportá-la usando o botão direito do mouse.

serial port export data

Tela de exportação (cópia) de dados do terminal

Pressionar o botão direito do mouse, além da capacidade de copiar o conteúdo do terminal, permite modificar algumas configurações do terminal, dentro dos limites fornecidos pela emulação VT-100.

Selecionando “VT100 Terminal Settings”, você pode modificar as configurações do terminal e salvá-las como a configuração padrão para essa porta serial.

É importante enfatizar que as configurações permanecem inalteradas mesmo se a porta serial física mudar. Isso permite, em caso de reinicialização do SerialTool, manter as configurações associadas à porta serial lógica e não ao dispositivo físico.

Por exemplo, se a serial 1 for inicialmente atribuída à porta COM12 e for posteriormente atribuída à COM8, as configurações permanecerão inalteradas porque seguem a serial atribuída e não a porta física.

Configurações do Terminal VT100 – Explicação Completa

Começando pela tela de configurações (clique com o botão direito e “VT100 Terminal Settings”)

serial port terminal settings

Tela de configurações do terminal de porta serial em emulação VT-100

Use VT-100 Terminal Key Sequence

Ativa a emulação VT-100 real. Sequências de teclas (setas, F1–F4, ESC, etc.) são enviadas exatamente como um terminal VT-100 real faria.

Fundamental para:

  • menus de texto
  • shells embarcados
  • bootloaders

Recomendado: ON para uso serial

VT-100 Terminal Keyboard Input Settings

Controles ASCII baseados em CTRL

Mapeia combinações CTRL + tecla para códigos ASCII clássicos:

CombinaçãoCódigoSignificado
CTRL + @0x00NUL
CTRL + Z0x1ASUB
CTRL + [0x1BESC
CTRL + \0x1CFS
CTRL + ]0x1DGS
CTRL + ^0x1ERS
CTRL + _0x1FUS
CTRL + ?0x7FDEL

Essencial para firmware, monitores seriais e depuração de baixo nível. Recomendado: ON

Teclas especiais não-CTRL

Define o que é enviado quando teclas especiais são pressionadas:

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

Compatível com U-Boot, console serial Linux e menus VT-100. Recomendado: ON

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

Exibe caracteres de controle em forma legível (por exemplo, CTRL+C → ^C). Útil para depuração e ensino.

Recomendado: OFF para uso normal, ON apenas para depuração

Cores (Colors)

  • Background Color – Cor de fundo do terminal
  • Opacity – Transparência da janela

Fontes (Fonts)

  • Alterar fonte / Definir padrão / Definir monoespaçada / Definir fonte do terminal
  • Aumentar / Diminuir tamanho da fonte – Zoom de texto
  • Espaçamento da fonte – Espaçamento entre caracteres (recomendado 100%)

Diversos (Misc)

Tecla Enter – Define o que é enviado ao pressionar Enter:

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

Tipicamente: MCU / modem / firmware → CRLF
Linux embarcado → frequentemente LF
Recomendado: CRLF

Suppress Local Echo: se ativo, não mostra o que você digita (use apenas se o dispositivo remoto fizer eco).

Show Timestamp: mostra o carimbo de data/hora ao lado dos dados recebidos.

Show Navigation Bar: habilita a navegação no histórico de logs (útil apenas com Terminal Emulator ativo).

Terminal Emulator: permite manter o histórico de bytes recebidos e enviados, superando o limite visual de linhas e colunas do terminal clássico.

Terminal Columns × Lines: dimensões do terminal. Modo Auto recomendado.

Support UTF-8 (Receive / Transmit): decodifica UTF-8 na recepção e envia UTF-8 na transmissão. Recomendado: OFF a menos que especificamente necessário.

Save Settings – salva a configuração desta porta serial
Reset to Default – redefine apenas este terminal
Reset All Terminals – redefinição global
Exit – fecha a janela