問題
- 私たちの身の回りには、シリアルポート(一般に COM ポートと呼ばれる)を通じて接続する多くの機器があります。GPS モジュール、IRDA など
- 私たちが実現したいのは、実際の機器は 1 台のコンピュータに接続し、ネットワーク経由でリモート機器からアプリケーションを実行することです
- アプリケーションはシリアルポートからしかデータを読み取れないため、クライアントは仮想シリアルポートを使う必要があります
- したがって必要なのは次のものです
- 物理シリアルポートで機器と通信し、ネットワーク経由でサービスを提供するサーバー
- サーバーに接続されたクライアント
- 仮想シリアルポート
解決策
- 解決策の 1 つは、Telnet と RFC2217 - Telnet COM Port Control Option を組み合わせて使うことです
- これは上記の問題を完全に解決します
- Telnet+RFC2217 によるシリアルポートフォワーディングをサポートするソフトウェアは多くあります(Windows と Linux をサポートするサーバー、クライアント)
- 必要であれば、COM ポートを多重化したり、転送データを暗号化したりできます
適用例
Windows
Linux
5件のコメント
com0com で2つのシリアルポートを接続すれば、別途ハードウェアがなくてもシリアル通信ソフトウェアの開発とテストが可能です。
家に外付けモデムが残っているが、もう電話回線がない。
以前かなりCTI開発をしていたこともあって、古い交換機の中古を1台手に入れてオフィスに置いています。
DialogicボードもeBayで購入しました(笑)
OpenAI Realtime APIも出たので、電話で聞くGeekNewsを一度開発してみようと思っていたのですが……ああ、やることが多くてつい先延ばしになってしまいます。
「COMポート」という言葉自体を聞くのもずいぶん久しぶりですね(笑)
最近はデスクトップPCを使わない人も多いので、そもそも知らない人もいそうです
同様に、USBもネットワーク経由でアクセスできます。