私は、RS232シリアルポートを介して展開マシンに接続する多数のハードウェアセンサーを備えたプロジェクトを開発しています。
しかし...私は物理的なRS232シリアルポートのないマシンで開発していますが、ハードウェアセンサーからの入力を偽造することを目的として、接続してデータを出力できる偽のシリアルポートを作成したいと思います。
偽のシリアルポートを作成してWindowsXPで制御する方法を知っている人はいますか?
私は、RS232シリアルポートを介して展開マシンに接続する多数のハードウェアセンサーを備えたプロジェクトを開発しています。
しかし...私は物理的なRS232シリアルポートのないマシンで開発していますが、ハードウェアセンサーからの入力を偽造することを目的として、接続してデータを出力できる偽のシリアルポートを作成したいと思います。
偽のシリアルポートを作成してWindowsXPで制御する方法を知っている人はいますか?
回答:
Windows用に開発している場合、com0comプロジェクトはあなたが探しているものかもしれません。
ヌルモデム接続を介してリンクされた仮想COMポートのペアを提供します。次に、お気に入りのターミナルアプリケーションなどを使用して、一方のCOMポートにデータを送信し、もう一方のCOMポートからデータを受信できます。
以下のようトーマスが指摘したプロジェクトは、特定のWindowsバージョン(例えばWindows 7のx64の)上で特に問題となる署名されたドライバーの欠けています。
署名されたドライバーが含まれている非公式のcom0comバージョンがいくつかあります。最近のバージョン(3.0.0.0)の1つは、たとえばここからダウンロードできます。
com0com
プロジェクトが優れたオープンソースプロジェクトである、それはデジタル署名せずにデバイスドライバをインストールする必要がありますように、デジタル署名されたドライバをチェックする一部のWindowsシステムでは、仮想シリアルポートでは動作しません。人々に知ってもらいたいだけです。
私は、これは古い記事ですけど、場合に他の誰かがこの質問時に起こる、1つの良いオプションがから仮想シリアルポートエミュレータ(VSPE)であるEterlogic
これは、カーネルモードの仮想コンポートデバイス、すなわちコネクタ、マッパー、スプリッタなどを作成するためのAPIを提供します。
ただし、アドバタイズされた機能の一部は、実際に はまったく機能 ではありませんでした。
編集
はるかに良い選択、 Eltima。この商品は完全に焼き上げられています。優れた開発者テクニカルサポート。製品はそれがすることを主張したすべてをしました。製品オプションには、デスクトップアプリケーションと、APIを備えたソフトウェア開発キットの両方が含まれます。
これらの製品はどちらもオープンソースでも無料でもありません。ただし、ここで他の投稿が指摘しているように、他のオプションがあります。さまざまなシリアルユーティリティのリストは次のとおりです。
com0com (現在)
com0com-署名付きドライバー付き(旧バージョン)
署名付きドライバー付きcom0comのさらに別の場所 (Peteのブログ)
戦術ソフトウェア
Termite
COMポートシリアルエミュレーター
Kermit(廃止されましたが、まだダウンロード可能)
HWVSP3
HHDソフトウェア(無料版)
私はcom0comを使用しています-署名付きドライバーを使用して、Windows 7 x64で、COM3とCOM4をペアとしてエミュレートします。
次に、COMデータポートエミュレータを使用してCOM4から受信します。
次に、開発中のアプリ(c#)でCOM3を開き、COM3にデータを送信します。
COM3を介して送信されたデータは、COM4によって受信され、「COMデータポートエミュレーター」によって表示されます。「COMデータポートエミュレーター」は、応答を送り返すこともできます(自動化されていません)。
したがって、この2つの優れたプログラムを使用して、シリアルRS-232通信をエミュレートすることができました。
それが役に立てば幸い。
どちらのプログラムも無料です!!!!!
ハードウェアルートは常にあります。USBからシリアルへのコンバーターを2つ購入し、NULLモデム経由で接続します。
プロのヒント:1)Windowsは、デバイスがスリープまたは再起動するたびに、新しいCOMポートをアダプタに割り当てる場合があります。2)USBからシリアルへのチップのマーケットリーダーはProlificとFTDIです。両社はノックオフと戦っており、将来の公式Windowsドライバーでブロックされる可能性があります。ただし、Linuxドライバーはクローンで正常に動作します。
OPがそれを要求しなかったとしても、別の選択肢:
USB-シリアルアダプタが存在します。アダプターのタイプによっては、ヌルモデムケーブルも必要になる場合があります。
動作するドライバがインストールされている場合は、Linuxでの使用が非常に簡単で、Windowsでも動作します。
そうすれば、センサーを直接操作でき、データをエミュレートする必要がありません。そうすれば、貧血システムを構築する手間を省くことができます。(エミュレートされたデータ入力がすべてのケースをカバーしていないため、脆弱なシステムにつながります。)
多くの場合、本物を扱う方が良いでしょう。
screen /dev/ttyUSB0 9600
またはminicom
、そのようなハードウェア用のソフトウェアが必要な場合に使用します。
modbusアプリケーションのデバッグ作業にeltimamake仮想シリアルポートを使用しました。ハードウェアを接続せずにシリアルポートプログラムをチェックすることは、開発段階で非常に優れたアプリケーションです。