Программа для записи данных из com порта в файл

Обновлено: 08.07.2024

Здравствуйте! Помогите новичку! Использую плату Arduino Uno и программирую её в среде Arduino IDE 1.6.6. При помощи данного процессора считываю и обрабатываю данные с акселерометра. Задача состоит в том, чтобы данные, считанные с порта и отображающиеся в мониторе функцией Serial.print() записывались в текстовый файл на компьютер. Искала информацию в просторах интернета, но разобраться трудно, в основном находится информация по сохранению файлов на внешнюю аппаратную sd при помощи соответствующей библиотеки. Подскажите, пожалуйста, как сохранять данные в файл на компьютер.

Остання редакція siriniti (2016-02-03 20:41:26)

Йожэг Учасник Зареєстрований: 2015-12-30 Повідомлень: 95

Интересно, получится ли так:

где "COM1" надо заменить на ваш реальный виртуальный порт Arduino, а "%USERPROFILE%\Documents\comport.txt" - на путь с вашими правами на запись.

alex_dol Учасник Зареєстрований: 2015-12-28 Повідомлень: 190

Если я правильно понял - надо чтоб на компе пришедшее с ком порта записывалось в файл. В такой формулировке надо искать софт для компа: программы обработчики ком порта или терминалки умеющие писать лог в файл. К ардуино это не имеет никакого отношения.

siriniti Учасник Зареєстрований: 2016-02-03 Повідомлень: 2

Спасибо за ответы! нашла решение.

gorenkov Учасник З Кіев Зареєстрований: 2015-11-05 Повідомлень: 41

Спасибо за ответы! нашла решение.

Поделитесь решением. Мне тоже интересно как записывать данные в файл.

NoName Customer З Київ Зареєстрований: 2014-07-08 Повідомлень: 1,446

вариант alex_dol запустить терминалку ( TerraTerm, PuTTy и другие ) а потом сохранить в файл не работает?

Остання редакція NoName (2016-02-04 20:33:25)

lkj Учасник Зареєстрований: 2016-02-03 Повідомлень: 104 NoName Customer З Київ Зареєстрований: 2014-07-08 Повідомлень: 1,446 lkj Учасник Зареєстрований: 2016-02-03 Повідомлень: 104

Для NoName.
Конечно, программа пишется под конкретное задание и потому мы любим монстров.
Особенно “монстры на каникулах”
Для простого потока с порта можете использовать любую терминалку. Например, Terminal.

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

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

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

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

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

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

Спасибо. Вы потрясающие! Всего за месяц мы собрали нужную сумму в 500000 на хоккейную коробку для детского дома Аистенок. Из которых 125000+ было от вас, читателей EasyElectronics. Были даже переводы на 25000+ и просто поток платежей на 251 рубль. Это невероятно круто. Сейчас идет заключение договора и подготовка к строительству!

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

112 thoughts on “Терминальные программы”

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

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

Ай, спасибо, дружище. Изучаю qt, как раз хотел что-нить с компортом найти

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

Для Win2000 - Windows 11 (2019) (Server, x86, x64). Последняя версия: 4.6.1 build 1105. 5 ноября 2021.

Краткое описание:

Advanced Serial Data Logger обрабатывает данные, полученные по RS232, и передает их в файл Excel, Access, или другое приложение Windows. Advanced Serial Data Logger предоставляет возможность в реальном времени собирать данные с любого устройства, а также позволяет принимать и передавать данные по RS232 интерфейсу или же по RS485 при наличии аппаратного конвертора.

Какие проблемы может решить Advanced Serial Data Logger?

Наша программа собирает данные с последовательного порта, обрабатывает их соответственно вашим нуждам, выделяет блоки данных из общего потока и затем передает данные в любое приложение Windows или DOS - путем отправки нажатий клавиш в окно приложения, передает данные через DDE (Dynamic Data Exchange), ODBC, OLE и т.п. Это идеальное решение для автоматизированных систем сбора данных и система анализа звонков офисных АТС.

Начните пользоваться Advanced Serial Data Logger прямо сейчас!

После инсталляции запустите программу Advanced Serial Data Logger по кнопке "Пуск -> Программы". Установите коммуникационные параметры в опциях "Программы", соответствующие Вашему внешнему устройству. После этого настройте обработчик данных и укажите, куда вы хотите записывать обработанные данные.

Вид программы:

Ключевые особенности:

Возможность записи данных с нескольких портов RS232, RS485, RS422. Наша программа позволяет одновременно записывать данных с нескольких последовательных портов;

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

Поддержка устройств RS-485. Advanced Serial Data Logger может управлять сигналом RTS и управлять направлением передачи данных;

Режим наблюдателя (sniffer mode). Позволяет осуществлять мониторинг и захват данных, передаваемых между внешним устройством и любой программой для Windows на компьютере;

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

Расширенные возможности записи в файл. Принятые и отправленные данные могут быть записаны без каких-либо изменений в файл. Новый лог-файл может формировать по различным признакам (по дате и времени, данным, data, размеру и т.п.);

Модули запроса данных. Advanced Serial Data Logger может отсылать запросы или команды к вашим внешним устройствам по протоколам ASCII (по умолчанию) или MODBUS. Благодаря этому Advanced Serial Data Logger может использоваться как сервер сбора данных с двусторонней связью.

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

Экспорт данных в базы данных. Программа может экспортировать данные в любую ODBC-совместимую базу данных (MS SQL, Oracle, MS Access, MS Excel, dBASE и другие);

Поддержка экспорта данных в реальном времени. Advanced Serial Data Logger может работать как DDE или OPC сервер и использоваться в промышленных приложениях для сбора данных в реальном времени;

Интеграция с офисными программами. Advanced Serial Data Logger может использовать метод непосредственного доступа (через OLE) для экспорта данных в столбцы и строки Microsoft Excel;

Автоматический перезапуск программы. Вы можете (как администратор) изменять конфигурацию программы в реестре и тогда после перезапуска программа будет работать с измененными параметрами;

Модули. Существует множество модулей, которые расширяют возможности программы;

Простой, интуитивно понятный интерфейс. Не требуется программирования и специальных знаний для настройки программы;

Поддержка разных операционных систем. Работает на всех версиях Windows 9x/Me/NT/2000/XP/Vista, как x32, так и x64.

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

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

Терминал (для работы с COM портом) под Windows.

Зачем понадобилось создавать еще одну программу терминал .

На просторах интернета полно подобных программ ?!

Что есть, то есть !

Но есть маленькое НО, все дело в нюансах !

- Требуемый функционал был разбросан по нескольким программам и это было очень не удобно.

- Часть требуемых функций не было и вовсе.

- Часть программ банально падали в самый неподходящий момент.

- Часть функций реализованы с ошибками.

Так жить нельзя и работать тоже . :)

Значит надо создать свою программу, с необходимым функционалом.

Данный проект задумывался как вспомогательный для тестирования большого проекта связанного

с телеметрией. В проекте требовалось принимать и передавать данные через COM порт компьютера.

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

разного рода устройств !

На текущий момент программа продолжает дорабатывается, исправляются ошибки, добавляются

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


Краткое описание программы.

Программа создана в среде Microsoft Studio 2008, на языке VB.

Репозитарий программы представлен на GitHub, готовый бинарный файл(exe) в виде Zip архива.

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

Программа не требует установки и работает из любого места.

Программа не требует для запуска привилегий администратора.

1. Подключаться к любому com порту в системе.

2. Выставлять параметры работы com порта, включая нестандартные скорости работы порта

(при условии что драйвер windows поддерживает нестандартные скорости,

хотя как показала практика погрешность может быть очень большой.

Например: При заданной 250000 - в железе получаем 256000, ;(

увы точнее делитель не устанавливается. ).

3. Производить запись принимаемых данных в файл.

4. Передавать в порт строку с разными концовками в виде дополнительных кодов.

5. Циклически передавать в порт строку с заданным интервалом времени.

6. Передавать в порт файл.

7. Проиграть сценарий из файла (передача данных + задержка между данными).

Программа пока не может:

1. Разбирать ESC последовательности.

2. Вести историю передаваемых строк.

3. Передавать в порт кода нажатых клавиш в окне приема и передачи.

На текущий момент планов по развитию и доработки программы много.

Обычно в процесс работы с программой, во время отладки очередного устройства,

появляется необходимость в новом функционале.

Так в программу попадает новый функционал, продиктованный практикой.

При добавления нового функционала в программу, иногда добавляются и проявляются

глюки (по недосмотру), прошу отнестись с понимание :)

Глюки исправляются, и новая версия выкладывается в репозитарий.

На основе данной программы была создана еще одна утилита для работы по протоколу PELCO-D,

для тестирования и управления камерами и поворотными платформами.

Текущая версия: v1.3.7

[+] Исправление: Зависание программы при отключении COM порта из системы (выдернули кабель. ).

Текущая версия: v1.3.6

[+] Исправление: Перепутаны STOP BIT 1.5 <-> 2.

Текущая версия: v1.3.5

[+] Исправление: Не корректный вывод кодов \r \n.

Текущая версия: v1.3.4

[+] Исправление: Подвисание интерфейса при приеме не отображаемых кодов (0x00-0x19).

[+] Исправление: Конвертации кодов \n -> \n\r.

Текущая версия: 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 виде в байтовый массив и передача в СОМ порт.

Версия: v1.2.2

[+] Добавлена история ввода передаваемых строк.

Версия: v1.2.1

[+] Внесены изменения в интерфейс. Часть функций вынесены в окно приема.

[+] Добавлена функция Вкл/Выкл печати символа с кодом 0x0A.

0x0D + 0x0A -> 0x0D.

[+] Решено: При закрытии порта продолжалась передача в порт.

[+] Добавлена подсказка при наведении курсора на элементы управления.

[+] При запуске программы производится автоматический поиск СОМ портов в системе.

Версия: v1.1.0

[+] Добавлена передача в порт кодов нажатых клавиш в окне приема и передачи.

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

COM Port Toolkit - программа для работы с последовательным портом компьютера, сочетающая в себе возможности терминала, просмотра, журналирования и экспорта данных. Во многих случаях COM Port Toolkit оказывается удобнее и функциональнее стандартного Гипертерминала.

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

Главным отличием программы от аналогов является наличие встроенного интерпретатора подмножества языка C для создания скриптов, призванных автоматизировать рутинные операции над отправляемыми и принимаемыми данными. Например, вычисление CRC, управление настройками порта и т.п. Язык позволяет использовать конструкции if, else, for, do и while, поддерживает пользовательские функции.

Программа может производить захват данных последовательного порта во время передачи между программой пользователя и устройством. Для этого используется специальный драйвер, устанавливаемый вместе с программой. Этот режим доступен и работает как в Windows 7,Vista, XP, 2000, NT (32 бит), так и в Windows 9x, Me.

  • прием, передача, журналирование данных;
  • режим захвата данных;
  • встроенный скриптовый язык макросов;
  • интерфейс программы расчитан на работу с несколькими типами устройств;
  • экспорт данных в буфер обмена и файл;
  • просмотр данных в HEX и ASCII.

COM Port Toolkit работает под управлением ОС Windows 95, Windows 98, Windows Me, Windows NT 4.0, Windows 2000/XP, Windows Vista/7.

COM Port Toolkit недоступен для регистрации с 8 августа 2021.
Поддержка существующих пользователей заканчивается 1 декабря 2021 года.

Читайте также: