Using Virtual Serial Ports
産業用オートメーションシステムや生産ラインは、RS232データをネットワーク経由でルーティングすることによって大きな利点を得ることができます。これらのソリューションは、
リモートでアクセスする必要があるシリアル接続のPOS機器に対応する際にも有用です。バーチャルシリアル接続を使用するポイントは、ユーザーがコンピュータにローカルで接続されているかのようにハードウェアと対話できることです。
バーチャルCOMポート使用シナリオ
コンピュータからかなり離れた場所にある周辺機器にアクセスする必要があります。そのデバイスから情報を処理するアプリケーションはコンピュータにインストールされていますが、物理的なシリアルインターフェースはありません。この場合、
シリアル・ツー・イーサネット・コネクターを使用して通信を確立できます。これにより、プログラムからアクセスできるバーチャルポートが作成されます。
Linuxでバーチャルシリアルポートを作成する方法
Linux版のシリアル・ツー・イーサネット・コネクターは、Windows版と同じ機能を提供し、インストールも簡単です。ただし、ほとんどのLinuxディストリビューションに含まれているツールを使用して、ネットワーク経由でシリアルデータを送信するための代替方法もあります。
最初のオプションは、netcatを使用してシリアルデータをパイプする方法です。しかし、各シリアル接続に対してnetcatの別々のインスタンスを開く必要があるため、管理が難しくなることがあります。xinetdサービス(xinetd.dディレクトリ内にあるtestserviceという名前のテキストファイル)を作成して、次のように永続的な接続を作成できます:
service testservice
{
port = 5900
socket_type = stream
protocol = tcp
wait = yes
user = root
server = /usr/bin/netcat
server_args = "-l 5900 < /dev/ttyS0"
}
また、/dev/ttyS0を接続されているシリアルデバイスの名前に変更する必要があります。
LinuxマシンでEthernet経由でバーチャルシリアルポートを提供できる他のツールとして、以下のものがあります:
• ser2net - シリアル・ツー・ネットワーク・プロキシ(ser2net)
このユーティリティは、ネットワークからシリアルポートに接続することを可能にします。シリアルポートの設定および構成用のツールです。また、ポートパラメータの変更や、シリアルインターフェースの制御および監視にも役立ちます。
• remtty - リモートtty
「リモートtty」の略で、remttyは疑似ttyを使用してネットワーク接続を確立します。このツールを使用すると、LinuxユーザーはCiscoのWindowsベースのDialoutアプリケーションの機能を再現し、ダイヤルアウトモデムを使用してファックスやメッセージの送信を行うためのマシンへの直接接続を使用できます。