webdevqa.jp.net

RS232シリアルポートの偽造

RS232シリアルポートを介して展開マシンに接続する多数のハードウェアセンサーを持つプロジェクトを開発しています。

しかし...物理的なRS232シリアルポートのないマシンで開発していますが、ハードウェアセンサーからの入力を偽造することを目的として、データを接続してそこからデータを出力できる偽造シリアルポートを作成したいと思います。

誰もが偽のシリアルポートを作成してWindows XPで制御する方法を知っていますか?

74

Windows用に開発している場合、 com0com プロジェクトは、あなたが探しているものかもしれません。

これは、ヌルモデム接続を介してリンクされる仮想COMポートのペアを提供します。その後、お気に入りのターミナルアプリケーションなどを使用して、データを1つのCOMポートに送信し、他のCOMポートから受信できます。

編集:

Thomasが指摘したように、特定のWindowsバージョン(Windows 7 x64など)で特に問題となる署名されたドライバーがないプロジェクトを指摘しました。

署名されたドライバを含む非公式com0comバージョンがいくつかあります。最近のバージョン(3.0.0.0)を1つダウンロードできます。 from here

61
Frank Bollack

私はこれが古い投稿であることを知っていますが、他の誰かがこの質問に遭遇した場合、 良い オプションは、 Eterlogic からの仮想シリアルポートエミュレーター(VSPE)です。これは、カーネルモードの仮想comportデバイス(コネクタ、マッパー、スプリッターなど)を作成するためのAPIを提供します。
ただし宣伝された機能の一部は実際に機能まったくでした。

[〜#〜] edit [〜#〜]
より良い選択Eltima。この製品は完全に焼き上げられています。優れた開発者技術サポート。製品は、主張するすべてを実行しました。製品オプションには、デスクトップアプリケーションとAPIを備えたソフトウェア開発キットの両方が含まれます。

これらの製品はいずれもオープンソースでも無料でもありません。ただし、他の投稿が指摘しているように、他のオプションもあります。さまざまなシリアルユーティリティのリストを次に示します。

com0com(現在)
com0com-署名付きドライバー(旧バージョン)
そして、署名済みドライバーを使用したcom0comの別の場所(Pete's Blog)
戦術ソフトウェア
シロアリ
COMポートシリアルエミュレータ
Kermit(旧式ですが、ダウンロード可能)
HWVSP3
HHDソフトウェア(無料版)

58
ryyker

私は com0com-With Signed Driver をWindows 7 x64で使用して、COM3とCOM4をペアとしてエミュレートします。

次に、 COM Dataport Emulator を使用してCOM4から受信します。

次に、アプリ開発(c#)でCOM3を開き、COM3にデータを送信します。

COM3を介して送信されたデータは、COM4で受信され、「COM Dataport Emulator」で表示されます。「COM Dataport Emulator」は、応答を自動化することもできます。

したがって、この2つの素晴らしいプログラムを使用して、シリアルRS-232通信をエミュレートすることができました。

それが役に立てば幸い。

両方のプログラムは無料です!!!!!

29
Jhollman Cutcsa

OPがそれを要求しなかったとしても、別の選択肢:

Usb-to-serialアダプタが存在します。アダプタのタイプによっては、ヌルモデムケーブルも必要になる場合があります。

動作するドライバがインストールされていれば、Linuxでも非常に使いやすく、Windowsでも動作します。

そうすれば、センサーを直接操作でき、データをエミュレートする必要がありません。そうすれば、貧血システムを構築する手間を省くことができます。 (エミュレートされたデータ入力がすべてのケースをカバーしていないため、脆弱なシステムになります。)

多くの場合、実際のものを使用する方が適切です。

3
sjas

常にハードウェアルートがあります。 2つのUSBシリアルコンバーターを購入し、NULLモデム経由で接続します。

プロのヒント:1)Windowsは、デバイスがスリープまたはリブートするたびに新しいCOMポートをアダプターに割り当てることがあります。 2)USBからシリアルへのチップの市場リーダーは、ProlificとFTDIです。両社は模造品と戦っており、将来の公式のWindowsドライバーではブロックされる可能性があります。ただし、Linuxドライバーはクローンで正常に機能します。

2
Bryce