Программа для прослушивания com порта. Универсальный терминал для работы с COM-портом “Termial ST”

Сегодня компьютерные вирусы буквально наводнили мир и свободно перемещаются по Интернету, поэтому когда речь заходит о портах, то большинство пользователей чаще вспоминают о логических портах, которые в таких сетевых технологиях, как TCP/IP или UDP, используются для организации каналов связи, и забывают о физических портах для подключения внешних устройств. Впрочем, даже для подключения принтеров, мышей и клавиатур все чаще применяются высокоскоростные USB-порты и все реже - старые добрые COM и LPT (последовательный и параллельный порты). Однако последние имеются даже в самых современных компьютерах, и, наверное, пришло время использовать их для каких-то других целей (скажем, для управления тем или иным специализированным устройством).

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

Конечно, в продаже имеются и специальные приборы (пробники) для контроля аналоговых и цифровых сигналов (в том числе и анализаторы USB, LPT и COM), однако, как любое профессиональное оборудование, стоят они довольно дорого.

Контроль последовательного порта компьютера (COM)

Одну из программ для анализа последовательного порта написал Валерий Ковтун (http://valery-us4leh.narod.ru/). Спасибо ему за хороший инструмент!

Программа называется Com Port Visual Control (http://valery-us4leh.narod.ru/ComVC.html), распространяется бесплатно и предназначена для визуального контроля, документирования обмена данными и исследования процессов, происходящих в приемопередатчике UART во время работы приложений, использующих СОМ-порт персонального компьютера. Функционирует эта программа в среде Windows 9x/Me/NT/2000/XP и осуществляет постоянный просмотр (мониторинг) всех регистров микросхемы UART. Контроллер имеет формат 8x8 (восемь регистров по восемь бит) и для каждого регистра независимо отображается: текущее состояние (одновременно в десятичном и в шестнадцатеричном формате), а также логическое состояние. Кроме того, программа может записывать значения в регистры (также в обоих форматах - десятичном и шестнадцатеричном) и соответственно управлять логическим состоянием. Помимо этого она отслеживает изменения в регистрах и ведет протокол (LOG) согласно командам приемопередатчика микросхемы UART, а также ведет протокол принятых и переданных данных на уровне машинных кодов. После работы программа просматривает и сохраняет LOG-файлы и может осуществлять в них поиск необходимой информации.

Com Port Visual Control имеет встроенный приемопередатчик для стандартной настройки режимов порта: битов данных, стоповых битов, скорости, четности, контроля ошибок, возможности приема и передачи текстовых данных и команд модема, а также индикатор контроля активного состояния команд UART (поддерживается 17 основных команд). Кроме того, осуществляется контроль портов компьютера с одновременным отображением группы регистров и битов состояния и ведется протокол изменения данных в базовом регистре.

Из подобных программ можно отметить бесплатную утилиту ComLite32 компании Realtime Communications (RTCOMM, http://www.rtcomm.com/), написанную для Windows 95, и ее расширенную платную версию ComLab32 (http://www.rtcard.com/comlab32.html).

Эти программы представляют собой мощные коммуникационные анализаторы реального времени, которые позволяют исследовать обмен по COM-порту и понять, как работает то или иное устройство, даже если на него отсутствует документация. Программа имеет удобный и интуитивно понятный интерфейс, облегчающий слежение за обменом, управление портами ввода-вывода и снабжение подробной онлайновой документацией.

Программы ComLite32 и ComLab32 работают с портами RS-232, RS-422, RS-485 и RTX485 (с последним портом - только на чтение) и позволяют вести протокол обмена с этими портами в обоих направлениях. Системные требования программы ComLite32 минимальны: всего 8 Мбайт оперативной памяти, 6 Мбайт дискового пространства и хотя бы одно устройство, работающее с последовательным портом (включая PCMCIA-модемы ноутбуков).

И наконец, хотелось бы отметить программы Advanced Serial Port Monitor и Advanced Serial Data Logger компании AGG Software (http://www.aggsoft.ru). Advanced Serial Data Logger обрабатывает данные, полученные по RS-232, и передает их в файл Excel, Access, или в какое-либо другое приложение Windows. Программа предоставляет возможность в реальном времени собирать данные с любого устройства, а также принимать и передавать данные по интерфейсу RS-232 или по интерфейсу RS-485 при наличии аппаратного конвертора. Advanced Serial Data Logger собирает данные с последовательного порта, обрабатывает их в соответствии с нуждами пользователя, выделяет блоки данных из общего потока, а затем передает данные в любое приложение Windows или DOS - путем нажатия соответствующих клавиш в окне приложения. Данные передаются через DDE (Dynamic Data Exchange), ODBC, OLE и т.д. Это решение можно использовать в автоматизированных системах сбора данных или в системах анализа звонков офисных АТС.

Advanced Serial Data Logger также может передавать запросы и команды через последовательный порт для непосредственного управления устройствами по ASCII (по умолчанию) или MODBUS-протоколу. Таким образом, программа Advanced Serial Data Logger становится сервером ввода-вывода. Что касается управления и настройки, то они очень просты и интуитивно понятны. Дополнительное программирование для сбора данных не требуется.

Кроме того, Advanced Serial Data Logger может работать как сервис под Windows NT/2000/XP/2003, который будет стартовать при загрузке системы и записывать данные с последовательного порта в файл на диске или в другие указанные места еще до входа пользователя в систему (и продолжит функционировать после завершения сеанса пользователя).

Программа имеет возможность запуска нескольких копий на одном компьютере, так что несколько портов могут протоколироваться одновременно.

Что касается программы Advanced Serial Port Monitor, то она может пригодиться как начинающим пользователям, так и профессионалам.

Advanced Serial Port Monitor может служить как для наблюдения за передачей данных другими приложениями, так и для отправки и приема данных через последовательный порт компьютера (RS-232). Программа предоставляет различные способы сохранения данных в файл или визуализации их на экране монитора.

Таким образом, вы можете работать с любыми устройствами, работающими по интерфейсу RS-232 либо RS-485 (RS-422) при наличии соответствующего преобразователя. Вы будете наблюдать за обменом данными между любым Windows-приложением и внешними устройствами, подсоединенными к последовательному порту. Это может быть или измерительное устройство, или домашняя радиостанция, или же другой компьютер, соединенный через z-модемный или нуль-модемный кабель.

Advanced Serial Port Monitor поддерживает дуплексный режим работы, то есть вы можете наблюдать за обменом в обе стороны, не используя другие программы и не прерывая работу других приложений. Вся проходящая через последовательный порт информация отображается на экране в специальном окне и может быть записана в файл. Все отображаемые параметры можно менять во время работы. При этом программа поддерживает два режима - автоматический и ручной, то есть можно отсылать данные по нажатию кнопки «Отправить» или они будут отправляться автоматически через определенный интервал (от 10 до 10 000 мс).

С помощью дополнительных модулей можно не только принимать данные или передавать команды, но и эмулировать работу каких-то конкретных устройств, а в режиме наблюдателя (перехватчика) - просто следить за обменом данными между внешним устройством, подсоединенным к последовательному порту, и каким-то приложением Windows. И наконец, Advanced Serial Port Monitor имеет свой встроенный язык написания сценариев, с помощью которого можно запускать программу с предустановленными опциями и действиями, а также выполнять команды из модулей.

Контроль параллельного порта компьютера (LPT)

У Валерия Ковтуна есть и другая полезная коммуникационная программа - LPT 3D Hard Analyzer. Программа представляет собой графический запоминающий анализатор-осциллограф, предназначенный для снятия цифровых сигналов и протоколов устройств, подключенных к параллельному порту компьютера в ОС Windows 95/98/Mе/NT/2000/XP.

LPT 3D Hard Analyzer работает через LPT-порт и позволяет анализировать пять входных линий (каналов) и 12 выходных каналов (то есть управлять цифровыми сигналами с компьютера) в режиме SPP или манипулировать четырьмя выходными и 14 входными параметрами в режиме EPP. Двунаправленный ЕРР-режим параллельного порта предусмотрен практически на всех компьютерах, выпущенных после 1993 года. Иногда, правда, он не включен по умолчанию в BIOS (это необходимо проверить и по возможности - включить).

При работе в режиме осциллографа программа запоминает все 17 графиков (линий), глубина (отображаемая длина графика по времени) которых ограничена только свободной памятью компьютера (а с учетом файла подкачки в OC Windows это будет несколько сот мегабайт). Также доступна возможность автоматического сохранения каждой новой страницы в графическом формате.

Анализатор-осциллограф LPT 3D Hard Analyzer строит графики изменения данных в двумерном и трехмерном виде, а также показывает две независимые диаграммы: 17-канальный осциллограф (по биту на канал) и график регистров порта (входных, выходных, контрольных). Имеется регулировка скорости анализа, и отображается общее количество циклов за весь период продвижения графика. Можно программировать и количество циклов с возможностью копирования графиков в память (глубина построения ограничена только доступной оперативной памятью компьютера). Программа имеет средства для экономии системных ресурсов во время считывания данных с высокоскоростных устройств, подключенных к LPT-порту и синхронизированных с ним данной программой (то есть она может применяться на относительно слабых компьютерах). При отключении графического режима вывода на дисплей графики копируются только в память компьютера - в результате скорость работы программы повышается в десятки раз. По окончании анализа график просматривается так же, как если бы он был переведен в графический режим отображения. Прокрутка графиков осуществляется плавно и постранично (правой кнопкой мыши). Имеется гибкая настройка скорости и шага прокрутки, а также возможность автоматического сжатия всей диаграммы в пределах одной страницы. Снимки состояния выбранной страницы графика можно запоминать в форматах BMP и WMF (Windows-метафайл) или задавать автоматическое сохранение в отдельный файл каждой новой страницы. Для просмотра в пакете имеется встроенный браузер графических файлов.

Модуль управления портами основан на ядре кода другой программы Валерия Ковтуна - XP LPT, использующей драйвер ввода-вывода LPT WDMIO.

Программа XP LPT предназначена для управления параллельными портами компьютера из ОС Windows 9x/2000/XP и имеет следующие возможности:

  • производит автоматическую регистрацию драйвера в Windows XP на правах администратора системы;
  • ведет автоматическую проверку установленных портов;
  • осуществляет одновременное чтение регистров данных, контроля и состояния выбранного LPT-порта;
  • отображает содержимое регистров одновременно в разных форматах (десятичном и шестнадцатеричном), что избавляет от необходимости пересчета.

У этой программы доступен исходный код, описание, а также примеры создания программ для управления внешними устройствами посредством параллельного порта на основе данного решения.

Как мы уже упоминали, программа функционирует через драйвер ввода-вывода LPT WDMIO и предназначена специально для обучения и отладки самостоятельно изготавливаемых программ управления внешними устройствами посредством параллельного порта в среде Windows.

Валерий Ковтун также создал программу PortControl, которая используется для управления параллельным портом с 17-битным анализатором протокола обмена данными устройств, использующих LPT-порт компьютера. Программа написана для семейства ОС Windows и обладает следующими возможностями:

  • имеются три независимых канала, с помощью которых реализуются ввод адреса порта (регистра), автоматическое чтение данных с порта, запись данных в порт в десятичном и шестнадцатеричном формате, а также отображение данных в форматах bite, word и Dword;
  • отображается состояние каждого из 17 битов LPT-порта и осуществляется управление выходными битами;
  • имеется девять программируемых банков памяти порт/данные;
  • работает 17-канальный анализатор-осциллограф логического состояния каждого бита с возможностью установки скорости анализа (по времени), синхронизации по любому из 17 битов - как по высокому уровню (1), так и по низкому (0), а также работает счетчик переданных данных по каждому биту и многие другие функции для удобной проверки и настройки цифровых устройств, подключенных к компьютеру.

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

Программы анализа и управления портами могут иметь различные применения. Во-первых, их можно использовать для детальной проверки и тестирования работоспособности параллельного порта компьютера, например для проверки быстродействия LPT-порта и системы в целом с помощью режима Test out. Причем все операции удобно наблюдать во времени с помощью встроенного 17-канального анализатора-осциллографа с возможностью гибкой настройки под определенный тип измерений.

Для анализа подключенных к компьютеру высокоскоростных шин передачи цифровых данных различных радиоэлектронных устройств и микросхем рекомендуется компьютер с частотой процессора не ниже 300 МГц. Но для низкоскоростных устройств нормально работают и более слабые компьютеры под управлением Windows 95.

Во-вторых, программы-анализаторы можно применять для управления, анализа, настройки, разработки, проверки и ремонта цифровых радиоэлектронных схем (отдельных модулей, блоков, управляющих шин, протоколов управления синтезаторов частот, элементов управления цифровыми индикаторами, программаторами ПЗУ и т.д.), то есть там, где широко используются цифровые микросхемы, формирующие управляющие сигналы и как-то реагирующие на них.

В-третьих, программы - анализаторы портов можно просто использовать для считывания протоколов обмена. А синхронизировав шину данных и управляющие сигналы устройств хранения и идентификации информации, можно даже прочитать закодированные в последовательности нулей и единиц служебные сигналы и/или пароли доступа. В общем, эти программы предназначены для расширения возможностей радиолюбителя, электронщика или инженера-разработчика. Наглядное изучение протоколов работы радиоэлектронных устройств может быть полезно также при разработке собственного программного обеспечения под управлением различных контроллеров.

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

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

И наконец, для параллельного порта Валерий Ковтун предлагает полезную программу PinRegistrator, предназначенную для слежения и регистрации логического состояния битов LPT-порта. Написана программа под Windows 95/98/Me и протоколирует состояние параллельного порта автоматически или вручную.

Контроль USB-порта компьютера

У вышеупомянутой компании AGG Software существуют программы, предназначенные для анализа и мониторинга USB-портов, шин, контроллеров и устройств. Например, Advanced USB Monitor (http://www.aggsoft.ru/usb-monitor/index.htm) позволяет захватывать, анализировать, просматривать и перерабатывать USB-трафик для эффективной отладки и тестирования USB-устройств. Поддерживаются устройства, соответствующие всем спецификациям: UHCI- (старые устройства USB 1.x, работающие на скоростях до 1,5 Мбит/с), OHCI- (устройства USB 1.x следующего поколения, работающие на скоростях до 12 Мбит/с) и, наконец, устройства EHCI-стандарта USB 2.0 (работают на скоростях до 480 Мбит/с). Advanced USB Monitor позволяет расширить лабораторный инструментарий как разработчиков USB-устройств, так и продвинутых пользователей.

Advanced USB Monitor может отображать передаваемые пакеты данных в читаемом виде, декодировать дескрипторы, определять ошибки в пакетах и измерять производительность устройств. Во время захвата пакеты данных могут отображаться в реальном времени, что позволяет отслеживать состояние устройств. Пакеты данных сохраняются в хронологическом порядке и содержат полную информацию об адресах и конечных точках. Это позволяет очень просто идентифицировать пакеты, фильтровать их и осуществлять по ним поиск. Программа предоставляет несколько уровней детализации при отображении данных. Быстрое декодирование USB-трафика дает возможность работать даже с такими скоростными устройствами, как USB-диски или USB-камеры. Причем захват, мониторинг и запись захватываемых данных происходят в реальном времени. С помощью Advanced USB Monitor вы можете просматривать трафик в тот же самый момент, когда он возникает, причем одновременно для ряда USB-устройств с помощью нескольких одновременно открытых окон мониторинга.

Использование драйвера ядра для захвата данных с поддержкой WDM, WMI, Power Management и PNP позволяет достичь полной совместимости с операционной системой и USB-устройствами, обеспечивая максимальное быстродействие.

Программа также дает возможность измерить производительность любого USB-устройства. Advanced USB Monitor легко ориентируется в топологии USB-устройств и получает детальную техническую информацию о таких устройствах, как USB-диски (интерфейсы, конечные точки, информация в реестре, информация о классе и многое другое). В конце исследования можно получить готовый отчет о подключенных устройствах и USB-трафике, а по окончании исследований распечатать его на принтере. Кроме того, программа имеет развитые функции экспорта данных в форматы PDF, XML или Microsoft Word, что позволяет не ограничивать процесс постобработки данных только одной этой программой.

По тому же принципу, что и вышеописанные анализаторы-осциллографы для параллельного порта, работают и USB-осциллографы (http://www.usb-osc.narod.ru/). USB-осциллограф в первую очередь предназначен для радиолюбителей, которые по роду своей деятельности сталкиваются с необходимостью проводить анализ низкочастотных аналоговых сигналов, регистрировать длительные медленно меняющиеся процессы, а также исследовать двоичные сигналы от различных устройств. Кроме того, USB-осциллограф может быть использован в качестве простого двухканального вольтметра для напряжений в диапазоне +/–20 В, частотомера для частот сигналов до 50 кГц или пробника со звуковым оповещением.

Итак, USB-осциллограф обеспечивает следующие режимы работы:

  • двухканальный осциллограф (маркерные измерения, синхронизация, измерение напряжения и частоты сигнала, фильтрация и т.д.);
  • двухканальный спектроанализатор (маркерные измерения, различные оконные функции, фильтрация и т.д.);
  • двухканальный самописец (маркерные измерения, запись сигнала в течение нескольких десятков часов и т.д.);
  • 8/16-канальный логический анализатор (маркерные измерения, синхронизация, пропуск заданного количества импульсов, поиск заданной логической комбинации, расшифровка интерфейсов UART, SPI, I2C, 1-Wire и т.д.);
  • 8-канальный логический генератор (табличное задание сигнала или непосредственное построение временных диаграмм мышью и т.д.).

Кроме того, USB-осциллограф позволяет сохранять результаты всех измерений в виде векторного или растрового рисунка для последующего импорта в другие программы или для сохранения в файле для последующего анализа. Результаты всех измерений можно распечатывать, копировать в буфер обмена, а также задавать события и сопровождать их звуковым комментарием. Можно рассчитывать различные цифровые фильтры и производить фильтрацию аналоговых сигналов и сглаживание временных диаграмм осциллографа. Устройство позволяет отображать статистику по всем каналам логического анализатора и генератора.

Однако USB-осциллографы - это уже не просто программы, а устройства, выполненные в виде внешних блоков с USB-интерфейсом и сопровождаемые обслуживающими их программными модулями. То есть это целый универсальный измерительный комплекс, состоящий из коммутационной приставки и компьютера. Кстати, производить обновление прошивки такого устройства можно по USB-шине, что позволяет дополнять возможности устройства любыми функциями на заказ.

Производят такие устройства украинская компания Da-Labs (http://www.da-labs.com/) и российская компания «Трейд-М» (http://motor-master.ru/index.htm/). Цена комплекта российской фирмы составляет 1850 руб. без учета доставки.

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


эмулятор нуль-модемного провода Null-modem emulator Бесплатная программа com0com позволяет в пару кликов создать в системе пары виртуальных COM портов. Это позволяет, например, отлаживать ваши программы, использующие последовательные порты, не подключая никаких кабелей, или на компьютере, у которого вообще нет ни одного COM порта. Вы можете легко связать две программы, работающие с такими портами через этот драйвер, просто выбрав в одной программе первый виртуальный порт из пары, а во второй программе - второй порт. После этого программы смогут обмениваться данными, как если бы они были запущены на разных машинах, соединенных кабелем через их COM порты. К примеру вы пишете программу, которая посылает текстовые сообщения через последовательный порт. Вы можете отлаживать такую программу, назначив ей один из пары виртуальных портов, а на второй виртуальный порт из пары "повесить" программу - терминал. Тогда вы сможете в терминале наблюдать данные, которые посылает в порт ваша программа.

Другое применение - отладка проектов на микроконтроллерах в симуляторе Proteus. разработчики очень часто используют COM PORT (UART интерфейс) в микроконтроллерных приложениях, так как аппаратный UART модуль имеется практически в любом современном микроконтроллере, и использовать его легко и просто. В программе Proteus есть специальный компонент для связи с COM портом компьютера (не важно, реальный это порт или виртуальный). Компонент называется COMPIM и выглядит вот так:


Этот компонент - практически "мостик", связывающий симуляцию Proteus c внешним по отношению к симулятору миром.

Предположим мы разрабатываем устройство на микроконтроллере, которое связывается с компьютером и, возможно, управляется от него, через COM порт. Одновременно мы разрабатываем программу для компьютера, которая будет взаимодействовать с этим микроконтроллерным устройством. Используя драйвер виртуальных портов мы можем отлаживать такой комплекс внутри виртуального пространства компьютера без подключения каких-либо проводов и без сборки реального устройства на микроконтроллере. Просто "собираем" схему в Proteus, загружаем в модель контроллера прошивку, добавляем в проект компонент COMPIM, соединяем линии TXD и RXD контроллера с соответствующими линиями COMPIM. В компоненте COMPIM нужно выбрать один из пары наших виртуальных портов и задать правильную скорость обмена. С другой стороны, в компьютерной программе выбираем второй из пары COM портов. Запускаем проект Proteus на выполнение и любуемся результатом.

Более простой вариант - в качестве компьютерной программы можно использовать любой COM - терминал, например вот этот . Тогда в программе - терминале мы сможем видеть данные, поступающие с нашего микроконтроллера (из Proteus) и посылать ему команды, как если бы это было реальное "железное" устройство.

Для установки драйвера на windows 7..10 нужно временно перевести винду в режим разработчика. Для этого в меню пуск выберите "выполнить" и запустите команду
bcdedit.exe -set TESTSIGNING ON
после этого перезагрузите компьютер. Скачать программу - Virtual Serial Port Driver Com0Com



BComPort - Удобный в работе Delphi компонент для работы с COM- портом

Компонент для обмена данными с внешними устройствами через интерфейс RS-232 в асинхронном или синхронном режиме. Автор: Брусникин Игорь Викторович. Компонент довольно старый, но устанавливается без проблем в любой Delphi вплоть до 10.2 Tokio.

Внимание! В новых UNICODE- версиями Delphi компонент хоть и устанавливается без проблем, но работает некорректно, так как все новые версии Delphi используют тип String в Unicode. Я адаптировал компонент для использования в новых Delphi . Подправленная версия в том же архиве в папке BComPortUnicode . Оригинальная версия - в папке BComPort . Для установки в не-юникод версии Delphi (До 8-й включительно) нужно использовать оригинальную версию. Устанавливается просто. Например в Delphi 10.2 Tokio нужно выбрать Component - Install Component и потом выбрать файл BCPort.pas . В архиве есть инструкция на русском языке и примеры. Скачать архив с компонентом...

AT команда служит для управления некоторыми функциями модема. Команды можно вводить специальными программами, это намного проще чем встроенным в Windows XP hyperterminal. Для этого можно использовать программы: или Перед использованием данных программ нужно закрыть все другие программы которые могут использовать модем. Для модемов Huawei нужно подключаться на COM порт "3G PC UI Interface ", для модемов ZTE MF на COM порт "ZTE Proprietary USB Modem ". Как пользоваться смотрим картинки, всё достаточно просто. Если команд несколько, сначала вводим одну - жмём Enter , потом следующую и опять жмём Enter.


Скачать :

Скачать : (Пароль на архиве: 12345 )


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

Запускаем . В окне нужно выбрать HUAWEI Mobile Connect - 3G PC UI Interface Нажимаем Подключить (Connect )

Для уверенности, что вы действительно подключились, наберите команду AT и нажмите отправить: Если в ответ от модема OK . Значит вы все сделали правильно и все готово для работы с модемом.

AT^CARDLOCK="NCK Code" , где NCK Code 43963141 AT^CARDLOCK="43963141" . Вставляем команду AT^CARDLOCK="43963141" и нажимаем кнопку ENTER клавиатуре.

Скачать : (Пароль на архиве: 12345 )


DC-Unlocker client первая в Мире программа которая начала специализироваться на разблокировке беспроводных 2G\3G\4G модемов форм-фактора USB\PCMCIA. Со временем модельный ряд начал расширятся мобильными телефонами, смартфонами, WiFi роутерами.

Качаем программу DC-Unlocker client и устанавливаем ее. После чего запускаем.
1. Далее меняем язык на русский. Нажимаем Options и выбираем Russian

2. Выбираем производителя модема или роутера в нашем случаи это Huawei . Нажимаем на Лупу как показано на картинке и пойдет чтение информации. Внимание! родная программа от модема должна быть закрыта). После прочтения информации вы увидите Статус SIM блокировки - Блокировано

3. Далее нам необходимо вести команду AT^CARDLOCK="NCK Code" , где NCK Code - это код разблокировки который вы приобрели у нас. Например код 12860791 тогда наша команда будет иметь такой вид AT^CARDLOCK="12860791" . Вставляем команду AT^CARDLOCK="12860791" внизу прочитанной информации и нажимаем кнопку ENTER клавиатуре.

4. После нажатия на ENTER произойдет ввод кода в наше устройство и выйдет сообщение OK

5. Нажимаем еще раз на Лупу , чтобы прочитать заново информацию. И вы увидим, где Статус SIM блокировки - надпись Разблокирован

Вот и все. Наше устройство успешно разблокировано.

AT^CARDLOCK="NCK Code" – ввод кода снятия блокировки (8-значное число). NCK Code - это код разблокировки. Пример команды AT^CARDLOCK="12345678"

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

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

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

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

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


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

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

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

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

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

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

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

Termite is an easy to use and easy to configure RS232 terminal. It uses an interface similar to that of "messenger" or "chat" programs, with a large window that contains all received data and an edit line for typing in strings to transmit. Highlights of the utility are the ease of installation (possibly with pre-configured settings) using a heuristic search for the appropriate COM port and, as was mentioned, its user-friendliness.

Other features are:

Downloads & license

Termite 3.4 is copyrighted software that is free for personal and commercial use. You may use it and distribute it without limitations. You may however not remove or conceal the copyright. There are no guarantees or warranties whatsoever; use it at your own risk.

The example plug-in filters are distributed under the .

Termite version 3.4 - complete setup (332 KiB) A self-extracting setup that contains Termite and all plug-ins and documentation (but excluding the source code for these plug-ins). This setup is provided to conveniently and quickly install Termite. (Note that Termite does not require installation, but it may just be convenient to do so.) Termite version 3.4 (program only) (76 KiB) Termite RS232 terminal in a ZIP archive. Just unzip and run; Termite writes nothing in the registry, no installation or uninstallation is required. GNU Unifont as a TrueType file (3.2 MiB) The GNU Unifont allows showing control characters as characters, rather than as . No installation of this font is needed; just unzip the font into the same directory as where Termite resides. (36 KiB) A filter that adds a time-stamp to received data. For those who want to write their custom plug-in filter(s), the commented source code that this ZIP file also contains may serve as a starting point. (32 KiB) A filter that shows the received data as a hex dump instead of as plain text, and that also allows you to send non-ASCII bytes by typing hexadecimal values on the transmit line. This ZIP file contains a compiled filter as well as commented source. (41 KiB) A filter that shows any received text that matches one of several patterns in a different (user-selectable) colour. The patterns are regular expressions. This ZIP file contains a compiled filter as well as commented source. It uses the SLRE librarySLRE library is not included in the above ZIP file, and must be downloaded separately. (27 KiB) This plug-in filter shows the status of the auxiliary modem and handshaking lines (CTS, DSR, RI and CD) and it allows you to toggle the RTS and DTR lines. The ZIP file contains a compiled filter as well as commented source code. (34 KiB) This plug-in filter writes all data that it receives to a log file (new data is appended to existing data). The ZIP file contains a compiled filter as well as commented source code and project files for Microsoft Visual Studio. (28 KiB) This plug-in filter transmits a user-defined string of text on the press of a function key (keys F1 to F12 are currently supported). The ZIP file contains a compiled filter as well as commented source code. (48 KiB) This plug-in filter checks the incoming text or data for keywords or patterns. When it detects such a pattern, it automatically transmits a user-defined reply. The "pattern" used for matching is regular expression. A series of such match/reply rows can be used to handle a simple handshake protocol. The ZIP file contains a compiled filter as well as commented source code. This filter uses the SLRE library for matching regular expressions. The source code for the SLRE library is not included in the above ZIP file, and must be downloaded separately. (124 KiB) Programmer"s documentation (Adobe Acrobat format). Translating Termite (92 KiB) A guide to add a translation of the user interface of Termite (Adobe Acrobat format).

Recent changes (version 3.4)

  • Bug fix in handling the backspace character in received text.
  • Bug fixes in handling the display of forwarded data (received data that is re-transmitted on a second port).
  • The time-stamp filter now has a setting to time-stamp every new line (instead of only time-stamping after a minimum delay has been passed).
  • The documentation for writing plug-in filters has been updated.

Usage

Termite focuses on text data, and specifically text that is sent and received as strings terminated with "new-line" characters. It has no provisions for transferring files or binary data. (That said, with the "hexadecimal view" plug-in, you can send and receive bytes as hexadecimal values, and you may write a "plug-in" filter for file transfer as well).

The interface of the Termite program has one large (initially empty) text area, which is called the "reception view". Above it is a set of buttons in a "button bar" and below it is a "transmit" line into which you can type a line of text. The utility automatically opens the RS232 port for which it was set up. It shows the current configuration at the left in the button bar. If these are not correct, you can use the button Settings to choose a different port or configuration. The Settings dialog also allows you to enable/disable "local echo" and/or to append a line termination to every string that you send.

Received bytes with values below ASCII 32 (the space character) are displayed as either a control character like , or as two hex characters between square brackets. So stands for the "backspace" character and is the Escape key. There is an exception for the tab , carriage return and line feed characters (ASCII 9, 13 and 10 respectively); these cause spacing (tab ) or a line break.
Whether you see the control character or for the backspace key, depends on whether the is present and configured in the settings.
If you wish to send a non-ANSI/ASCII character, you need the "hexadecimal view" plug-in filter, see "Downloads" above.

After connecting a serial cable between the PC and the remote device (or remote PC, in which case you must use a null-modem cable) and configuring the port, you can send data by typing text in the transmit line and pressing the "Enter" key. Any data that the remote device sends, will appear in the reception view. Optionally, the text that you transmit is copied to the reception view (the option is called "local echo", you will find in in the dialog under the Settings button). To distinguish the received data from the echoed data, the echoed text is coloured blue, whereas the received data is green.

The remaining functionality is straightforward: the Clear button clears the reception view, the About button gives copyright information and the Close button terminates the utility.

One "hidden" feature is the ability to disconnect the RS232 port, without terminating the utility. You can close an RS232 connection with a click in the status field in the upper left corner of the window (left of the button bar). Another click on that line re-opens the connection with the current settings. You can use this to "free" the port temporarily for another application.


Click here to disconnect, or re-connect

Edit history

To speed up entering repetitive commands, Termite keeps a history of recently sent commands. This history is in a circular queue with the most recent command at the top.

To browse through the history, use the "arrow up" and "arrow down" keys. If you type in a few characters in the "transmit" edit line, Termite will use the history to auto-complete the entry. Pressing the arrow up and arrow down keys then browse through the entries that match in the first letters. For example, if you have sent the words "test", "top", "view" and "set" previously, and you type the letter "t" on the edit line, Termite will first auto-complete this to either "test" or "top" (depending on which word you sent last) and the arrow keys will toggle between "test" and "top". If you clear the edit line and then use the arrow keys, Termite will loop through the entire history of "test", "top", "view" and "set".

Auto-completion and history matching are case sensitive, by the way.

Auto-completion is enabled by default, but can be disabled through the .

Scrolling

By default, Termite scrolls its reception window so that the most recently received text is displayed. In case you want to look back at text that has scrolled out of the reception view, just scroll the text back into view. Termite will stop to scroll to the end every time it receives new data.

To make Termite restart with its automatic scrolling to newly received data, scroll the reception view manually to the end of the data.

In other words, Termite only scrolls up text to show newly received data if it is already at the end of the current data.

Printing, searching text, clipboard support

Some additional functions are available from a pop-up menu that appears when you right-click in the reception view.

The "Copy" command copies only the selected text to the clipboard if a selection exists, and copies all text in absense of a selection. Likewise, the "Save" command saves only the selected text to a file if a selection exists (and all text if no selection exists).

Configuration

Termite stores the configuration in an INI file (see the next section for the location of the INI file). This way, Termite remembers its settings between sessions.

When distributing Termite, you may wish to include an INI file with pre-sets. You can run Termite directly off a CD-ROM, but the utility will not be able to store its configuration in the INI file if the INI file resides on a read-only medium. A typical INI file is below.

Port=1 Baud=57600 DataBits=8 StopBits=1 Parity=0 Handshake=0 LocalEcho=1 AppendLine=2 Topmost=0 Monospaced=0

Most of these settings can be chosen from the "Settings " dialog. This means that to get an appropriate INI file, you can launch Termite, adjust the settings (including activating any plug-in filters that you wish to use), and voilà: you have your pre-configured INI file.

A few more configurations can be done by editing the INI file directly (using a text editor like Notepad). These are the keywords Caption , TxColour and RxColour in the topic. The Caption item allows you to change the title bar of the main Termite window. Add the item Caption (below topic ) and set it to the string that you wish to have displayed —for example, the model name of the product for which you are distributing a pre-configured Termite. The items TxColour and RxColour allow you to change the colours for transmitted and received text (from the default blue and green respectively). The syntax for the colours must be #rrggbb , where rr , gg and bb are two hexadecimal digits. So for example, #FF0000 is bright red and #808000 is dark yellow.

INI file location

Termite accesses the INI file from one of two directories, depending on the start-up situation.

  • Termite first tries to locate a file called "Termite.ini" in the application directory (i.e. the directory that the Termite ".EXE" file resides in). If it can open (or create) "Termite.ini" in the application directory for read/write access, it uses that file.
  • If either the application directory does not permit read/write access (e.g. Termite is launched directly from a read-only medium), or the Termite.ini file is marked "read-only", Termite creates a directory under the "Application Data" folder of the current user"s "Local Settings". This new directory is called "Termite", and the INI file is stored there.
    The first time Termite uses the sub-folder below the current user"s Local Settings, it also copies the "Termite.ini" file from Termite"s application directory (if it exists). This allows one to store pre-configured INI file on a CD-ROM disk and still allow the user to change the configuration.

RS232 port scan

Most RS232 settings for a device can be chosen by the developer (the Baud rate and the number of data and stop bits are usually determined by the other device). One setting that the developer cannot foresee, however, is what COM port the user will attach it to. For this reason, Termite contains a "port lookup" function plus a simple "port scanning" protocol.

The "port lookup" function only works with virtual COM ports, such as USB-to-serial cables. Since Microsoft Windows has drivers pre-installed for USB devices simulating a serial port, it is a popular design. To use the port lookup function, put the complete device name of the virtual COM port at the " Port= " setting. You can find the device names in the registry below the path " HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM ". For example, for a common Prolific USB-to-serial cable, the setting in the INI file might read:

Port=\Device\ProlificSerial2

If using the device name of a serial port is not an option, for example, because your hardware has a real serial port instead of a virtual one, you can alternatively use the "port scanning" protocol. To activate this protocol, set " Port=0 " below the " " section. Port scanning chooses the first port for which the two following conditions hold:

  • the port is not already open (in use);
  • after setting the DTR line, the remote device pulls DSR up.

Port scanning cannot be selected from the Settings dialog, you have to edit the INI file to activate it.

The tests for port scanning are primitive. They do not check what device or program is hooked at the other end. The only thing that you know after a port scan is that something is connected to the port and that no other program is currently using that particular port.

In the old days, it had become common practice to connect the DTR and DSR pins in the connectors of the cable (sometimes even at both ends ). This is bad practice, because with such cables you cannot even diagnose cable connection problems. Yet, such cables still exist, and the port scan may be fooled by it.

The DRT/DSR handshake usually works with USB-to-RS232 converter cables too.

Non-standard Baud rates

The MIDI protocol is essentially the RS232 protocol over a current-loop physical layer and with a Baud rate of 31250 bps —for details, see the article "A MIDI to RS232 adapter ".

Likewise, DMX512 is essentially the RS232 protocol over an RS485 physical layer and with a Baud rate of 250,000 bps.

Termite presents you with a list of standard Baud rates, but it allows you to enter different values. The key issue is that the RS232 hardware must support the Baud rate that you select. All RS232 hardware and all USB-to-RS232 converter plugs support the standard Baud rates, but only few support non-standard Baud rates. We have tested non-standard Baud rates successfully with USB-to-RS232 converters based on the FT232R chips from FTDI .

Forwarding data between two RS232 (virtual) ports

You can use Termite to put a PC (or laptop) between two systems and monitor their RS232 communication. The PC or laptop that Termite runs on must have two RS232 ports. Instead of connecting both systems together, you connect both with the PC that runs Termite. Then, you have to choose one port as the primary port and the other as the "forward" port, see the dialog of Termite.

With forwarding set up, all data received on the primary port is transmitted through the forward port. All data received on the forward port is transmitted through the primary port. The "sent/received colouring" of Termite is also still in effect: data received on the primary port is in green and data received on the secondary port is in blue.

In this configuration, Termite would typically only be used to monitor the communication between two devices. If you type in text on the edit line and transmit it, this text is only sent through the primary port.

In the above diagram, Termite runs on a computer that sits between two other systems/devices. If one of these systems is also a computer (running Microsoft Windows), the set-up may be simplified by running Termite on that system. The dual RS232 port needed for Termite may be replaced by a virtual COM port pair, such as the .

A virtual null-modem creates two ports that exist only in software. Any data presented to one port of this pair is retransmitted at the other port —the same as how port forwarding works in Termite. If you connect an application to one port of the pair and Termite to the other port, the application now talks to Termite. When Termite is then configured to forward transmitted/received data to a physical port (to which the other system is connected), the two systems communicate as before and Termite intercepts all data.

Filters (plug-ins)

Plug-in filters allow you to extend Termite in several ways:

  • Append or insert text or data to what is received (for example, the "timestamp" sample filter inserts the relative time of reception to every packet of data that Termite receives).
  • Remove received data from Termite"s queue (before Termite processes it), for example to automatically dump it to a file or to process it separately.
  • Create windows with different views of the received data. In combination with the ability to remove data from Termite"s queue, this allows you to filter out different kinds of data from a complex stream, and display each kind in its own way.
  • Handle function keys (for short-cuts or user-defined macros).

On start-up, Termite collects all plug-in filters that are in the same directory as the Termite application itself. You can enable and disable a filter in the Settings dialog of Termite (see above). Installing a filter is therefore a mere matter of copying the file to the correct location and enabling it.

Optionally, filters may have their own configuration options. Termite launches the filter"s configuration dialog when the filter is enabled. To access the configuration dialog of a filter that is already enabled, double-click on the filter name (you must double-click on the name, not on the "check box"). Typically, a filter stores its configuration in the same INI file as the one Termite uses (Termite passes the path to this INI file to the filter when it loads the filter).

Technically, a filter is a DLL with a few special functions (of which only one is mandatory). The filename extension must be ".flt" instead of ".dll" for a filter. In the Settings dialog, Termite uses the filename minus the ".flt" extension for the filter name. See the short document Writing plug-in filters for Termite for details on writing filters. To get you started, the sample filters "Timestamp", "Hexadecimal View" and "Status LEDs" come with full commented C source code.

Translating Termite

If you wish to translate Termite (or correct translations), first get the document "How to translate Termite ". The process is simple, and requires only a simple text editor.

If you wish, you can send the translated files to us (we will gladly accept them). Note that by sending us your translations, you license us to include them in future versions of Termite.

Rationale and alternatives

I made Termite because I needed a utility for monitoring RS232 data coming from the hardware devices that we develop. We do that in-house, but devices regularly need to be monitored after installation... at a customers site... by our customers. Therefore, my design requirements were for the utility to be easy to set up, to run "out of the box" with preconfigured settings, and to run directly from a CD-ROM or USB stick without requiring installation.

Over time, I added features that were needed for specific communication requirements that we stumbled upon, such as non-standard Baud rates, port forwarding, time-stamping received data and sending/receiving hexadecimal values. The last two items were later removed from the utility itself, for the sake of keeping the basic utility simple, and added back as