Программа для записи данных из 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 года.
Читайте также: