Терминальные программы

Распечатать

Практически постоянно приходится смотреть что шлет контроллер или заслать в него какой нибудь байтик. Это нужно для отладки, иногда для настройки. Порой для управления. Кому как, я так для отладки использую. Без толкового инструмента тут никак, поэтому я давно уже присмотрел себе парочку прикольных программок.

Первой хотел бы упомянуть Terminal v1.9b by Bray. На мой взгляд — гениальная программа! Более удобного интерфейса для работы я не встречал. Судите сами — все под рукой!

Для настроек скорости работы, номера порта, параметров передачи и прочих сиюминутных потребностей не надо даже по менюшкам лазать — все прям сразу же. Также можно в один тык выдать инфу в разных системах счисления, что порой бывает очень удобно. Я бы сказал жизненно необходимо.
В один клик доступна таблица ASCII, а среди особых фишек которую я очень люблю — возможность выдать поток данных в виде графика от 0 до 255.
А еще можно писать скрипты на паскалеподобном языке, делающие с входящими-исходящими данными всякие непотребности.
В общем, рулез!

Из минусов можно только отметить некоторую тормознутость при выводе в Hex кодах, но это мелочи. Еще автор похоже забил на эту разработку, так что новых версий я не видел уже много лет. Найти эту дивную программу можно много где, в том числе и у меня:

Скачать программу Bray Terminal v1.9

Вторая программа это COM Port Toolkit от Михаила Голикова. Ей я пользуюсь гораздо реже, но она умеет весьма нужную штуку — возможность перехватывать обмен данными между софтом и физическим COM портом. Это чертовски выручило меня когда я ломал защиту PLC, а также помогло отреверсить обмен между программой настройки модулей HM-TR433. В общем, редко, но метко.

Программка эта довольно проста в обращении, имеет три режима работы:

  • Терминал
    Может выдавать логи обмена данных улетевших к нами от нас. Слать из файла. Обрабатывать пересылаемое макросами (что может быть очень крутым подспорьем, но мне пока не пригождалось). Терминал как терминал, ничего особенного.
  • Прослушка
    Это фишка уже поинтересней. Позволяет воткнуть комп в разрез между принимающим и передающим девайсом и прослушать передачу данных кто кому и что передал. Также ведутся логи с указанием времени передачи посылки.
  • Захват
    Вот за эту фичу я и люблю эту программу — возможность снифферить обмен между софтом и портом. Редкая фича. Из бесплатных программ я нигде такого не встречал, а у программ вроде Advanced Serial Port Monitor или Free Serial Port Monitor эта фича доступна только в платной версии, тут же ее можно заюзать даже в демо версии.

Также можно писать скрипты на этот раз уже на Си подобном языке. Мне это больше нравится, т.к. я его лучше знаю.

Недостатков пожалуй три:

  • Невозможность разделить в режиме «Захват» входящие и исходящие данные на два разных окна.
  • Отстуствие русской документации, хотя бы по тому же скриптописанию.
  • Шароварность. Впрочем, я бы не назвал это недостатком. Автор, я думаю, не святым духом питается.

Демка проработала 30 дней, потом захотела денег. Но свою работу по облегчению разбора протокола обмена PLC она выполнила.

Поначалу была мысль вспомнить шальное детство, сдуть пыль с родимого SoftICE и похачить защиту, но потом вспомнил что шашек такой формы не брал в руки уже лет 5, как минимум. Да и цена программы оказалась смешной — всего 10 баксов для русскоязычных пользователей.
Так что проще было ее зарегистрировать. Тем более штука нужная и уже неоднократно себя окупившая.

Скачать последнюю версию ComPort Toolkit можно с официального сайта автора

Запись опубликована в рубрике Софт с метками , , . Добавьте в закладки постоянную ссылку.

100 комментариев: Терминальные программы

  1. siemensfn1 говорит:

    Ну что,опять я первый)
    Мне к сожалению эта информация пока ни о чём не говорит :(

  2. Urvin говорит:

    И офигительная по простоте, кросплатформенная и с исходным кодом на Qt: Qt_comport
    http://www.qt-apps.org/content/show.php/QT_comport?content=95246

    Позволяет выбирать базовые настройки порта, вывод/посыл в ASCII, hex, двоичной системе, да и пишет количество принятых/отправленных байт.
    Не скатерть-самобранка, конечно, но модифицируй-нехочу.

  3. tempfolder говорит:

    Для меня многим(не только хакерам ;-) более удобна утилита PuTTY.
    С Terminal v1.9b by Bray тоже работал, но на больших скоростях шибко комп напрягает.
    А PuTTY довольно универсальна не только для СОМ но и для сетевых протоколов.
    Самое главное нет проблем с отображением кириллицы, + шибко шустрая, + проект Open Source!!!

    Так что достойная альтернатива.

  4. http://qvas.myopenid.com/ говорит:

    portmon от sysinternals не пробовали?

  5. B3ND3R говорит:

    А линуксоиды тут обитают? Какой софт в нём использовать?

    • DI HALT говорит:

      Поставил себе линух — готовься к изощренному сексу :) Пора бы уже привыкнуть :)

      Наверное есть, но я не встречал еще.

    • Ruslan Popov говорит:

      apt-cache search

      Камрад DiHalt видать имел секс с линуксом на заре эпохи.

    • из гуйни тот же putty либо см. выше Qt_comport либо cutecom либо gtkterm.
      из консольных minicom (им собсно и пользуюсь)

      ещё есть хорошие программы stty и cat, с их помощью можно скрипты пейсать хоть на bash. Либо ставишь либу pyserial и пишешь скрипты на нормальном Питоне а не на «паскалеподобной» херне.

      • Ruslan Popov говорит:

        товарищ дело говорит про питон

        • and говорит:

          Это все хорошо в теории:). Но вот пробовал я практически ставить kontrollerlab. В общем это просто GUI конструктор. Чтобы обеспечить его функциональность надо кучу всего поставить во первых avrdude или uisp, потом как я понял собрать из исходников binutilis. avr-gcc и gdb. Да так чтобы версии согласовались…И весит все это не мало..
          В принципе, вроде бы есть технология:
          http://www.linux.org.ru/view-message.jsp?msgid=3143232
          http://paul.graysonfamily.org/thoughts/avrlinux/

          А в 2009 mandrive есть кое какие готовые пакеты и сайт тайваньский про это http://ftp.isu.edu.tw

          Но тогда надо систему обновлять, к тому же 2009 под 4 KDE а kontrollerlab под 3 kde.
          Опять нестыковка…

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

          • Простите, но вы совершаете типичную ошибку начинающих линуксойдов — выбираете наиболее распеаренный гламурный дистрибутив а потом паритесь из-за его кривизны и ошибок в ДНК разработчиков.

            У меня в Fedora вообще не возникло никаких проблем с установкой kontrollerlab. Я только что попробовал установить rpm скачанный с sf и он встал абсолютно без проблем, автоматически доустановились qt3 и либы от третьих кедов, они нормально работают бок о бок с 4м кде.

            Компилировать ничего не надо, начинающим это вообще противопоказано. И avr-gcc и avrdude и многое другое ставится из штатных репозиториев одной командой.

            • and говорит:

              Собственно Вы правы. Оказывается в мандриве нет родного пакета контроллерлаба, а я запускал пакет от 6-ой федоры :) Дистр специально не выбирал, мне его подарили для тренировки :) Любопытно что некоторые пакеты федоры неплохо работают и в ней. Например хорошо работает диспетчер задач rftask. В принципе попробую поковырятся с контроллерлабом и наставлю пакетов от федоры может и получится. А вообще любопытно попробовать убунту.

      • Alexander Drozdov говорит:

        по быстрому можно screen /dev/ttyS0 9600 или подобно :) в лялихе многое из консольного заточено на возможность работы в терминальном режиме, та же консоль. так что agetty и им подобные в друзья :). Другое дело, что я не знаю функциональных аналогов что у комрада DI описаны, но уже выше несколько ссылочек проскакивало.

    • maxci говорит:

      нашел блог эмбеддера с большим опытом работы в линухе. если интересно — можете у него поспрашивать http://rwxr-xr-x.blogspot.com/

  6. Flextro говорит:

    Сразу в глаза не бросается, как кекс в первой терминалке отправить?

  7. ArgusB говорит:

    Автору за обзор терминалок — зачот.
    Под виндами как-то грустно вообще с этим делом, сама парадигма представлять всё в виде потоков здорово портит дело.
    Пока были машины, на которых работал w98, проблем вообще не было — был дос-навигатор, встроенная терминалка которого служила той самой волшебной таблеткой, подходящей для большинства случаев.
    А для тех случаев, когда дн-терма не хватало, был самописанный сниффер, для дос-режима, который висел на двух портах сразу, и писал в файл протокол обмена между устройствами, соблюдая порядок переданных данных.
    Родной же терминал виндов — такое убожество, что делается непонятно, кто и с какой целью его написал, и откуда у них в этот момент росли руки. То, что голова при этом процессе не участвовала — медицинский факт!

  8. jurbat говорит:

    А я рекомендую махонькую да удаленькую программку http://kolibdb.100free.com/ wTerm. После всех монструозных программ спокойно пользуюсь и радуюсь.

  9. outsider говорит:

    После нескольких лет отладки софта связи с промышленными девайсами, так и не нашел для мониторинга порта ничего лучше Portmon’а от Sysinternals.
    В качестве терминального эмулятора пользовались своей софтиной, но она именно была заточена не под «мега-универсальность», а под конкретные задачи — вручную слать пакеты данных софту(не только в COM-порты, но и в TCP-соединение), генерить контрольные суммы, ну и смотреть чего приходит. Точно также — удобнее нее для тех задач, которыми я занимался, так ничего и не увидел.
    Ну и настропалился с тех пор в хексах глазами шариться 8)

    • DI HALT говорит:

      Мне портомон не понравился категорически. Да он может вести перехват, но он показывает кто, и куда, а вот сами данные идут у него невнятной присказкой, а не полноценным дампом.

      • outsider говорит:

        Камрад — онож настраивается.
        Там очень важный момент — можно контролировать не только данные, которые туда-сюда ходят, но и переключения режимов ком-порта.
        Например, можно отследить «общение» дерганием всяких RTS’ов. Некоторые девайс так и работают.
        У Сисинтерналс вообще утилиты хорошие.

  10. Vladimir говорит:

    День добрый!

    Я пользуюсь TeraTerm Pro. Старинная программа. Хотя не так давно вышли новые её версии, кажется. Функциональность на высоте. Главное — бесплатная.

    Работаем с железом всяко-разным. От контроллеров до ARM-компьютеров. С некоторыми терминалками что-то, да не идёт (какой-нибудь XYZ-modem не пашет к примеру), а с этим никогда никаких заморочек не было.\

    В общем, под винды рекомендую.

  11. maxci говорит:

    вот сижу, мучаюсь с hyperterm и думаю — вот неплохо бы отвлечься, поискать что-нибудь приличное в инете. а тут — бац — такая статья! мистика!
    вобщем спасибо.
    кстати, а как putty с компортом подружить? разве это возможно?

  12. Levsha100 говорит:

    Блин, все руки никак не дойдут самому написать…(((

  13. eVrajka говорит:

    А можно по подробней про SoftICE?)

  14. Aeore говорит:

    Полезные программы. Я для целей прослушки com/usb использую кряченный BusHound

  15. ZVE говорит:

    Есть более свежая версия терминала от Br@y 2008 года. Лежит по адресу http://braypp.googlepages.com/terminal

  16. nestandart говорит:

    пользуюсь иногда этой: http://www.rowalt.de/mc/avr/avrtools/avrterm.zip
    кроме числовой, моэжет казать ещё и графики:

  17. Stalker46 говорит:

    ДИ халт. Как с тобой можно связаться? надо обсудить кое что) я кое что придумал и думаю, что я смогу это продать.

  18. Stalker46 говорит:

    зайди в аську, и дай свой юин.

  19. Stalker46 говорит:

    а где твое мыло? искал много много, но ничего не нашел…

  20. Nebula говорит:

    Вот еще один терминал под Windows — RealTerm.
    Homepage: http://realterm.sourceforge.net
    Последнюю версию можно взять отсюда: http://www.i2cchip.com/realterm
    Список функций неплохой, imho стоит попробовать.

  21. sanches говорит:

    DI HALT, Вы не правы. В бесплатно версии Free Serial Port Monitor захват присутствует. Пользовался неоднократно. Да у этой программулины только захват и присутствует :)))
    Входящие\исходящие разбиты по двум отдельным окнам. А вот время не пишет, но вроде пока и не нужно было.

    А макросы действительно удобно. Даже тех 12-ти, что присутствуют в Terminal, не всегда хватает :)

    • DI HALT говорит:

      Вот сейчас у меня установлена последняя версия FreeSerialPort Monitor

      Там доступна ТОЛЬКО терминалка. Даже слушать два RS232 порта сразу нельзя.

      Режим анализа протокола (в один порт входит из другого выходит, а прога слушает) только в про версии.
      Режим воспроизведения данных — только в про версии

      А про перехват данных Soft-Port даже слова нету. В про версии вроде бы есть

      • sanches говорит:

        Режим «Монитор Портов» — разве это и не тот же режим «Захват», как в Bray Terminal. Все тоже самое :)

        • DI HALT говорит:

          Не, ты не понял.

          Захват это когда девайс общается с какой либо софтиной, а программа подслушивает и ведет лог этого обмена.

          Либо вклинивается в линию передачи между двумя девайсами (надо два ком порта) и ведет лог обмена.

          • sanches говорит:

            Вот она и вклинивается между программой и устройством. Например могу посмотреть обмен между AVRStudio и STK500.

            Да, мостом между двумя портами быть не может.

            • DI HALT говорит:

              Хм, а моя версия этого не позволяет. Видимо в старых версиях это еще было можно, а потом они зажмотились. ПРичем года полтора два назад я качал фри сериал монитор и она уже тогда не умела снифферить.

              • sanches говорит:

                Такое ощущение, что мы говорим о разных программах :) Потому-что мой Free Serial Port Monitor 3.31 (как раз эта версия выложена на сайте, а последнее обновление было в 2005) только и умеет, что перехватывать обмен между софтом и устройством. Посылать данные на СОМ-порт, как Терминал, фри монитор не умеет.
                Брал во тут: http://www.serial-port-monitor.com/free-serial-port-monitor-downloads.html

                • DI HALT говорит:

                  О блин! Так он может на порт цеплятся. Главное в нужном порядке запускать. Вначале порт монитор, потом целевую софтину. А я наоборот делал — вначале прогой цеплялся, а потом уже пытался сессию поднять. Естественно он занятый порт не видел.

  22. zyxman говорит:

    Снова спасибо за полезную информацию!

    Хотя если честно, мне не нравится использование програмного сниффера, тк не всегда есть возможность его запустить на целевой системе, в смысле лучше иметь аппаратный сниффер ;)

  23. begoon говорит:

    Есть еще вот такая программа — http://code.google.com/p/serialcom/

    Из плюсов — opensource, работает не только с компортами, но и с сокетами, причем может быть также и сервером. Также имеет интересный метод печати дампов — называет Smart Hex Dump. Видимые символы отображаются просто символами, а непечатные — в виде дампа. Эдакое сочетание вимости и кодов. Бывает очень удобно.

    Автор — я ;-)

  24. pike говорит:

    Использую терминалку (freeware) Multiway под винду, т.к. она среди прочего омроновские протоколы поддерживает. Нареканий в общем нет.
    Описание:
    «Features and protocols included:
    - Sysmac-Way series
    - FINS serial Toolbus, Ethernet UDP and TCP
    - Modbus RTU Master / Slave TCP Client / Server
    - ASCII terminal serial, Ethernet UDP / TCP
    - Modem functionalities PSTN / GSM
    - Terminal Map ASC02/11/21/31.
    - Compoway/F
    - Sniffer port RS232C
    - Booster RS232C/Ethernet UDP
    - OPC Client»
    Screenshot: http://www.support-omron.fr/images/Modbus.JPG

    Скачать: http://cospa.ru/disk1/Software/MultiInstall.zip

  25. juray говорит:

    Когда я подбирал терминалку для своих нужд, Bray мне чем-то не понравился, чем именно — не помню, но помню что чем-то существенным.
    В результате я остановился на HTerm от der-hammer (кстати, как по виндами, так и для линукса есть). Данные может представлять в hex, bin, dec, ASCII, причем одновременно. Дамп пишет в перечисленных форматах плюс raw и csv. Интерфейс так же типа «всё под рукой». Скрипты и передача файлов не умеет, во всяком случае, в моей версии (0.6.5, аж 2006 года, сейчас посмотрел на сайте — 0.8.1 лежит)

    В качестве сниффера использую PortMon Руссиновича (Sysinternals, ныне поглощенная микрософтом). Единственный минус, на мой взгляд — настраиваемость слабовата. А по функциям — вполне джентльменский набор: дамп с таймштампами, ловит как данные, так и управление портом…

    А вообще, посмотрю-ка я новые версии как Bray так и тулкита, что-то уж больно вкусно описаны.

  26. ProgrammerForever говорит:

    Оффтоп. Ди, прочитал по диагонали твою статейку в Хакере. Посоветуй, пожалуйста, максимально дешёвый, неубиваемый Simens для экспериментов с AT-командами. И место, где взять доку по AT-командам.

  27. RVDT говорит:

    Попробуйте DFD — поддерживает скрипты, гибко настраивается.
    Подробней здесь: http://rvfreesoft.blogspot.com/2010/02/dfd.html

  28. TheZotant говорит:

    Есть вопрос к разбирающейся публике, как из терминала послать на мк несколько байт, так сказать не по очереди, вписывая байтик и отправляя их один за другим, а скажем записать байтики в текстовый файлик и отправить его? Мне не понятно как программа-терминал будет отсылать этот файл с байтиками или такой режим не применим для отсылки байтов на юарт мк?

    • DI HALT говорит:

      В некоторых программах можно смело послать файл. Или забить в скрипт, либо вписать в строку и заслать. Да много вариантов есть.

      • TheZotant говорит:

        Спасибо, DI HALT, вопрос снят. Получилось отправить из программы-терминала
        Terminal v1.9b by Bray txt файлик с записаными подряд буковками, мк их корректно
        принял, что я увидел по диодам, которые засветили двоичные коды принятых буковок.
        Спасибо за полезную статью.

  29. Freerider говорит:

    Как организовать реальную связь МК USART вывод данных в Proteuse ,на Virtual Terminal, можете посмотреть здесь http://www.youtube.com/watch?v=ONzYe-EnLwE.

  30. Maksoff говорит:

    Терминал обновился! https://sites.google.com/site/terminalbpp/ изменения от 2010 06 03

  31. fizick говорит:

    Возможно ли сделать скрипт отправляющий нужные байты в заданое время суток?

  32. ChaiSER говорит:

    Как побороть проблемму с отображением кириллицы в «Terminal v1.9b by Bray»?

  33. reptile говорит:

    еще один, кросс-платформенный (для запуска нужна Java):
    https://bitbucket.org/edartuz/muterm/overview

  34. Mirmik говорит:

    Terminal v1.9b by Bray
    Замечательная вещь, но однажды у меня с ней вышел досадный трабл…

    Надо было законектиться на com11 … А… аа…. а… Нет там его…
    Только 10 и всё… Так и не придумал, что с этим сделать… Пришлось юзать другой терминал…

  35. Mirmik говорит:

    Хотя в новой версии это поменяли…

  36. rts говорит:

    ПРивет! Пользуюсь терминалом v1.9. Вопрос встал с соответствием ASCII таблицы с тем что я шлю. В мк зашиваю слово «Hello!» и просто отправляю его на терминал. а на терминале какая то хрень следующего вида — «·MÒR¤» (при выборе галочки ASCII) или в хексах — 00 B7 4D D2 52 A4 03 00. первые и последние нули понятно что. Какие настройки нужны терминалу для корректного отображения данных?

  37. rts говорит:

    со скоростями все в порядке. согласно формуле — fck — 24MHz, скорость — 9600, по формуле получаем переменную USARTDIV — 156,25. переводим в хексы — 0х09С4 и пишем в регистр BRR. все вроде правильно. а кракозябры прут!

  38. rts говорит:

    я раскомментировал в файле system_stm32.c вот эту строчку #define SYSCLK_FREQ_24MHz 24000000 и ее использую в проекте. эта частота является частотой SYSCLK в RCC. может я и не прав, но в проекте с морганием светодиодами я использовал ее для реализации функции задержки.

  39. rts говорит:

    всем привет! запустил уарт и обмениваюсь с терминалом. байты шлются — просто красота. но вот дернул меня черт понажимать кнопки DTR и RTS. и с ними все хорошо шлется и когда обе нажаты и когда по отдельности. но вот не задача, когда они выключены — байты НЕ передаются! печаль! подскажите как это можно исправить к первоначальному состоянию, чтобы с выключенными кнопками работал уарт.

  40. rts говорит:

    пардон! не уарт, а все таки ком порт. через max3232 обмен идет

  41. Rainboy говорит:

    а как можно узнать какую скорость передачи запросило внешнее приложение у ком порта? не снимая осциллограму с Тх)

  42. Wan-Derer говорит:

    Интерфейс «всё-в-кучу», наверно, хорош наглядностью, но он же занимает много места! Если работать только с терминалом, то пофиг, а если запущена ещё кучка программ? Да на ноуте? Вот кабы верхняя часть сворачивалась. Или её можно было бы отцепить как отдельный тулбар :) Может заслать автору идейку?
    ЗЫ: сам пользую простенький AccessPort http://www.sudt.com/en/ap/index.html — бесплатный, не требует инсталляции, режимы терминала и монитора.

  43. Kasym говорит:

    Подскажите подобную программку только чтобы под WinNT работала

  44. kaktus.37 говорит:

    Подскажите пожалуйста, как при отправке байта с контроллера, задать его (байта) цвет для гипер терминала? к примеру посылать слово GPS_sat и при каком-то условии красить надпись то в красный то в зелёный.

  45. Wan-Derer говорит:

    А подскажите снифер. Надо снять обмен между двумя железками. Т.е., я так понимаю, надо слушать два потока и выводить их на экран (в файл). Желателен вывод в одно окно, с разделением потоков, например, цветом. Режимы ASCII и HEX. PS: Статью и коменты читал, COM Port Toolkit скачал, буду пробовать, но, может, что-то ещё подскажете?

  46. Valentin_Ko говорит:

    Подскажите как в Terminal v1.9b отправлять непечатные символы (возврат каретки и тп) для AT команд нужно. Например
    AT+CREG? {здесь ENTER надо заслать} — а как не понятно…

  47. Valentin_Ko говорит:

    Перечитал сегодня еще раз комментарии — скачал обновленную версию v1.91 — а рядом с кнопкой «sensd» флаг +СR появился. DI, спасибо огромное за твой сайт.

  48. vikonik говорит:

    Доброго времени суток.
    Подскажите терминал который умет с 9 битами работать.
    Спасибо.

Добавить комментарий