Терминал (для работы с COM портом) под Windows.
Зачем понадобилось создавать еще одну программу терминал ???
На просторах интернета полно подобных программ ?!
Что есть, то есть !
Но есть маленькое НО, все дело в нюансах !
— Требуемый функционал был разбросан по нескольким программам и это было очень не удобно….
— Часть требуемых функций не было и вовсе…
— Часть программ банально падали в самый неподходящий момент….
— Часть функций реализованы с ошибками….
Так жить нельзя и работать тоже ….
Значит надо создать свою программу, с необходимым функционалом.
Данный проект задумывался как вспомогательный для тестирования большого проекта связанного
с телеметрией. В проекте требовалось принимать и передавать данные через COM порт компьютера.
Проект готов и сдан. Программа осталась и продолжает использоваться по назначению, для отладки
разного рода устройств !
На текущий момент программа продолжает дорабатывается, исправляются ошибки, добавляются
новый функции.
В данной статье будут публиковаться все изменения и нововведения сделанные в программе.
Краткое описание программы.
Программа создана в среде Microsoft Studio 2008, на языке VB.
Работоспособность проверенна в следующих ОС: Windows XP, Windows 7-32/64Pro, Windows 11-64Pro.
Репозиторий программы представлен на GitHub, готовый бинарный файл(exe) в виде Zip архива.
Собранная программа представляет из себя один запускаемый файл.
Программа не требует установки и работает из любого места.
Программа не требует для запуска привилегий администратора.
Программа может:
1. Подключаться к любому com порту в системе.
2. Выставлять параметры работы com порта, включая нестандартные скорости работы порта
(при условии что драйвер windows поддерживает нестандартные скорости,
хотя как показала практика погрешность может быть очень большой.
Например: При заданной 250000 — в железе получаем 256000, ;(
увы точнее делитель не устанавливается….).
3. Производить запись принимаемых данных в файл.
Для этого необходимо поставить галку в Записать в файл,
будет создан файл с именем файла в виде текущей даты и времени и расширение log (например 05_06_2023_15_15_07.log)
в той же папке где находится сам терминал. Снятие и установка гадки приводит к созданию нового файла.
4. Передавать в порт строку с разными концовками в виде дополнительных кодов.
5. Циклически передавать в порт строку с заданным интервалом времени.
6. Передавать в порт файл.
7. Проиграть сценарий из файла (передача данных + задержка между данными).
8. Показывать состояние линий: CTS, DSR, RI, CD.
9. Изменять состояние линий: DTR, RST.
Программа пока не может:
1. Разбирать ESC последовательности.
2. Вести историю передаваемых строк.
3. Передавать в порт кода нажатых клавиш в окне приема и передачи.
4. Показывать ответы (RX от устройства) при проигрывании сценария из файла.
5. Вести в логах длинную историю (автоматическое укорачивание при достижении заданной длинны).
На текущий момент планов по развитию и доработки программы много.
Обычно в процесс работы с программой, во время отладки очередного устройства,
появляется необходимость в новом функционале.
Так в программу попадает новый функционал, продиктованный практикой.
При добавления нового функционала в программу, иногда добавляются и проявляются
глюки (по недосмотру), прошу отнестись с понимание
Глюки исправляются, и новая версия выкладывается в репозитарий.
Исходники на GiHub.
Текущая версия: Скачать (exe) в Zip архиве.
На основе данной программы была создана еще одна утилита для работы по протоколу PELCO-D,
для тестирования и управления камерами и поворотными платформами.
19-09-2023
Текущая версия: v1.6.0.
[+] Новое: В приемном окне добавлена кнопка ПАУЗА, которая позволяет не выводить
принимаемый поток в окно терминала, пока не будет нажата повторно.
При этом данные продолжают приниматься и накапливаться во внутреннем буфере.
Данный функционал предназначен для просмотра части принятого потока при постоянной
передаче со стороны устройства.
[+] Исправление: Кнопка ПОИСК(СОМ портов в системе) выключается при открытии порта.
19-12-2022
Текущая версия: v1.5.0.
[+] Исправление: Замораживание интерфейса терминала при приеме потока данных.
12-12-2022
Текущая версия: v1.4.1.
[+] Исправление: Не верная полярность сигналов CTS/DSR/RI/CD.
[+] Исправление: Терминал вылетает с ошибкой при запуске, если в системе нет СОМ портов.
5-12-2022
Текущая версия: v1.4.0 (По просьбе коллеги был добавлен новый функционал).
[+] Новое: Вывод в строку статуса состояния сигналов CTS/DSR/RI/CD.
[+] Новое: Добавлена возможность изменения состояния сигналов RTS/DTR.
1-6-2022
Текущая версия: v1.3.8
[+] Исправление: Вывод в TXT и HEX строки.
3-8-2021
Текущая версия: v1.3.7
[+] Исправление: Зависание программы при отключении COM порта из системы (выдернули кабель…).
29-7-2021
Текущая версия: v1.3.6
[+] Исправление: Перепутаны STOP BIT 1.5 <-> 2.
22-7-2021
Текущая версия: v1.3.5
[+] Исправление: Не корректный вывод кодов \r \n.
8-6-2021
Текущая версия: v1.3.4
[+] Исправление: Подвисание интерфейса при приеме не отображаемых кодов (0x00-0x19).
[+] Исправление: Конвертации кодов \n -> \n\r.
3-12-2020
Текущая версия: v1.3.2
[+] Вывод подробного описания СОМ портов.
[+] Проигрывание сценария из текстового файла.
Пример сценария (Файл TXT), формат:
81 01 04 07 03 FF
> 100
81 01 04 07 02 FF
Где:
81 01 04 07 03 FF — значения байт в TXT-HEX формате отправляемых в СОМ порт.
> 100 — Формирование паузы 100 мс.
81 01 04 07 02 FF — значения байт в HEX формате отправляемых в СОМ порт.
[+] Перевод строки в TXT-HEX виде в байтовый массив и передача в СОМ порт.
15-05-2019
Версия: v1.2.2
[+] Добавлена история ввода передаваемых строк.
16-12-2018
Версия: v1.2.1
[+] Внесены изменения в интерфейс. Часть функций вынесены в окно приема.
[+] Добавлена функция Вкл/Выкл печати символа с кодом 0x0A.
0x0D + 0x0A -> 0x0D.
[+] Решено: При закрытии порта продолжалась передача в порт.
[+] Добавлена подсказка при наведении курсора на элементы управления.
[+] При запуске программы производится автоматический поиск СОМ портов в системе.
4-09-2018
Версия: v1.1.0
[+] Добавлена передача в порт кодов нажатых клавиш в окне приема и передачи.
Serial Port Terminal
Connect Your Port and log your data
Specially to debug your device like microcontroller, raspberry phi, PLC etc,
Send RAW data in various type
Features
- Compact, Powerfull, Easy To Use
- Modern UI, Based on .Net Framework 3.5 and 4.6
- Log Received Data type : ASCII (text) , Decimal, Hexadecimal, Binary
- Send Data Type : ASCII (text) , Decimal, Hexadecimal, Binary
- Cosmumized Log Text, Received and Transmitted
- and more…
As the largest commercial provider of hosting and support services for the open-source Moodle™ learning platform, we help organizations and institutions deliver great learning experiences without complexities
User Reviews
Be the first to post a review of Serial Port Terminal!
Additional Project Details
Программа Terminal 1.9b является монитором COM порта персонального компьютера. С помощью программы можно легко отправлять и принимать данные через COM порт компьютера по протоколу RS232. Среди достоинств Terminal гибкая настройка программы под различные режимы работы. Интерфейс программы прост и понятен.
Смотрите ещё:
Преобразователь USB-UART на базе PL2303HX. Скачать драйвера для windows
Преобразователь USB-UART на базе CH340G. Скачать драйвера для windows
Программа очень удобная для связи AVR микроконтроллеров и компьютером по UART/USART.
Основные возможности Terminal 1.9b:
- работает без установки. Вся программа — один exe-файл размером около 300Кб
- есть счетчик переданных и принятых байтов
- возможность отправлять файлы
- помимо стандартных скоростей (baudrate) есть возможность установить свою нестандартную
- поддерживает до 64 COM-портов
- можно весь лог работы записывать в файл
- можно назначить до 24 макросов
- реализованы Pascalе-подобные скрипты (правда документации по этому скриптовому языку я не нашел. В архиве есть несколько примеров применения скриптов и это все)
Программа очень удачная, легкая, интуитивно-понятная.
Скачать
Terminal 1.9b
Похожие записи
I hope that this blog post is found and helps someone. I wasn’t sure what to title it. Hope Google Juice got you here!
Read this whole post, there’s a lot initially but there’s really just two or three small pieces. It’ll be worth it because you’ll be able to have a nice one click menu and drop directly into a serial port terminal on Windows in the Windows Terminal
Often when you’re doing embedded systems development you’ll want to monitor or talk to the COM/Serial Port just like you SSH into remote system. Folks ask questions like «How to connect to a serial port as simple as using SSH?»
On Linux you’ll use things like «screen /dev/ttyS0» for COM0. With Windows, however, the historical guidance has always been to use Putty. It’ll work but it’s somewhat old, quirky, and it doesn’t integrate well with the Windows Terminal and a more modern workflow.
Say I have a small embedded microcontroller device that talks over a COM Port (usually via a USB->COM bridge) like an Arduino.
Let’s assume this device talks to the COM port as if it were a terminal and it’s outputting stuff I want to see. I’ll use this great little CLI example app for Arduino from Mads Aasvik to simulate such a device.
Here’s what it looks like under Arduino’s Serial Monitor, for example. This is a Windows app doing serial communication with its own interface wrapping around it. I want to do this at a command line, and bonus points if it’s in Windows Terminal.
Setup WSL1
If you have Windows 10 you can the Windows Subsystem for Linux quickly with this command at a Admin prompt:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Then go to the Windows Store and get any small Linux. Ubuntu or Kali will do for our purposes. Run it and set your user and password. (I tried Alpine but it still has issues with screen and /dev/null/utmp)
NOTE: If you are using WSL2 and have set it as default, run wsl —list -v and ensure that your new distro is using WSL1 as only WSL1 will let us talk to the COM Ports. You can change it to WSL1 with «wsl —set-version DISTRONAME 1» from any command prompt.
To test this out now, run your new distro from any command line prompt like this. Add the «screen» app with sudo apt update
» and «sudo app install screen
«.
You can see here that my Arduino serial device is on COM4. On Linux that device is /dev/ttyS4
That means that I should be able to talk it from any WSL1 Linux Distro on Windows like «screen /dev/ttyS4 9600
» where 9600 is the speed/baud rate.
> wsl --list -v
NAME STATE VERSION
* Ubuntu-18.04 Stopped 2
kali-linux Stopped 1
Ubuntu-20.04 Stopped 2
WLinux Stopped 2
Get Minicom on your WSL1 distro
Screen is somewhat persnickety for Serial Port work so try Minicom. Minicom is a nice little text com program. Install with apt install minicom and run for the first time with «sudo minicom -s» to set your default. Note I’ve change the default port from /dev/modem to /dev/ttyS4 and the speed, in my case, to 9600.
Then I hit enter and save settings as the dft (default) in minicom. You can also turn on Local Echo with «Ctrl-A E» and toggle it if needed. Now I can talk to my Arudino with minicom.
Ensure dialout permissions to talk to the COM port
NOTE: If you get «cannon open /dev/ttyS4: Permission denied, you may need to add your user to the dialout group. This way we don’t need to sudo and get no prompt when running minicom!
> wsl -d kali-linux minicom
minicom: cannot open /dev/ttyS4: Permission denied
> wsl -d kali-linux
$ groups scott
scott : scott adm cdrom sudo dip plugdev
$ sudo gpasswd --add scott dialout
[sudo] password for scott:
Adding user scott to group dialout
I can now run minicom on my configured COM port 4 (/dev/ttyS4) with wsl -d DISTRONAME minicom without sudo
.
Here I’m talking to that Arduino program. This embedded app doesn’t need to me hit enter after I type, so remember your own embedded devices will vary.
Make a nice menu
Bonus points, now I’ll add a menu item for Minicom by changing my Windows Terminal settings AND I’ll get more points for adding a nice serial port icon!
I hit settings and add a new profile like this at the top under profiles in the «list.» Again, your distro name will be different.
{
"guid": "{61c54bbd-a2c6-5271-96e7-009a87fa45cf}",
"name": "Minicom on Serial COM4",
"hidden": false,
"commandline": "wsl -d kali-linux minicom",
"startingDirectory": "%USERPROFILE%",
"icon": "C:/Users/scott/Desktop/serial_port_icon_138204.png"
},
To review:
- Use a WSL1 distro
- Install minicom, run with minicom -s once to make settings
- Make sure you are using the right /dev/ttyS0 device for your situation
- Ensure your flow control, baud, etc are all correct in minicom
- Add your user to the dialout group so you don’t have to sudo minicom
- Make a menu item in Windows Terminal
- or run minicom manually in your WSL1 instance whenever you like
Hope this helps!
Sponsor: Suffering from a lack of clarity around software bugs? Give your customers the experience they deserve and expect with error monitoring from Raygun.com. Installs in minutes, try it today!
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
About Newsletter
Hosting By
Если вам приходится работать с com портом на операционной системе Windows 10, вам потребуется надежный и удобный терминал для отображения и взаимодействия с данными. Независимо от того, занимаетесь ли вы разработкой аппаратного обеспечения или просто настраиваете оборудование, хороший терминал является неотъемлемой частью вашего инструментария.
В этой статье мы рассмотрим несколько лучших инструментов и программ для работы с com портом в Windows 10. Мы остановимся на их особенностях, плюсах и минусах, чтобы вы могли выбрать самый подходящий для ваших нужд.
Termite
Termite — одна из наиболее популярных и простых в использовании программ для работы с com портом. Ее простой интерфейс и функциональность делают ее идеальным выбором для новичков и профессионалов. Termite поддерживает отправку и прием данных, отображение в шестнадцатеричном формате, а также отправку и прием файлов. Это бесплатная программа, которая работает на всех версиях Windows, включая Windows 10.
Продолжение в статье…
Содержание
- Лучшие инструменты и программы для работы с com портом в Windows 10
- Описание и назначение COM-порта
- Как подключить устройство к com порту в Windows 10
Лучшие инструменты и программы для работы с com портом в Windows 10
Работа с com портом в Windows 10 может быть удобной и эффективной, если использовать правильные инструменты и программы. В этом разделе мы рассмотрим несколько из них, которые могут помочь вам в работе с com портом.
1. RealTerm
RealTerm — это мощный и гибкий терминал для работы с com портом в Windows 10. Этот инструмент предоставляет доступ к различным функциям, таким как отправка и прием данных, управление потоком, отладка и многое другое. RealTerm является бесплатным программным обеспечением и имеет понятный интерфейс, который делает его очень удобным в использовании.
2. Putty
Putty — это еще один популярный инструмент для работы с com портом в Windows 10. Он поддерживает не только com порт, но и другие протоколы связи, такие как SSH, Telnet и т. д. Putty является бесплатным и имеет простой интерфейс, который делает его очень популярным среди пользователей.
3. Tera Term
Tera Term — это бесплатный и открытый исходный код терминал для работы с com портом в Windows 10. Он поддерживает множество функций, таких как отправка и прием данных, управление потоком, скриптование и т. д. Tera Term имеет простой и интуитивно понятный интерфейс, который делает его очень удобным в использовании.
4. HTerm
HTerm — это простой и легкий терминал для работы с com портом в Windows 10. Он имеет минимальный набор функций, который делает его идеальным для простых задач. HTerm имеет простой и интуитивно понятный интерфейс, который делает его очень удобным в использовании.
Вывод
В Windows 10 есть множество инструментов и программ, которые могут помочь вам в работе с com портом. В этом разделе мы рассмотрели некоторые из них, такие как RealTerm, Putty, Tera Term и HTerm. Выберите инструмент, который наиболее удобен для ваших потребностей, и начните удобно и эффективно работать с com портом в Windows 10.
COM-порты обеспечивают последовательное (серийное) соединение устройства с компьютером. Данные передаются последовательно, бит за битом. COM-порты могут быть разного типа и обладать разными характеристиками, такими как скорость передачи данных, форматирование данных, контроль паритета и другие параметры. Наиболее распространенными типами COM-портов являются RS-232 и USB.
Основное назначение COM-портов — обмен данными между компьютером и внешним устройством. С помощью COM-порта можно отправлять и принимать информацию, управлять устройством и получать от него данные. COM-порты используются в различных областях, включая промышленность, автоматизацию, медицину, телекоммуникации и домашние применения.
Преимущества COM-порта | Недостатки COM-порта |
---|---|
|
|
В целом, COM-порты остаются важным средством связи между компьютером и различными устройствами, несмотря на возникновение новых технологий. Для работы с COM-портами на компьютере под Windows 10 можно использовать различные программы и инструменты, которые обеспечивают простой терминальный доступ и позволяют управлять подключенными устройствами.
Для подключения устройства к com порту в Windows 10 необходимо выполнить следующие шаги:
- Выберите подходящий com порт на вашем компьютере. Наиболее распространенные порты — COM1 и COM2. Если вам необходимо использовать другой порт, убедитесь, что он свободен и доступен.
- Соедините ваше устройство с выбранным com портом с помощью соответствующего кабеля. Обычно для этого используются серийные (RS232) или USB кабели. Убедитесь, что кабель надежно соединен с обоими устройствами.
- Откройте программу терминала для работы с com портом. В Windows 10 такой программой может быть, например, PuTTY или Realterm. Введите настройки соединения, включая порт, скорость передачи данных, биты данных, биты четности и другие параметры, необходимые для вашего устройства. Обратитесь к документации вашего устройства, чтобы узнать подробности о требуемых настройках.
- Подключите кабель к вашему устройству и запустите соединение в программе терминала. Если все настройки выполнены правильно, вы должны увидеть вывод данных или командное приглашение от вашего устройства.
- Взаимодействуйте с вашим устройством через терминал, используя команды и протоколы, поддерживаемые вашим устройством. Вы можете отправлять команды устройству и получать ответы на свои запросы, используя интерфейс терминала.
- Когда закончите работу с устройством, закройте соединение в программе терминала и отсоедините кабель от ком порта.
Теперь вы знаете, как подключить устройство к com порту в Windows 10 и воспользоваться программой терминала для работы с устройством. Удачной работы!