Подделка последовательного порта RS232 - PullRequest
71 голосов
/ 22 октября 2009

Я разрабатываю проект, в котором несколько аппаратных датчиков подключаются к машине развертывания через последовательные порты RS232.

Но ... Я занимаюсь разработкой на машине без физических последовательных портов RS232, но я хотел бы создать поддельные последовательные порты, к которым я могу подключаться и выводить данные с целью имитации ввода от аппаратных датчиков. 1003 *

Кто-нибудь знает способ создания поддельного последовательного порта и управления им в Windows XP?

Ответы [ 5 ]

61 голосов
/ 22 октября 2009

Если вы разрабатываете для Windows, проект com0com может быть тем, что вы ищете.

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

EDIT:

Как Томас указал, что в проекте отсутствует подписанный драйвер, что особенно проблематично в определенной версии Windows (например, Windows 7 x64).

Существует несколько неофициальных версий com0com , которые содержат подписанный драйвер. Одна из последних версий (3.0.0.0) может быть загружена, например, с здесь .

58 голосов
/ 15 ноября 2011

Я знаю, что это старый пост, но в случае, если кто-то еще столкнется с этим вопросом, один хороший вариант - Эмулятор виртуального последовательного порта (VSPE) из Eterlogic Он предоставляет API для создания виртуальных устройств с режимом ядра, таких как соединители, преобразователи, разделители и т. Д.
Однако , некоторые из объявленных возможностей были действительно , а не возможностями на всех .

EDIT
Гораздо лучший выбор , Eltima . Этот продукт полностью выпечен. Хорошая техническая поддержка для разработчиков. Продукт сделал все, на что претендовал. Варианты продукта включают как настольные приложения, так и наборы для разработки программного обеспечения с API-интерфейсами.

Ни один из этих продуктов не является открытым или бесплатным. Однако, как указали другие посты, есть и другие варианты. Вот список различных последовательных утилит:

com0com (текущий)
com0com - с подписанным драйвером (старая версия)
и еще одно место для com0com с подписанным драйвером (блог Пита)
Тактическое ПО
Термиты
Последовательный эмулятор COM-порта
Kermit (устаревший, но все еще загружаемый)
HWVSP3
Программное обеспечение HHD (бесплатная версия)

28 голосов
/ 21 мая 2014

Я использую com0com - с подписанным драйвером в Windows 7 x64 для эмуляции COM3 и COM4 в паре.

Затем я использую Эмулятор COM Dataport для получения от COM4.

Затем я открываю COM3 с приложением im developping (c #) и отправляю данные на COM3.

Данные, отправленные через COM3, принимаются COM4 и отображаются «Эмулятором порта данных COM», который также может отправить ответ (не автоматизирован).

Итак, с помощью этих двух замечательных программ мне удалось эмулировать последовательное соединение RS-232.

Надеюсь, это поможет.

Обе программы бесплатны !!!!!

3 голосов
/ 11 июля 2015

Другая альтернатива, хотя ОП не просила об этом:

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

Они чрезвычайно просты в использовании под Linux, работают и под Windows, если у вас установлены рабочие драйверы.

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

Часто лучше работать с реальными вещами.

2 голосов
/ 07 сентября 2016

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

Pro советы: 1) Windows может назначать новые COM-порты адаптерам после каждого сна или перезагрузки устройства. 2) Лидерами на рынке чипов для USB к последовательным портам являются Prolific и FTDI. Обе компании борются с подделками и могут быть заблокированы в будущих официальных драйверах Windows. Однако драйверы Linux отлично работают с клонами.

...