7 ポイント 投稿者 regentag 2025-02-25 | 5件のコメント | WhatsAppで共有

問題

  • 私たちの身の回りには、シリアルポート(一般に COM ポートと呼ばれる)を通じて接続する多くの機器があります。GPS モジュール、IRDA など
  • 私たちが実現したいのは、実際の機器は 1 台のコンピュータに接続し、ネットワーク経由でリモート機器からアプリケーションを実行することです
  • アプリケーションはシリアルポートからしかデータを読み取れないため、クライアントは仮想シリアルポートを使う必要があります
  • したがって必要なのは次のものです
    • 物理シリアルポートで機器と通信し、ネットワーク経由でサービスを提供するサーバー
    • サーバーに接続されたクライアント
    • 仮想シリアルポート

解決策

  • 解決策の 1 つは、Telnet と RFC2217 - Telnet COM Port Control Option を組み合わせて使うことです
  • これは上記の問題を完全に解決します
  • Telnet+RFC2217 によるシリアルポートフォワーディングをサポートするソフトウェアは多くあります(Windows と Linux をサポートするサーバー、クライアント)
  • 必要であれば、COM ポートを多重化したり、転送データを暗号化したりできます

適用例

Windows

  • サーバーは hub4com で構築
  • クライアントは hub4com と、仮想シリアルポートドライバーである com0com を使用

Linux

  • サーバーは ser4net で構築
  • クライアントは socat コマンドを使用

5件のコメント

 
helloppfm 2025-02-25

com0com で2つのシリアルポートを接続すれば、別途ハードウェアがなくてもシリアル通信ソフトウェアの開発とテストが可能です。

 
halfenif 2025-02-25

家に外付けモデムが残っているが、もう電話回線がない。

 
xguru 2025-02-25

以前かなりCTI開発をしていたこともあって、古い交換機の中古を1台手に入れてオフィスに置いています。
DialogicボードもeBayで購入しました(笑)
OpenAI Realtime APIも出たので、電話で聞くGeekNewsを一度開発してみようと思っていたのですが……ああ、やることが多くてつい先延ばしになってしまいます。

 
xguru 2025-02-25

「COMポート」という言葉自体を聞くのもずいぶん久しぶりですね(笑)
最近はデスクトップPCを使わない人も多いので、そもそも知らない人もいそうです

 
regentag 2025-02-25

同様に、USBもネットワーク経由でアクセスできます。