RS232シリアルポートの偽造
-
05-07-2019 - |
質問
RS232シリアルポートを介して展開マシンに接続するハードウェアセンサーの数を含むプロジェクトを開発しています。
しかし、物理的なRS232シリアルポートのないマシンで開発していますが、ハードウェアセンサーからの入力を偽造することを目的として、データを接続してそこからデータを出力できる偽のシリアルポートを作りたいと思います。
Windows XPで偽のシリアルポートを作成して制御する方法を知っている人はいますか?
解決
Windows向けに開発している場合、 com0com プロジェクトは、あなたが探しているものかもしれません。
ヌルモデム接続を介してリンクされた仮想COMポートのペアを提供します。その後、お気に入りのターミナルアプリケーションなどを使用して、データを1つのCOMポートに送信し、他のCOMポートから受信できます。
編集:
Thomas が指摘したように、プロジェクトには署名されたドライバーがなく、これは特定のWindowsバージョン(Windows 7 x64など)で特に問題があります。
署名付きドライバーを含む非公式の com0com バージョンがいくつかあります。最近のバージョン(3.0.0.0)を1つダウンロードできます。 こちらから。
他のヒント
これは古い投稿であることは知っていますが、他の誰かがこの質問に出くわした場合、 good オプションの1つは Eterlogic
カーネルモードの仮想comportデバイス(コネクタ、マッパー、スプリッターなど)を作成するためのAPIを提供します。
、宣伝された機能の一部は実際に 機能ではありません ですべて。
編集
より良い選択 、 Eltima 。この製品は完全に焼き上げられています。優れた開発者技術サポート。製品は、主張するすべてを実行しました。製品オプションには、デスクトップアプリケーションと、APIを備えたソフトウェア開発キットの両方が含まれます。
これらの製品はどちらもオープンソースでも無料でもありません。ただし、ここの他の投稿が指摘しているように、他のオプションもあります。さまざまなシリアルユーティリティのリストを次に示します。
com0com (現在)
com0com-署名付きドライバー(旧バージョン)
、さらに、署名済みドライバーを使用したcom0comの別の場所 (ピートのブログ)
戦術ソフトウェア
シロアリ
COMポートシリアルエミュレータ >
Kermit (廃止されましたが、引き続きダウンロード可能)
HWVSP3
HHDソフトウェア(無料版)
Windows 7 x64で com0com-With Signed Driver を使用してCOM3およびCOM4をエミュレートしますペアとして。
その後、 COM Dataport Emulator を使用してCOM4から受信します。
その後、アプリ開発(c#)でCOM3を開き、データをCOM3に送信します。
COM3を介して送信されたデータは、COM4で受信され、「COM Dataport Emulator」によって表示されます。「COM Dataport Emulator」は、応答(自動化されていない)を送り返すこともできます。
この2つの素晴らしいプログラムにより、シリアルRS-232通信をエミュレートすることができました。
お役に立てば幸いです。
どちらのプログラムも無料です!!!!!
OPがそれを要求しなかった場合でも、別の選択肢:
USB-シリアルアダプターが存在します。 アダプタの種類によっては、ヌルモデムケーブルも必要になる場合があります。
動作するドライバがインストールされていれば、Linuxでも非常に使いやすく、Windowsでも動作します。
その方法でセンサーを直接操作でき、データをエミュレートする必要がありません。 そうすれば、貧血システムを構築する手間さえ省けるかもしれません。 (エミュレートされたデータ入力がすべてのケースをカバーしていないため、脆弱なシステムになります。)
多くの場合、実際のものを使用する方が適切です。
常にハードウェアルートがあります。 2つのUSBシリアルコンバーターを購入し、NULLモデム経由で接続します。
プロのヒント: 1)Windowsは、デバイスがスリープまたはリブートするたびに新しいCOMポートをアダプターに割り当てることがあります。 2)USBからシリアルへのチップの市場リーダーは、ProlificとFTDIです。両社は模造品と戦っており、将来の公式のWindowsドライバーではブロックされる可能性があります。ただし、Linuxドライバーはクローンで正常に動作します。