Терминал SerialTool VT-100

Последнее обновление автор: Oliver Reed

Терминал SerialTool VT-100 предназначен для интерактивного общения с устройствами, использующими продвинутые текстовые интерфейсы на основе стандартов VT-100 / ANSI. Этот режим широко используется в профессиональных, промышленных и встраиваемых средах, где удаленное устройство предоставляет меню, оболочки или текстовые интерфейсы конфигурации через последовательный порт.

Примечание: для получения подробной информации вы также можете посетить эту ссылку Терминалы SerialTool

В отличие от «классического» последовательного терминала, который ограничивается отображением полученных байтов, терминал VT-100 от SerialTool интерпретирует поток данных и escape-последовательности ANSI, обеспечивая корректный графический рендеринг, соответствующий задуманному интерфейсу устройства.

Интерактивная коммуникация и последовательности ANSI

В терминале VT-100 передаваемые данные представляют собой не простые символы ASCII, а включают управляющие последовательности (ESC), используемые для выполнения «визуальных» операций внутри терминала. SerialTool интерпретирует эти последовательности в реальном времени, позволяя отображать цветной вывод, интерактивные подсказки, текстовые меню и динамически обновляемые экраны.

Последовательности ANSI/ESC обычно используются для:

  • перемещения курсора на экране;
  • очистки строк или всего содержимого терминала;
  • изменения цвета и атрибутов текста;
  • управления интерактивными меню и динамически обновляемыми экранами;
  • отображения индикаторов выполнения или текстовых индикаторов.

Когда использовать терминал VT-100

Режим VT-100 рекомендуется при подключении к устройствам, требующим продвинутого взаимодействия человека с машиной, например, для настройки или управления оборудованием и встраиваемыми системами через последовательную консоль.

Типичные примеры:

  • сетевые маршрутизаторы и коммутаторы;
  • аппаратные брандмауэры и корпоративные точки доступа;
  • корпоративные серверы (BIOS/UEFI, модули удаленного управления);
  • встраиваемые системы Linux (консоль, U-Boot, оболочка);
  • ПЛК и промышленные устройства с текстовыми меню;
  • микроконтроллеры во время загрузки или в режиме консоли.

Терминал VT-100, интегрированный в полный набор инструментов

Терминал SerialTool VT-100 полностью интегрирован в программное обеспечение и может использоваться вместе с другими продвинутыми функциями. Вы можете назначить отдельное окно VT-100 каждому последовательному порту, разделяя журналы нескольких устройств и делая анализ трафика проще.

Таким образом, SerialTool объединяет эмуляцию VT-100 и низкоуровневую отладку последовательного порта в одном решении, избегая использования отдельных приложений.

Благодаря полной поддержке стандарта VT-100 и последовательностей ANSI, SerialTool предлагает надежную и профессиональную среду последовательного взаимодействия, идеальную для разработчиков встраиваемых систем, промышленных техников и ИТ-специалистов.

Что нужно знать о последовательном терминале SerialTool VT-100

Последовательный терминал имеет некоторые важные особенности, которые необходимо прояснить в отношении общей работы SerialTool. Во-первых, SerialTool имеет две основные категории терминалов: последовательный терминал и шестнадцатеричный терминал.

Последовательный терминал, в свою очередь, может работать в двух различных режимах: классический режим и режим эмуляции VT-100, о котором идет речь в этом документе.

Классический терминал отображает весь входящий и исходящий трафик от всех открытых и назначенных последовательных портов на одном главном экране.

Полезно сделать подробное вступление о работе классического последовательного терминала, чтобы лучше понять различия по сравнению с последовательным терминалом в эмуляции VT-100.

Для каждого последовательного порта в классическом терминале входящий и исходящий трафик представлен разными цветами шрифта для облегчения чтения.

Переданные и полученные байты можно просматривать в различных режимах: ASCII, шестнадцатеричный, двоичный или их комбинация. Это связано с тем, что у разработчика могут быть разные потребности в анализе, особенно при работе с проприетарными или стандартными протоколами, такими как Modbus.

Фундаментальным аспектом является определение момента вставки новой строки в терминал, чтобы предотвратить непрерывное отображение всех байтов, затрудняющее интерпретацию.

В классическом терминале, следовательно, необходимо определить, поступают ли данные в режиме потоковой передачи, и нужно ли при поступлении символа-терминатора (например, 0x0A, 0x0D или их комбинации) добавлять новую строку.

В других случаях необходимо определить конец пакета даже при отсутствии символа-терминатора. Это происходит путем измерения времени, прошедшего с момента получения последнего байта.

По этой причине каждый последовательный порт имеет параметр Last Byte Timeout (Тайм-аут последнего байта), выраженный в миллисекундах, после которого SerialTool отображает полученный пакет.

Эта концепция является фундаментальной и должна всегда учитываться.

Классический терминал – Пакетный режим (Packet Mode)

В Пакетном режиме новая строка добавляется в терминал:

  • всегда, когда SerialTool отправляет последовательность байтов, в конце передачи;
  • при приеме, когда истекает время, установленное в Last Byte Timeout;
  • когда байты отправляются или принимаются с разных последовательных портов.

Классический терминал – Потоковый режим (Streaming Mode)

В Потоковом режиме новая строка добавляется:

  • при получении символа-терминатора (даже пользовательского);
  • когда байты отправляются или принимаются с разных последовательных портов.

Различия с терминалом VT-100

Последовательный терминал с эмуляцией VT-100 вносит существенные различия. Во-первых, можно иметь один или несколько экранов, предназначенных для каждого открытого последовательного порта.

Следовательно, каждый последовательный порт связан с определенным окном (вкладкой), сохраняя трафик нескольких устройств разделенным. Это первое различие на уровне графического интерфейса.

Второе различие функциональное: в то время как в классическом терминале байты отображаются в соответствии с предпочтениями пользователя (ASCII, HEX и т. д.), в терминале VT-100 поток байтов интерпретируется эмулятором, принимая визуальное значение.

Например, удаленное устройство может отправлять цветные сообщения, и цвет текста не выбирается пользователем, а определяется устройством и интерпретируется терминалом VT-100.

Терминал VT-100 также интерпретирует последовательности для очистки экрана, перемещения курсора и других графических операций.

Еще одной особенностью является управление строками и столбцами, что позволяет терминалу эмулировать реальное текстовое приложение, зная «разрешение» экрана в символах.

Пользователь также может отправлять специальные последовательности символов на удаленное устройство, включая комбинации клавиш, такие как CTRL + клавиша, которые генерируют определенное поведение.

Такой тип взаимодействия был бы чрезвычайно сложным при использовании низкоуровневого классического терминала.

Эти предварительные объяснения фундаментальны для понимания того, какой тип терминала использовать в зависимости от ваших потребностей. Хорошая новость заключается в том, что SerialTool поддерживает оба режима.

Как использовать последовательный терминал SerialTool VT-100

Как упоминалось ранее, каждому окну терминала должен быть назначен физический последовательный порт, что представляет собой основной принцип работы SerialTool.

Сначала выберите режим терминала в главном меню.

serial terminal option select

Выбор режима терминала

set serial port terminal mode

Выбор режима последовательного терминала VT-100

Давайте начнем с показа экрана, с которого вы можете назначить последовательный порт последовательному терминалу VT-100.

Если в меню конфигурации последовательного порта уже настроены последовательные порты, их можно назначить определенной вкладке терминала SerialTool VT-100.

Нажатие на центральную кнопку отображает доступные последовательные порты, которые могут быть назначены для отображения в терминале VT-100.

serial port terminal assignment

Главный экран последовательного терминала с назначенными последовательными портами

Как только последовательный порт выбран, открывается специальная вкладка, содержащая информацию о терминале и назначенном последовательном порте, включая ссылки на используемый физический порт или адаптер (например, COMx в Windows или путь к устройству в Linux и macOS).

serial port terminal port

Экран с назначенным последовательным портом 1 и открытием специальной вкладки

На этом этапе, когда терминал, связанный с последовательным портом, открыт, можно принимать и отправлять байты на удаленное устройство (не забудьте открыть последовательный порт из специального меню конфигурации и правильно установить параметры связи).

В следующем примере видна загрузка модуля ESP32-S3. Текст, отображаемый зеленым цветом, сгенерирован модулем ESP32, который отправил определенную последовательность байтов, впоследствии интерпретированную эмулятором SerialTool VT-100.

serial port bootloader esp32

Экран загрузчика модуля ESP32

В терминале VT-100 вы можете выбрать интересующую область символов мышью и впоследствии экспортировать ее, используя правую кнопку мыши.

serial port export data

Экран экспорта (копирования) данных терминала

Нажатие правой кнопки мыши, помимо возможности копировать содержимое терминала, позволяет изменять некоторые конфигурации терминала в пределах, предусмотренных эмуляцией VT-100.

Выбрав “VT100 Terminal Settings”, вы можете изменить настройки терминала и сохранить их в качестве конфигурации по умолчанию для этого последовательного порта.

Важно подчеркнуть, что конфигурации остаются неизменными, даже если физический последовательный порт меняется. Это позволяет в случае перезапуска SerialTool сохранять настройки, связанные с логическим последовательным портом, а не с физическим устройством.

Например, если последовательный порт 1 изначально назначен порту COM12 и впоследствии назначается порту COM8, настройки останутся неизменными, поскольку они следуют за назначенным последовательным портом, а не за физическим портом.

Настройки терминала VT100 – Полное объяснение

Начиная с экрана настроек (правый клик и “VT100 Terminal Settings”)

serial port terminal settings

Экран настроек терминала последовательного порта в эмуляции VT-100

Use VT-100 Terminal Key Sequence

Активирует фактическую эмуляцию VT-100. Последовательности клавиш (стрелки, F1–F4, ESC и т. д.) отправляются точно так же, как это делал бы настоящий терминал VT-100.

Фундаментально для:

  • текстовых меню
  • встраиваемых оболочек
  • загрузчиков

Рекомендуется: ON для использования с последовательным портом

VT-100 Terminal Keyboard Input Settings

Управление ASCII на основе CTRL

Сопоставляет комбинации CTRL + клавиша с классическими кодами ASCII:

КомбинацияКодЗначение
CTRL + @0x00NUL
CTRL + Z0x1ASUB
CTRL + [0x1BESC
CTRL + \0x1CFS
CTRL + ]0x1DGS
CTRL + ^0x1ERS
CTRL + _0x1FUS
CTRL + ?0x7FDEL

Необходимо для прошивки, последовательных мониторов и низкоуровневой отладки. Рекомендуется: ON

Специальные клавиши без CTRL

Определяет, что отправляется при нажатии специальных клавиш:

КлавишаПоследовательность
ESC0x1B
ESC [ D
ESC [ C
ESC [ A
ESC [ B
F1–F4ESC OP / OQ / OR / OS
Backspace0x7F

Совместимо с U-Boot, последовательной консолью Linux и меню VT-100. Рекомендуется: ON

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

Отображает управляющие символы в читаемой форме (например, CTRL+C → ^C). Полезно для отладки и обучения.

Рекомендуется: OFF для обычного использования, ON только для отладки

Цвета (Colors)

  • Background Color – Цвет фона терминала
  • Opacity – Прозрачность окна

Шрифты (Fonts)

  • Изменить шрифт / Установить по умолчанию / Установить моноширинный / Установить шрифт терминала
  • Увеличить / Уменьшить размер шрифта – Масштабирование текста
  • Межбуквенный интервал – Интервал между символами (рекомендуется 100%)

Разное (Misc)

Enter Key – Определяет, что отправляется при нажатии Enter:

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

Обычно: MCU / модем / прошивка → CRLF
Встраиваемый Linux → часто LF
Рекомендуется: CRLF

Suppress Local Echo: если активно, не показывает то, что вы печатаете (использовать только если удаленное устройство делает эхо).

Show Timestamp: показывает метку времени рядом с полученными данными.

Show Navigation Bar: включает навигацию в истории журналов (полезно только при активном эмуляторе терминала).

Terminal Emulator: позволяет сохранять историю полученных и отправленных байтов, преодолевая визуальное ограничение строк и столбцов классического терминала.

Terminal Columns × Lines: размеры терминала. Рекомендуется режим Auto.

Support UTF-8 (Receive / Transmit): декодирует UTF-8 при приеме и отправляет UTF-8 при передаче. Рекомендуется: OFF, если нет особой необходимости.

Save Settings – сохраняет конфигурацию этого последовательного порта
Reset to Default – сбрасывает только этот терминал
Reset All Terminals – глобальный сброс
Exit – закрывает окно