Terminal SerialTool VT-100

Dernière mise à jour le par Oliver Reed

Le terminal SerialTool VT-100 est conçu pour la communication interactive avec des appareils qui utilisent des interfaces textuelles avancées basées sur les normes VT-100 / ANSI. Ce mode est largement utilisé dans les environnements professionnels, industriels et embarqués, où l'appareil distant expose des menus, des shells ou des interfaces de configuration textuelles via le port série.

Remarque : pour des informations détaillées, vous pouvez également visiter ce lien Terminaux SerialTool

Contrairement à un terminal série "classique", qui se limite à afficher les octets reçus, le terminal VT-100 de SerialTool interprète le flux de données et les séquences d'échappement ANSI, permettant un rendu graphique correct et fidèle à l'interface prévue par l'appareil.

Communication Interactive et Séquences ANSI

Dans le terminal VT-100, les données transmises ne sont pas de simples caractères ASCII mais incluent des séquences de contrôle (ESC) utilisées pour effectuer des opérations "visuelles" dans le terminal. SerialTool interprète ces séquences en temps réel, permettant l'affichage de texte coloré, d'invites interactives, de menus textuels et d'écrans mis à jour dynamiquement.

Les séquences ANSI/ESC sont généralement utilisées pour :

  • déplacer le curseur sur l'écran ;
  • effacer des lignes ou le contenu entier du terminal ;
  • changer la couleur et les attributs du texte ;
  • gérer des menus interactifs et des écrans mis à jour dynamiquement ;
  • afficher des barres de progression ou des indicateurs textuels.

Quand utiliser le Terminal VT-100

Le mode VT-100 est recommandé lors de la connexion à des appareils nécessitant une interaction homme-machine avancée, par exemple, pour configurer ou gérer des équipements et des systèmes embarqués via une console série.

Exemples typiques :

  • routeurs et commutateurs réseau ;
  • pare-feux matériels et points d'accès d'entreprise ;
  • serveurs d'entreprise (BIOS/UEFI, modules de gestion à distance) ;
  • systèmes Linux embarqués (console, U-Boot, shell) ;
  • API (PLC) et appareils industriels avec menus textuels ;
  • microcontrôleurs pendant le démarrage ou en mode console.

Un Terminal VT-100 Intégré dans un Outil Complet

Le terminal SerialTool VT-100 est entièrement intégré au logiciel et peut être utilisé avec d'autres fonctionnalités avancées. Vous pouvez attribuer une fenêtre VT-100 dédiée à chaque port série, en gardant les journaux de plusieurs appareils séparés et en facilitant l'analyse du trafic.

De cette façon, SerialTool combine l'émulation VT-100 et le débogage série de bas niveau dans une solution unique, évitant l'utilisation d'applications séparées.

Grâce à la prise en charge complète de la norme VT-100 et des séquences ANSI, SerialTool offre un environnement d'interaction série fiable et professionnel, idéal pour les développeurs embarqués, les techniciens industriels et les professionnels de l'informatique.

Ce qu'il faut savoir sur le Terminal Série SerialTool VT-100

Le terminal série a quelques particularités importantes à clarifier concernant le fonctionnement général de SerialTool. Premièrement, SerialTool a deux grandes catégories de terminaux : le terminal série et le terminal hexadécimal.

Le terminal série, à son tour, peut fonctionner en deux modes distincts : le mode classique et le mode d'émulation VT-100, le sujet de ce document.

Le terminal classique affiche tout le trafic entrant et sortant de tous les ports série ouverts et attribués dans un seul écran principal.

Il est utile de faire une introduction détaillée sur le fonctionnement du terminal série classique pour mieux comprendre les différences par rapport au terminal série en émulation VT-100.

Pour chaque port série, dans le terminal classique, le trafic entrant et sortant est représenté avec des couleurs de police différentes pour faciliter la lecture.

Les octets transmis et reçus peuvent être visualisés dans divers modes : ASCII, hexadécimal, binaire ou une combinaison de ceux-ci. C'est parce que le développeur peut avoir des besoins d'analyse différents, en particulier lorsqu'il travaille avec des protocoles propriétaires ou standard tels que Modbus.

Un aspect fondamental est d'établir quand insérer une nouvelle ligne dans le terminal pour empêcher que tous les octets ne soient affichés en continu, ce qui rend l'interprétation difficile.

Dans le terminal classique, il est donc nécessaire de déterminer si les données arrivent en mode streaming, et si à l'arrivée d'un caractère de terminaison (par exemple 0x0A, 0x0D, ou une combinaison de ceux-ci) une nouvelle ligne doit être ajoutée.

Dans d'autres cas, il est nécessaire de déterminer la fin d'un paquet même en l'absence d'un caractère de terminaison. Cela se produit en mesurant le temps écoulé depuis le dernier octet reçu.

Pour cette raison, chaque port série a le paramètre Last Byte Timeout (Délai du dernier octet), exprimé en millisecondes, après lequel SerialTool affiche le paquet reçu.

Ce concept est fondamental et doit toujours être gardé à l'esprit.

Terminal Classique – Mode Paquet (Packet Mode)

En Mode Paquet, une nouvelle ligne est ajoutée au terminal :

  • toujours lorsque SerialTool envoie une séquence d'octets, à la fin de la transmission ;
  • en réception, lorsque le temps défini dans le Last Byte Timeout expire ;
  • lorsque des octets sont envoyés ou reçus depuis différents ports série.

Terminal Classique – Mode Streaming

En mode Streaming, une nouvelle ligne est ajoutée :

  • à la réception d'un caractère de terminaison (même personnalisé) ;
  • lorsque des octets sont envoyés ou reçus depuis différents ports série.

Différences avec le Terminal VT-100

Le terminal série avec émulation VT-100 introduit des différences significatives. Premièrement, il est possible d'avoir un ou plusieurs écrans dédiés à chaque port série ouvert.

Chaque port série est donc associé à une fenêtre spécifique (onglet), gardant le trafic de plusieurs appareils séparé. C'est la première différence au niveau de l'interface graphique.

La deuxième différence est fonctionnelle : alors que dans le terminal classique les octets sont affichés selon les préférences de l'utilisateur (ASCII, HEX, etc.), dans le terminal VT-100, le flux d'octets est interprété par l'émulateur, prenant un sens visuel.

Par exemple, l'appareil distant peut envoyer des messages colorés, et la couleur du texte n'est pas choisie par l'utilisateur, mais déterminée par l'appareil et interprétée par le terminal VT-100.

Le terminal VT-100 interprète également les séquences pour effacer l'écran, repositionner le curseur et d'autres opérations graphiques.

Une autre fonctionnalité est la gestion des lignes et des colonnes, qui permet au terminal d'émuler une véritable application textuelle, connaissant la "résolution" de l'écran en termes de caractères.

L'utilisateur peut également envoyer des séquences de caractères spéciaux à l'appareil distant, y compris des combinaisons de touches comme CTRL + touche, qui génèrent des comportements spécifiques.

Ce type d'interaction serait extrêmement complexe en utilisant un terminal classique de bas niveau.

Ces explications préliminaires sont fondamentales pour comprendre quel type de terminal utiliser en fonction de vos besoins. La bonne nouvelle est que SerialTool prend en charge les deux modes.

Comment utiliser le Terminal Série SerialTool VT-100

Comme mentionné précédemment, chaque fenêtre de terminal doit être attribuée à un port série physique, ce qui représente le principe de fonctionnement de base de SerialTool.

Tout d'abord, sélectionnez le mode terminal dans le menu principal.

serial terminal option select

Sélectionner le mode Terminal

set serial port terminal mode

Sélectionner le mode Terminal Série VT-100

Commençons par montrer l'écran à partir duquel vous pouvez attribuer un port série au terminal série VT-100.

S'il y a des ports série déjà configurés depuis le menu de configuration des ports série, ceux-ci peuvent être attribués à un onglet spécifique du terminal SerialTool VT-100.

Cliquer sur le bouton central affiche les ports série disponibles qui peuvent être attribués pour affichage dans le terminal VT-100.

serial port terminal assignment

Écran principal du terminal série avec les ports série attribués

Une fois le port série sélectionné, un onglet dédié est ouvert contenant les informations du terminal et du port série attribué, y compris les références au port physique ou à l'adaptateur utilisé (par exemple COMx sous Windows ou le chemin de l'appareil sous Linux et macOS).

serial port terminal port

Écran avec le port série 1 attribué et ouverture d'un onglet dédié

À ce stade, une fois le terminal associé au port série ouvert, il est possible de recevoir et d'envoyer des octets à l'appareil distant (n'oubliez pas d'ouvrir le port série depuis le menu de configuration dédié et de régler correctement les paramètres de communication).

Dans l'exemple suivant, le démarrage d'un module ESP32-S3 est visible. Le texte affiché en vert est généré par le module ESP32, qui a envoyé une séquence spécifique d'octets interprétée par la suite par l'émulateur SerialTool VT-100.

serial port bootloader esp32

Écran du Bootloader du module ESP32

Dans le terminal VT-100, vous pouvez sélectionner une zone de caractères d'intérêt avec la souris et l'exporter ensuite en utilisant le bouton droit de la souris.

serial port export data

Écran d'exportation (copie) des données du terminal

Appuyer sur le bouton droit de la souris, en plus de la capacité de copier le contenu du terminal, vous permet de modifier certaines configurations du terminal, dans les limites prévues par l'émulation VT-100.

En sélectionnant “VT100 Terminal Settings”, vous pouvez modifier les paramètres du terminal et les enregistrer comme configuration par défaut pour ce port série.

Il est important de souligner que les configurations restent inchangées même si le port série physique change. Cela permet, en cas de redémarrage de SerialTool, de conserver les paramètres associés au port série logique et non à l'appareil physique.

Par exemple, si le port série 1 est initialement attribué au port COM12 et est ensuite attribué à COM8, les paramètres resteront inchangés car ils suivent le port série attribué et non le port physique.

Paramètres du Terminal VT100 – Explication Complète

À partir de l'écran des paramètres (clic droit et “VT100 Terminal Settings”)

serial port terminal settings

Écran des paramètres du terminal de port série en émulation VT-100

Use VT-100 Terminal Key Sequence

Active l'émulation VT-100 réelle. Les séquences de touches (flèches, F1–F4, ESC, etc.) sont envoyées exactement comme le ferait un vrai terminal VT-100.

Fondamental pour :

  • les menus textuels
  • les shells embarqués
  • les bootloaders

Recommandé : ON pour une utilisation série

VT-100 Terminal Keyboard Input Settings

Contrôles ASCII basés sur CTRL

Mappe les combinaisons CTRL + touche aux codes ASCII classiques :

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

Essentiel pour le firmware, les moniteurs série et le débogage de bas niveau. Recommandé : ON

Touches spéciales non-CTRL

Définit ce qui est envoyé lorsque des touches spéciales sont pressées :

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

Compatible avec U-Boot, console série Linux et menus VT-100. Recommandé : ON

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

Affiche les caractères de contrôle sous forme lisible (par exemple, CTRL+C → ^C). Utile pour le débogage et l'enseignement.

Recommandé : OFF pour une utilisation normale, ON uniquement pour le débogage

Couleurs (Colors)

  • Background Color – Couleur de fond du terminal
  • Opacity – Transparence de la fenêtre

Polices (Fonts)

  • Changer de police / Définir par défaut / Définir monospace / Définir police de terminal
  • Augmenter / Diminuer la taille de la police – Zoom texte
  • Espacement de la police – Espacement entre les caractères (recommandé 100%)

Divers (Misc)

Touche Entrée – Définit ce qui est envoyé en appuyant sur Entrée :

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

Typiquement : MCU / modem / firmware → CRLF
Linux embarqué → souvent LF
Recommandé : CRLF

Suppress Local Echo : si actif, n'affiche pas ce que vous tapez (utilisez uniquement si l'appareil distant fait écho).

Show Timestamp : affiche l'horodatage à côté des données reçues.

Show Navigation Bar : active la navigation dans l'historique des journaux (utile uniquement avec Terminal Emulator actif).

Terminal Emulator : permet de conserver l'historique des octets reçus et envoyés, surmontant la limite visuelle des lignes et des colonnes du terminal classique.

Terminal Columns × Lines : dimensions du terminal. Mode Auto recommandé.

Support UTF-8 (Receive / Transmit) : décode UTF-8 en réception et envoie UTF-8 en transmission. Recommandé : OFF sauf besoin spécifique.

Save Settings – enregistre la configuration de ce port série
Reset to Default – réinitialise uniquement ce terminal
Reset All Terminals – réinitialisation globale
Exit – ferme la fenêtre