Программы работающие с com портом. Терминальные программы

Как работать с устройствами по COM-порту с помощью терминальной программы?
В различных инструкциях и руководствах вы можете увидеть рекомендации по работе с устройствами через терминальную программу. Как правило, такие действия производят с помощью HyperTerminal - стандартной программы в операционных системах Windows. Мы же рекомендуем использовать терминальную программу "Terminal v1.9b by bray " , потому что это более гибкий и удобный в работе инструмент. Ниже мы расскажем как работать с нашими устройствами на примере именно этой программы.

В первую очередь подключите устройство, с которым собираетесь работать, к компьютеру через COM-порт. Подключите питание.
Теперь запустите Terminal v1.9b .

Интерфейс и основные настройки подключения по порту

В верхнем поле находятся параметры подключения:

  1. Колонка №1:
    Connect
    - кнопка для открытия COM-порта,
    Rescan - пересканировать список COM-портов,
    Help - справка,
    About.. - о программе,
    Quit - выход из программы.

    Колонка №2:

  2. Поле выбора номера COM-порта для подключения.
    Колонка №3:
  3. Выбор скорости COM-порта.
    Колонка №4:
  4. Выбор количества бит данных.
    Колонка №5:
  5. Выбор четности.
    Колонка №6:
    Выбор количества стоповых бит.
    Колонка №7:
  6. Выбор типа управления потоком.
В разделе Settings находятся дополнительные параметры. Они пригодятся для написания скриптов, работы с нестандартными скоростями или для записи

В разделе Recieve находятся параметры отображения ответа от устройства.

В разделе Transmit находятся параметры передачи данных на устройство. Кнопки DTR и RTS устанавливают соответствующие выводы в положительное состояние.

Макросы

Поле Macros предназначено для создания пользовательских быстрых клавиш.
Для этого нужно нажать на кнопку SetMacros и в открывшемся окне присвоить каждой кнопке определённую последовательность символов, которая будет отправляться на устройство.
  1. Блок №1:
    Поле для ввода последовательности символов для отправки. Для того чтобы отправить специальные символы, необходимо воспользоваться ASCII таблицей и ввести код символа, предварительно экранировав его знаком "$ ". Например, на картинке выше, вы можете видеть экранированный символ возврата каретки $0D (нажатие клавиши Enter )
    Блок №2:
  2. Здесь в левом поле задаётся имя кнопки, а в правом отображается сама кнопка.
    Блок №3:
  3. Тут задаётся задержка при автоматическом повторении команд.
    Блок №4:
  4. Включение автоматического повтора команды через интервал времени, заданный в п.3.
Кнопки Load и Save позволяют сохранить или загрузить файл с макросами, введёнными в этом окне.

Отправка и прием данных



Блок №1:
В этом большом поле вы будете видеть ответы от вашего устройства.
Если в разделе "Settings " вы не забыли поставить галочку "Time ", то перед каждой строкой будет проставлена метка времени. Это бывает очень полезно при анализе логов с устройства.

Блок №2:
Тут находится поле для отправки текста сообщений. Установленная галочка "+CR" будет дописывать к отправляемому сообщению символ возврата каретки (эмулировать нажатие клавиши Enter). Кнопка "->Send" отправит ваше сообщение на устройство.

Блок №3:
В самом низу находится поле, где вы можете видеть отправленные на устройство команды.


Теперь вы знакомы с интерфейсом Terminal 1.9b!

Как происходит общение с устройством, вы можете посмотреть в этих статьях.

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

Если вам понадобится программа HyperTerminal в Windows 7, то смею вас огорчить: ее там больше нет. По какой-то причине разработчики компании Microsoft перестали включать эту замечательную утилиту в состав своих ОС (Vista, Server 2008/R2, Windows 7). Вероятно, одной из причин такого решения являться тот факт, что COM порты на современных компьютерах практически отсутствуют, а если и есть, то покрыты толстым слоем пыли…

Напомним, что HyperTerminal – это приложение, позволяющее эмулировать работу терминала при взаимодействии с удалёнными устройствами по последовательной шине (RS-232), dial-up-у или протоколу TCP/IP (последнее скорее редкость, предпочтительнее использовать telnet ). Через консольный COM порт обычно настраивают различное сетевое оборудование, такое как маршрутизаторы, модемы, свитчи, АТС и т.д.

Так как же работать с COM-портами и устройствами на них в Windows 7 , когда нужен функционал старого доброго гипертерминала?

Используем стандартный HyperTerminal из Windows XP

Чтобы вернуть HyperTerminal в Windows 7 достаточно просто скопировать файлы данной программы из Windows XP. Нам понадобятся следующие файлы:

  • C:\Program Files\Windows NT\hypertrm.exe
  • C:\WINODWS\system32\hypertrm.dll
  • C:\WINODWS\Help\hypertrm.chm
  • C:\Windows\Help\hyperterm.hlp

Скопируйте их в отдельный каталог в Windows 7, после чего можно запустить гипертерминал в Windows 7, открыв файл hypertrm.exe с явными правами админа (Run as administrator по правой кнопочке мыши).

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

Скачать hyperterminal для windows 7 : (215 Кб)

Putty как аналог гипертерминала

Если вы хотите радикально избавиться от устаревшего гипертерминала, придется искать его аналоги для Windows 7.

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

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

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

На данный момент программа поддерживает почти все стандартные функции работы с COM портом.

Терминалка поддерживает как обычные режимы представления данных: в бинарном виде, шестнадцатеричном, всем привычном текстовом, так и расширенный режим текстовый с элементами шестнадцатеричного режима. В этом режиме обычные текстовые данные отображаются как текст, а данные, которые не имеют представления в текстовом виде, например специальные символы (первые 31 символ таблицы ASCII) в HEX виде. Шестнадцатеричные данные можно отображать как в своём представлении, так и в привычным десятичным числом. Также в этом меню можно включить возможность отправки HEX данных напрямую с поля ввода данных, при помощи символа $. Например $048 = 0. Сам же доллар будет отправляться при двойном наборе его символа ($$) или HEX кодом.

Можно также включить вывод таблицы ASCII кодов, для самостоятельного выбора символа из таблицы.

Таблицу АСКИ кодов можно отображать полностью (256 символов) или её первую половину, коды символов могу отображаться как в десятеричном, так и в шестнадцатеричном виде, настройка этих параметров производиться в правом нижнем углу. Таблица скрывается по нажатию отмены или ESC, ввести в ней код в ручную можно с клавиатуры и нажать Enter.

Интересной особенностью программы являются два поля для ввода готовых команд.

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

Программа позволяет сохранять данные за сеанс в текстовом файле и в rtf с сохранением подсветки текста. Так же в программе реализована возможность ведения лога. Отличие записи истории от обычного сохранения в том, что файл записывается на лету и log сохраниться, если даже программа была закрыта, её процесс был убит или компьютер выключен по питанию. В настройках есть возможность включения авто лога, т.е. запись лога будет начинаться, в указанный в настройках файл, сразу после запуска программы.

Посредством примитивного скриптоязыка можно задавать небольшие прописывать небольшие скрипты, которые программа будет исполнять. Команды представлены одним символом, после которого через пробел следует параметр команды. Так же доступны комментарии по средством двух косых линий // .
O — открыть порт
C — закрыть порт
G — перейти на указанную строку (G 0 — начать исполнения скрипта с начала)
D — задержка мс
M — выводимый в общем окне комментарий
W — ввод текста
E — ввод Enter ($10$13 )
R — ожидание текста
X — закрыть программу
S — выполнить команду в командной строке CMD

Скрипты можно запускать с запуском программы. Для этого скрипт должен быть заранее написан и добавлен в менеджер скриптов. Порт (номер и скорость) должен быть заранее настроен. Имя запускаемого скрипта указывается в параметрах запуска программы (из командной строки, в настройках ярлыка) с атрибутом script или s.

"C:\AL Terminal\ALTerminal.exe" "script 1.txt"
"ALTerminal.exe" "s test2.txt"

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

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

Обновление от 03.02.2019

  • Различные доработки и исправления ошибок. Подробнее в следующей версии.
  • Внимание! Это промежуточная версия! Версия до конца неотлажена и не отполированна, возможны мелкие ошибки и недоработки.
  • Внимание! Если будете использовать старый ini файл, то настройки цвета текста не перенесутся.
  • Добавленный алгоритм рассчёта контрольной суммы CRC16 для работы с протоколом Modbus RTU.

Обновление от 02.07.2017

  • Добавлена возможность использования нескольких полей команд.
  • Мелкие доработки.

Обновление от 05.02.2017

  • Добавлена возможность установки произвольной скорости порта (требуется тестирование).

Обновление от 05.02.2017

  • Добавлена обработка исключения отсутствия COM порта при закрытии программы и отключении от порта кнопкой Disconnect. Теперь программа один раз поругается и закроется, не нужно убивать процесс в случае потери COM порта.
  • Добавлены дополнительные варианты переноса при окончания строки, теперь доступны: CR, LF, CR+LF, LF+CR, вариант пользователя. (полностью не проверено)
  • Для полей ввода: «список команд» и «поле команд» — перенос берется из настроек завершения строки.
  • Добавлена скриптовая команда S — выполнить стороннею команду в командной строке (CMD) на компьютере (например запустить какой-нибудь файл).

Обновление от 24.06.2016

  • Добавлена скриптовая команда G — переход выполнения скрипта на указанную строку
  • Добавлена возможность запуска скрипта при старте программы. Имя скрипта указывается в параметрах запуска программы (командной строке)
  • Обновление иконок

Обновление от 10.11.2015

  • Исправлено окно много строчного ввода

Обновление от 23.07.2015

  • Решен вопрос с отправкой 0 символа (null, ASCI 0)
  • Исправлена ошибка ввода HEX нецелочисленных (буквенных) кодов
  • Добавлена автоочистка экрана, как построчная, так и постраничная
  • Добавлен графикопостроитель (сырой и без сохранения настроек)
  • Добавлена горячая клавиша очистки экрана F8
  • Мелкие доработки

Обновление от 25.09.2013

  • Добавлены скрипты, ещё не доделан менеджер скриптов
  • Добавлено окно построчного ввода
  • Очистка главного окна теперь доступна всегда
  • Мелкие доработки

Обновление от 16.06.2011

  • Добавлена возможность с помощью стрелок курсора в командной строке вернуть ране введённые команды.
  • + в версии – это возможность вводить произвольный COM порт, но не факт, что этот порт откроется, т.к. доступа или порта может не быть (тестируется).

65 комментариев на « AL Terminal»

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

    дополню: в системе при подключении телефона не устанавливались дрова и не появлялся виртуальный порт.

    Рад, что программа кому-то пригодилась.
    Обновил программу.
    В версии v1.001.0025+ добавил возможность задавать порт вручную.

    Есл не сложно, добавьте возможность выполнения команд по расписанию.

    Есть такое в планах, реализовать через скрипты, но этим смогу заняться только ближе к концу лета 🙁 .

    Не разбираюсь в программировании. Вопрос: прибор на работе выводит значения измерений на матричный принтер по COM порту, можно ли с помощью этой программы выводить эту информацию на монитор компьютера? Цель — заменить принтеры, которые заедают по бумаге и сыпятся, компьютером.

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

    Регулярно пользуюсь вашей программой.
    Ждать ли обновлений?

    Классная програмка! Но у меня все надписи (окромя тех, что латиницей) — знаки вопросика. Уважаемый автор, не планируете ли запилить исключительно английский интерфейс для своей программы? Или переключение рус-англ в опциях или.ini файле? А то тут у нас не только русскоязычные, было бы классно английскую версию. Спасибо!

    В планах такого нет. В принципе было бы неплохо, но нужно достаточно объёмную работу сделать.

    Немного обновил программу.

    Александр пишет 21.01.2014 в 02:34

    Как после команды AT+CMGS=»xxxxxxxxxxx» и ввода текста после > закинуть Ctrl+Z

    Через $, выпадет окно выбора/ввода символов. Ctrl+Z код 26 (int). Подробнее описано в статье.

    Александр пишет 31.01.2014 в 23:54

    Александр пишет 31.01.2014 в 23:58

    Разобрался. Работает только с корня диска. По крайней мере у меня. СПСБ

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

    Здравствуйте, уважаемые разработчики.
    Недавно начал пользоваться Вашей программой ALTerminal, по возможностям она превзошла все идентичными с которыми я ранее работал. Было бы очень хорошо если бы Вы добавили некоторый функционал:
    — на окне вывода информации сделать возможность вызова всплывающего меню (ПКМ) аналогично как у других окон с меню «Очистить», функционал Файл->Очистить и/или привязать функц. клавишу;
    — Настройка->Настройки->Общая добавить возможность выбора цвета фона. В полутемной комнате яркий белый цвет режет глаза.
    От себя:
    Огромное спасибо за хорошую работу. Удачи. С уважением, Максим.

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

    Похожим функционалом обладает бесплатная программа с открытым кодом YAT Terminal (sourceforge хостит)
    Вообще странно, что мало программ с заготовками команд..
    Еще видел программу, где можно было настроить несколько шаблонов с командами, например, для работы с разным оборудованием…

    Спасибо за Вашу работу, Вы сделали мир лучше =)

    Хорошая программа! Особенно порадовало наличие внутреннего скриптового языка — это огромный плюс!!!

    Из минусов (для меня лично) отметил следующее:
    — нет хот-кея или кнопки для стирания выдачи с терминала. Утомляет клацать мышкой по меню и стирать поле вывода. Лучше стирание повесить именно на хот-кей.
    — В окне выдачи надписи типа «Начало скрипта» и «Конец скрипта» очень мешают!!! Выдачу этих сообщений надо повесить в опции. Это не очень информативные сообщения.

    А вообще идея терминального окна вместе со скриптовым языком — это очень правильное направление!!! Именно скриптов с задержками и минимальной обработкой очень не хватает!!! Был терминал в начале 90-х от старика Нортона. Он был волшебен и идеален!!! Не понимаю, почему его забыли….

    Задержки (delay) — это просто 5!!! Но еще в скриптах не хватает элементарных условий (IF, SWITCH) а можно и на циклы замахнуться (DO, WHILE, FOR)

    Может быть скооперироваться и сделать конечный продукт? Я не обещаю, что буду прилежным писателем, но… Буду благодарен за исходники программы. На досуге попробую поковырять и внести свои хотюнчики))))

    программа удобная но очень не стабильная. после 5 часов работы начинает съедать длинные строки (400 — 500 байт). для меня по прежнему авторитет Terminal v1.9b работает до двух месяцев и пишет все в лог. хотя и у него бывают неожиданные сбои.

    P.S.
    жду улучшения стабильности. планирую полностью перейти на Вашу программу.
    может стоит очищать переменную для буфера из UART-a в программе. в общем без кода сложно, что-то предполагать. удачи!

    О подобной проблеме в курсе. Дело в том, что главное поле в которое сваливается весь текст переполняется и программа при большом объёме принятых данных начинает подтормаживать.
    Самый простой вариант решения — ввести ограничение для главного поля на N строк или N байт.
    Ближайшее время не смогу вернуться к доработке по программе, но замечание услышал. Спасибо.

    Спасибо! очень понравилась программа!

    tema aktualnaia spasibo za vsio. no ia pervi raz delaiu proshivku i ne znaiu kakuiuta oshibku mne pishet no nikak ne mogu poniat v chom dela. u menia module sim900 i vot takuiu oshibku vidaiot 00′ 10*857
    error ram program ACK not Received! mojet znaet kto vchom dela pojalusta pomagite

    Программа была обновлена, теперь доступна v1.001.0037 версия.
    Изменения:
    . Решен вопрос с отправкой 0 символа (null, ASCI 0)
    . Исправлена ошибка ввода HEX нецелочисленных (буквенных) кодов
    . Добавлена автоочистка экрана, как построчная, так и постраничная
    . Добавлен графикопостроитель (сырой и без сохранения настроек)
    . Добавлена горячая клавиша очистки экрана F8
    . Мелкие доработки

    спасибо! ща протестируем

    Доброго времени суток!
    Давно пользуюсь вашим терминалом, все устраивает.
    Но! Сегодня стал подключать WiFi-модуль, а там нужна скорость 75000 бод, которой нет в списке AL-терминала.
    Если я что-то упустил, ткните носом. Если нет, не могли бы вы запилить еще одну версию? Очень уж удобна ваша прога (за что отдельное спасибо)

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

    Отличная прога! alex_EXE, спасибо огромное))

    Алекс, большое спасибо.
    Замечательная статья! И прога полезная.

    У меня вопрос: Если включаю модуль через напрямую к UART-COM с питанием 3,3В, модуль отвечает на АТ запросы но не видит сеть оператора. Если я переключаю питание на понижающий DC-DC и даю модулю 3,8В от перестает отвечать на запросы.

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

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

    Программа обновлена до версии v1.001.0040
    Изменения:
    . Добавлена скриптовая команда G - переход выполнения скрипта на указанную строку
    . Добавлена возможность запуска скрипта при старте программы. Имя скрипта указывается в параметрах запуска программы (командной строке)
    . Обновление иконок

    Рыл нормальную программу для AT-команд… остановился на AL Terminal, ибо лучше просто нет.
    Хвала что она есть!!!

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

    Расстрою: ближайшее время обновлений не ожидается, через некоторое время вернусь к ней.

    По графикам: данный функционал очень сырой, о чём предупреждал.
    Пара слов о том, как можно попробовать использовать графики:
    1. В меню график включаем отправку сообщений в окно графика — меню «Включить»
    2. Открываем окно графика
    С вкладками График и настройки — думаю всё понятно.
    Во вкладке преобразования можно настроить пока что только целочисленный множитель и задать целочисленное смещение, т.е. можно вводить только цифры и знак -.
    Самое главное — настроить парсер входных данных.
    3. данные должны приходить однородные и форматированные
    4. нужно настроить, что бы в нижнем поле ввода данных отображалось корректное цифровое значение (цифры, знак минуса в начале, если есть, допустимы пробелы в начале, остальные символы не допускаются).
    5. поставить галочку «Вкл» над нижними полями ввода.
    Пример настройки парсера (декодирования):
    получаем следующие данные
    -001745; 004824; 049410;
    хотим считать 1 значение:
    1 значение числовое 7 символов, идёт первым:
    . входящие данные — Число
    . Количество символов в 1 значении — 7
    . Порядок — по убыванию
    . Начальная фраза нам не нужна — выкл
    . Отрицательное — это для режима байта — выкл
    . Удалять символы с конца — 0 (ещё корректно не работает)
    . Отступ — 0 (для считывания второго значения будет 8, для 3 — 16)

    Всё очень замечательно. Отличный нужный софт.
    Но вот возник вопросик.
    А как заслать в порт команду а конце введённой строки

    Кажется разобрался!
    Спасибо!
    Отличный софт!

    эм… Рад, что программа Вам понравилась и, что сами разобрались со своим вопросом.

    Анатолий пишет 05.12.2016 в 16:23

    Спасибо,
    Отличный софт

    Alex, огроменное СПАСИБО за программу AL Terminal! Только с ней работает мой GSM модуль AI Thinker A6 в связке с USB-UART модулем от RobotDYN. 2 дня убил на то, чтобы получать ответы от этого модема, хотел уже диспут открывать на Ali за неисправный модем, а Вы тут вовремя со своей программой. Успеха Вам и дальнейших «выручалочек» для нас:))). С уважением, Борис из Санкт-Петербурга.

    Программа обновлена до версии v1.001.0044
    Изменения:
    Добавлена обработка исключения отсутствия COM порта при закрытии программы и отключении от порта кнопкой Disconnect. Теперь программа один раз поругается и закроется, не нужно убивать процесс в случае потери COM порта.
    Добавлены дополнительные варианты переноса при окончания строки, теперь доступны: CR, LF, CR+LF, LF+CR, вариант пользователя. (полностью не проверено)
    Для полей ввода: «список команд» и «поле команд» — перенос берется из настроек завершения строки.
    Добавлена скриптовая команда S - выполнить стороннею команду в командной строке (CMD) на компьютере (например запустить какой-нибудь файл).

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

    Первой хотел бы упомянуть 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 баксов для русскоязычных пользователей.
    Так что проще было ее зарегистрировать. Тем более штука нужная и уже неоднократно себя окупившая.

Похожие публикации