Москва: проверенные б/у ноутбуки с гарантией и проверкой перед оплатой
+7 906 722-94-45

Главная → Статьи → PuTTY, Tera Term, minicom: настройка COM-порта

PuTTY, Tera Term и minicom: настройка COM-порта, кодировки и логирование сессии

Как настроить последовательный терминал под оборудование: скорость, поток, кодировка, сохранение логов и отправка файлов. Разбор типичных ошибок на Windows и Linux.

Последовательный терминал — самый недооценённый инструмент инженера. Он показывает «сырые» байты там, где программа с графическим интерфейсом молча пишет «нет связи», и позволяет сохранить лог, который потом можно приложить к отчёту. Настройка занимает пять минут, но именно в ней допускают ошибки: не та кодировка, не тот поток управления, забытое логирование.

Что настроить в первую очередь

Параметр Типичное значение Когда меняется
Скорость 9600, 19200, 115200 по документации устройства
Биты данных 8 7 — устаревшие протоколы
Чётность нет (N) Even для части промышленных приборов
Стоп-биты 1 2 — редко, по документации
Управление потоком нет RTS/CTS на длинных линиях и модемах
Кодировка UTF-8 CP1251 для части русскоязычных приборов
Логирование включено всегда —

Правило: если вы не знаете параметров устройства, начинайте с 9600 8N1 без потока. Это самый распространённый вариант и безопасная отправная точка.

PuTTY: минимум действий

  1. В разделе Session выберите Serial, укажите COM-порт и скорость.
  2. В Connection → Serial задайте биты данных, чётность, стоп-биты и поток.
  3. В Session → Logging включите запись в файл: All session output. Без этого лог потеряется при закрытии окна.
  4. Сохраните сессию под понятным именем (например, «PLC-port-9600»), чтобы не настраивать заново.
  5. Подключитесь и проверьте, что при отправке Enter устройство отвечает.

Полезные мелочи: в Terminal можно включить локальное эхо (если устройство не эхоит введённое), а в Window → Translation — выбрать кодировку. Кириллица в PuTTY часто отображается «кракозябрами» именно из-за неверной трансляции.

Tera Term: когда нужны макросы и передача файлов

Tera Term удобен там, где нужен сценарий: автоматическая отправка команд при подключении, ожидание ответа, передача файлов по XMODEM/YMODEM/ZMODEM.

  • Макросы (TTL) позволяют автоматизировать последовательность «подключиться → отправить команду → дождаться строки → сохранить лог».
  • Передача файлов встроена в меню File → Transfer; протокол должен поддерживать и устройство.
  • Логирование включается в File → Log и пишет с метками времени, если включить соответствующую опцию.
  • Настройки порта дублируют стандартный набор: скорость, биты, чётность, поток.

Tera Term полезен и как «второй терминал»: если PuTTY почему-то не открывает порт, стоит проверить, не занят ли он другим процессом.

minicom: Linux

В Linux последовательный порт — это файл /dev/ttyUSB0 или /dev/ttyACM0. Базовые шаги:

  1. Проверьте, что устройство появилось: dmesg | tail после подключения.
  2. Убедитесь, что у пользователя есть права: членство в группе dialout (или uucp в некоторых дистрибутивах).
  3. Запустите minicom -D /dev/ttyUSB0 -b 9600.
  4. Настройте параметры через Ctrl-A, затем O (Configure).
  5. Включите захват в файл: Ctrl-A, затем L.

Для скриптов удобнее picocom или socat, а для проверки «есть ли вообще обмен» — cat /dev/ttyUSB0 с предварительной настройкой через stty.

Кодировки и «кракозябры»

Причины неправильного текста:

  • устройство передаёт CP1251, а терминал показывает UTF-8 (или наоборот);
  • терминал вставляет переводы строк, которых нет в протоколе;
  • эхо и локальный ввод дублируются;
  • битые байты из-за неверной скорости или помех.

Проверка: отправьте строку из латинских символов. Если она читается, а кириллица нет — вопрос в кодировке. Если «мусор» и в латинице — вопрос в скорости, чётности или кабеле.

Логирование: зачем и как

Лог сессии — доказательство и материал для анализа:

  • фиксируйте время начала и параметры порта в первой строке лога;
  • включайте метки времени, если терминал это умеет;
  • сохраняйте лог в отдельную папку проекта, а не в «Загрузки»;
  • для длительных сессий следите за размером файла;
  • прикладывайте лог к описанию неисправности — это экономит часы переписки.

Безопасность

  • Не отправляйте команды «наугад» в терминале: некоторые устройства интерпретируют любой символ как команду управления.
  • Не оставляйте открытую сессию с правами администратора без присмотра.
  • Проверяйте, что порт — именно то устройство: подключение к чужому COM-порту может отправить команды в соседнее оборудование.
  • Не логируйте пароли и ключи в открытые файлы.

Автоматизация: когда терминал становится инструментом

Если одну и ту же последовательность команд вы вводите каждый выезд, её стоит автоматизировать:

  • Сохранённые сессии в PuTTY с готовыми параметрами порта;
  • макросы Tera Term для сценариев «подключиться, отправить команду, дождаться ответа, сохранить лог»;
  • скрипты на Python (pyserial) для регулярного опроса и записи в CSV;
  • socat и stty в Linux для проброса порта в TCP или настройки без интерактивного интерфейса.

Автоматизация особенно полезна при длительных испытаниях: скрипт пишет данные каждую секунду, а вы занимаетесь другим. Главное — не автоматизировать запись команд, меняющих состояние оборудования, без защиты от повторного запуска.

Что проверять перед выездом

  • Терминал установлен и запускается, драйверы USB-COM стоят.
  • Есть кабель нужного типа (прямой/null-modem) и переходники.
  • Сохранены профили для типовых приборов.
  • Включено логирование по умолчанию.
  • Проверен запасной вариант: второй терминал или виртуальная машина со старым ПО.

Сравнение терминалов

Критерий PuTTY Tera Term minicom
ОС Windows (есть сборки для Linux) Windows Linux
Сохранение сессий есть есть профили в конфиге
Макросы и автоматизация ограниченно да (TTL) ограниченно
Передача файлов нет XMODEM/YMODEM/ZMODEM через внешние утилиты
Логирование есть есть, с метками времени есть (Ctrl-A, L)
Шестнадцатеричный просмотр есть есть ограниченно

Для разовой диагностики достаточно PuTTY; для регулярных выездов с автоматизацией удобнее Tera Term; в Linux minicom остаётся стандартом де-факто.

Частые вопросы

Терминал пишет «Access denied» при открытии порта

Порт занят другой программой (монитор порта Arduino IDE, вторая копия терминала) или нет прав. Закройте лишние приложения; в Linux проверьте группу dialout.

Почему вместо текста идут символы?

Неверная скорость или кодировка. Сначала проверьте скорость и чётность, затем трансляцию символов.

Как отправить файл на устройство?

Через протокол передачи (XMODEM/YMODEM) в Tera Term или через sz/rz в Linux, если устройство поддерживает эти протоколы. Для прошивки чаще используют специализированный загрузчик.

Нужно ли включать RTS/CTS?

Только если этого требует устройство или длинная линия. В большинстве случаев поток отключён, и включение приводит к «зависанию» передачи.

Можно ли использовать терминал для диагностики Modbus?

Для просмотра «сырых» байтов — да, но разбирать CRC и исключения удобнее специализированными инструментами. Терминал хорош как первый тест «есть ли обмен вообще».

Полезные материалы