LinuxからWindowsへのCOMポートの転送

こんにちは、Habraコミュニティの皆さん! 今日、ご想像のとおり、LinuxからWindowsへの古き良き COMポートのいわゆる「転送」についてお話します。



Windowsを実行しているコンピューターがあり、そこからLinuxコンピューター上の1つ以上の物理COMポート(RS-232)にリモートでアクセスする必要があります。 これについてお話します。





Linux



ここでは、ser2netパッケージを使用します。 私のディストリビューション(ubuntu)では、標準リポジトリから入手でき、このバージョンを使用しました。 インストールは簡単で、次のようになります。

sudo apt-get install ser2net
構成ファイルにパッケージをインストールした後、目的のデバイスを追加し、接続パラメーターを説明する必要があります。



これは、変更を行う前の設定ファイルの外観です(作成者からのコメント)



/etc/ser2net.conf:

#バナー-この行は、接続時にクライアントへのTCPポートに発行され、ポート、速度を含む場合があります

#システムの現在のポートとデバイス名を操作します。 バナー出力は、telnetメソッドにより関連しています

#ポートに接続しますが、必要ありません。 目を傷つけないように、行をコメントアウトできます。



バナー:バナー:\ r \ nser2netポート\ pデバイス\ d [ \ s ] Debian GNU / Linux \ r \ n \ r \ n



#ポート/ dev / ttyS0および/ dev / ttyS1に接続するためのパラメーター

#以下の設定の形式は次のとおりです。

#TCPポート:状態:タイムアウト:デバイス:オプション(オプション1オプション2-スペース区切り)



#TCPポート-ここではすべてが明確です。これは、サーバーがリッスンするポートです。



#状態-rawまたはrawlpまたはtelnetのいずれかです。 オフにすることもできます。



#タイムアウト-クライアントが待機する時間(秒)

#非アクティブの場合は切断されます。 値を0にすると、機能が無効になります。



#デバイス-「ハングアウト」したい同じデバイス。 ここに次のようなものを書きます。

#/ dev / ttyS0または/ dev / ttyUSB0



#オプション-ポートを操作するための追加パラメーターを設定します。 すべてのパラメータを提供するわけではありません

#設定では、すべてが完全に記述されています。



#デフォルト設定:

2000 :telnet: 600/ dev / ttyS0: 9600 8DATABITS NONE 1STOPBITバナー

2001 :telnet: 600/ dev / ttyS1: 9600 8DATABITS NONE 1STOPBITバナー

3000 :telnet: 600/ dev / ttyS0: 19200 8DATABITS NONE 1STOPBITバナー

3001 :telnet: 600/ dev / ttyS1: 19200 8DATABITS NONE 1STOPBITバナー

#ご覧のとおり、2つの物理COMポートがここで構成されています

#そして、それぞれ異なる速度とポートでのそれらへの4種類の接続。



そして、設定は私を見て



/etc/ser2net.conf:

2222 :raw: 0/ dev / ttyUSB0: 9600なし1ストップビット 8データビット-XONXOFF -RTSCTS LOCAL
この場合、ポートとの通信の種類はRAWです。 タイムアウト0。デバイスに必要な速度は9600です。パリティをチェックしないでください。 ビット1を停止します。 データビットは8ビットです。 XON / XOFFオフ。 ハードウェアフロー制御がオフになっています。 DTRモデム回線の監視-私が理解しているとおり。 構成は小さく、問題がある場合はsyslogを調べます。



必要な変更を行った後、設定ファイルを保存してデーモンを再起動します。

sudoサービスser2netの再起動
ログを確認してください-デーモンが起動し、ポートでリッスンしていることを確認してください。 次に、Windowsの前に端末を脇に置いて......





HW仮想シリアルポート


このプログラムは、ser2netのプロジェクトページで互換性があると示されています。初めて起動したのは残念です。HWVSPシングルポートに興味があります。 このプログラムは、Windows 7およびx64ビットプラットフォームをサポートしています。 制限は、その助けを借りて、1つのCOMポートのみを「転送」できるということだけです。 ご希望の方は、サイトでHW VSP3ソースコードを購入できます。







インストール中に、サービスとGUIをインストールすることに興味があります。 インストール後、スタートメニューまたはデスクトップからプログラムを実行し、[ログイン]をクリックします。 パスワードはすでに入力されているので、あとは[OK]をクリックするだけです。 最初に、[設定]タブに移動し、[HW VSP起動時にVSPポートを作成]チェックボックスをオンにします(もちろん、もちろん必要ですが)。 この場合、プログラム自体は閉じられている可能性があり、サービスはWindowsシステムにあるサービス(Start-Run:services.msc)によって実行されます。

次に、[仮想シリアルポート]タブに移動します。 リモートポートが接続される仮想COMポート番号を割り当てます。 次に、ser2netデーモンを使用してサーバーのIPとポートを入力します(上の図を参照)。 [COMの作成]をクリックします。 LANステータスでは、すぐにConnectedが点灯し、VSPステータスではCreatedになります。 ポートは接続されており、接続する準備ができています。 ダウンロードする



MCSI2000


インストール中に、レジストリへの書き込みに関するエラーメッセージが表示されたら、仮想環境に罪を犯します。 なぜなら 実際のハードウェアを装着することはできませんでした。 インストール中に資格情報を設定する必要はありません。







インストールの最後に、仮想ポートを追加するためのダイアログが表示されます。 システムの仮想ポート番号を指定します。 サーバーのIPで駆動するDirect(自動検出なしの直接接続)を選択します。 RAW接続タイプ、ser2netの設定に対応するポート、[追加]をクリックします。 インストールプログラムにより、別のポートを追加するように求められます。 すべてのポートが追加されたら、[完了]をクリックします。その後、インストールプログラムはコンピューターの再起動を提案します。 潜在的なマイナス-x64およびWindows 7のサポートの欠如-プラス-かなりの数のポートを追加できます。 ダウンロードする



Tibbo Device Server Toolkit


基本的に、設定は以前のものと変わりません。 インストール後、Tibbo VSP Managerのスタートメニューを起動し、[追加]をクリックします。 このプログラムの利点の1つは、接続プロファイルを保存できることです。 ユーザーとの一致を含めることは非常に便利です。 仮想ポート番号、接続モード:即時、オンザフライコマンド:無効、およびIPアドレスとサーバーポートを設定します。







残念ながら、このプログラムは私にはうまくいきませんでした。 これは、デバイスマネージャーを調べたときに見たものです。







私が書いたように、他に何かを確認してください-私は方法がありません。

ダウンロード (登録が必要です)



上記のすべてのプログラムでは、この構成でRTS COM出力を使用できません。 この機能を入手するには、WindowsホストとLinuxの両方に完全に互換性のあるソフトウェアをインストールする必要があります。 または、シリアルからイーサネットへの専用ハードウェアを使用します。 何かが書かれていない場合-正しい。 個人的には可能ですが、コメントでは可能ですが、噛まない=)



便利なリンク:

WTPROシンクライアントCOMポート転送

私の質問はQ&Aにあります



Q&Aのヒントを提供してくれたmax_ripと、この投稿に興味を持ったすべての人に感謝します。 頑張って!



All Articles