1

現在、COM1 経由でディスプレイ ポールと通信する Java アプレットを Web ページで実行しています。ただし、Java の更新以降、自己署名付き Java アプレットを実行できなくなりました。AJAX 要求をサーバーに送り返し、サーバーがコンピューターの TCP ポートに応答を送信する方が簡単だと思います。コンピュータには TCP > COM 仮想アダプタが必要です。TCP ポートから COM1 に接続するための仮想アダプタをインストールするにはどうすればよいですか?

私はcom0comを調べましたが、それは私にとって非常に混乱しているだけで、ポートをCOM1に接続する方法がわかりません。tcp2comを試してみましたが、サービスが Windows 7 x64 にインストールされていないようです。com2tcpを試してみましたが、インターフェイスは動作するように見えます (テストしていません) が、デスクトップでアプリを実行したくありません... バックグラウンドで実行されるサービスである必要があります。

したがって、それがどのように機能するかを要約すると、次のようになります。

  • comp1 の Web ページが AJAX 要求をサーバーに送信する
  • サーバーはポート 999 でテキスト応答を comp1 に送信します
  • comp1 には、ポート 999 でリッスンする仮想 COM ポートがあり、COM1 にデータを送信します。
  • 極表示データ

編集:Win 7 x64 を使用していますが、tcp2com がサービスとして機能しません。srvany を使用してみましたが、アプリケーションが開始してから停止したというエラーが表示されます。powershell を使用して引数として tcp2com を渡すと、終了しませんが、実行もされません。そこで、「サービス」契約全体を破棄して、次のコマンドを入力しました。送信される文字はすべて有効です。COM2TCP (別のベンダー) を搭載した別のコンピューターに「echo WTF > COM1」と書き込むと、POS ディスプレイ ポールに 1 つのブロックとして表示されます。ただし、サーバー マシンとクライアント マシンの両方で COM2TCP を使用すると、すべて正常に動作します...ただし、これは試用版にすぎず、数百ドルもかかります。別の注意として、別のコンピュータで別の仮想 COM > IP アダプタを使用せずに生のテキストを IP 経由で送信する方法はありますか? curl がどのように機能するかのようなものですが、異なります...?

4

1 に答える 1

1

いくらか徹底的に検索した後、「ピラコム」というプログラムに出くわしました。これは非常にシンプルなアプリで、シ​​リアル ポートをネットワーク経由でリッスン ポートに接続するという明確な目的のためにポート設定を指定できます。つまり、これは IP > シリアルです。シリアル> IPの場合、ピラコムのWebサイトでも互換性があると書かれていたため、HW-VSP3-Singleを使用しました。私はテストしましたが、うまくいきます!

ユーザー アカウントのスタートアップ フォルダーに、piracom へのショートカットを配置しました。アプリは、変更を加えるたびに更新される.iniから実行されます...したがって、サーバーを実行して非表示にすると、PCの次の再起動時に実行が開始され、以前のすべての設定で非表示になります。簡単。

HW-VSP3 をサーバーにインストールし、Rails アプリで仮想 COM ポートに書き込むメソッドを作成するだけです。私が今見ることができる唯一の問題は、書き込みecho \14Test This! > COM3が実際に \14 を出力することです.Java アプレットでそれを行うと、「先頭に移動」信号が送信されます。

補遺 1: \14 の問題は、RoR に serialport gem を使用することで修正されました。head :no_content を返し、データを COM ポートに送信するメソッドをコントローラに作成しました。このメソッドへの呼び出しは、「HEAD」HTTP メソッドを使用して、jQuery の $.Ajax 経由で行われました。どうやら、何らかの理由で HEAD オプションがサポートされていないため、Rails ルートに GET 動詞を追加する必要があったようです。

補遺 2: 一部のガベージ データが文字列の最後にあるディスプレイ ポールに送信されていました... HW-VSP3 の「NVT」オプションをオフにする必要があったことが判明しました。また、通信を許可するには、ファイアウォールを変更する必要があることにも注意してください。

于 2013-10-18T22:05:41.690 に答える