ユーザ用ツール

サイト用ツール


it技術:仮想comポート

仮想COMポート

最近のPCにはCOMポートが無くなってしまっているため、仮想シリアル(COM) ポートドライバ(フリーソフト)で有名な「com0com」を使用する。

「com0com」は2つの仮想のCOMポートをクロスケーブルで接続したように見せかける仕組み(ループバック)となっているため、ポートが必要な分だけペアで作成する。

com0comのインストール

com0comのダウンロード

Windows 10(64bit版)の環境の場合

デジタル署名付きのcom0com-3.0.0.0-i386-and-x64-signed.zipをダウンロードする。
公式 com0comdダウンロード 3.0.0.0

インストール手順
シリアルポートがない場合の試験方法についての提案

Windows 7(64bit版)以降の環境の場合

2017/07/13にデジタル署名付きのcom0com-3.0.0.0-i386-and-x64-signed.zipが公開されたのでダウンロードする。 公式 com0comdダウンロード 3.0.0.0 Setup_com0com_v3.0.0.0_W7_x64_signed.exe (64bit版)とSetup_com0com_v3.0.0.0_W7_x86_signed.exe (32bit版)が同梱されているで、64bit版をインストールします。

以下の記載は、3.0.0.0版のデジタル署名付きがまだ公開されていなかった時の方法になります。

デジタル署名付きのcom0com-2.2.2.0-x64-fre-signed.zipをダウンロードする。
公式 com0comdダウンロード 2.2.2.0

テストモードで動かさなければならないのはデジタル署名が付いてないためなのでデジタル署名付きを使用する。

Windows 7(32bit版)以降の環境の場合

2017/07/13にデジタル署名付きのcom0com-3.0.0.0-i386-and-x64-signed.zipが公開されました。 公式 com0comdダウンロード 3.0.0.0 Setup_com0com_v3.0.0.0_W7_x64_signed.exe (64bit版)とSetup_com0com_v3.0.0.0_W7_x86_signed.exe (32bit版)が同梱されているので、32bit版をインストールします。

以下の記載は、3.0.0.0版のデジタル署名付きがまだ公開されていなかった時の方法になります。

デジタル署名付きは無いため、com0com-3.0.0.0-i386-and-x64-unsigned.zipをダウンロードする。
公式 com0comdダウンロード 3.0.0.0

※デジタル署名付きのダウンロード先のリンクを貼っておきますが、ソース元は不明なので心配な方はお控え下さい。(64bit版もありまっす)
setup_com0com_W7_x86_signed.exe - powersdr-iq

同梱されていたReadMe.txt(英語)によると、64bit版Windowsで使用する場合は、Windowsをテストモードに切り替えておく必要があるようですが、32bit版Windowsでは、切り替える必要はありません。

com0comのドライバが未署名のため、インストール時に「ドライバーソフトウェアの発行元を検証できません」の警告が3回程表示されますが、「このドライバーソフトウェアをインストールします」をクリックして進めてください。

ポート名の変更

3.0.0.0のセットアップ画面の先頭に「use Ports Class」のチェックボックスが追加されています。これは空いているポートを自動で設定する機能です。
20141202 ASUS Vivotab note 8でGPSソフトが使えた話(無料カーナビ化に挑戦)

※以降の記事の画像は2.2.2.0版のセットアップ画面になります。

インストール直後ではCOMポートの名前が「CNCA0」と「CNCB0」になっているので、「COM11」と「COM12」などに変更します。
[スタート]→[すべてのプログラム]→[com0com]→[Setup]を起動します。

「CNCA0」と「CNCB0」の名前を「COM11」と「COM12」などに変更して「Apply」ボタンをクリックします。

上述のセットアップ画面で変更できるようになったのでコマンドプロンプトによる方法は不要となるのですが、念の為に提示しておきます。

[スタート]→[すべてのプログラム]→[com0com]→[Setup Command Prompt]を起動します。
[list]コマンドで現在のポート名が確認出来ます。
[change CNCA0 PortName=COM11]コマンドでポート名を変更出来ます。
[change CNCB0 PortName=COM12]コマンドでポート名を変更出来ます。
仮想シリアル(COMポート)ドライバ(ツール/ソフト) 設定方法/使用方法(使い方)

ポート名変更
Enter 'help' to get info about usage of Setup for com0com.
 
command> list
       CNCA0 PortName=-
       CNCB0 PortName=-
command> change CNCA0 PortName=COM11
       CNCA0 PortName=-
change CNCA0 PortName=COM11
Restarted CNCA0 com0com\port \Device\com0com10
       CNCB0 PortName=-
ComDB: COM11 - logged as "in use"
command> change CNCB0 PortName=COM12
       CNCA0 PortName=COM11
       CNCB0 PortName=-
change CNCB0 PortName=COM12
ComDB: COM12 - logged as "in use"
command> list
       CNCA0 PortName=COM11
       CNCB0 PortName=COM12
command>

ポートの確認

デバイスマネージャーによる確認

[コントロールパネル] - [ハードウェアとサウンド] - [デバイスとプリンター]にある「デバイスマネージャー」を開きます。
「com0com0」が追加されて警告マークが付いていないことを確認します。

TeraTermによる確認

TeraTermをダウンロードしてインストールする。
Tera Termのダウンロード

メニューから「設定」の「シリアルポート」を選択する。ポートに「COM11」と「COM12」が表示されていることを確認する。

送信内容の確認

「COM11」と「COM12」はクロスケーブルで接続したように見せかけるの方式となっているため、「COM11」で送信した値は「COM12」で受信される。
TeraTermにて「COM12」に接続すれば、アプリケーション側で「COM11」で送信した値がTeraTerm上の画面に表示される。

ポートの追加

[スタート]→[すべてのプログラム]→[com0com]→[Setup]を起動します。
「AddPair」ボタンをクリックしてポートを追加します。
追加したCOMポートの名前が「CNCA1」と「CNCB1」になっているので、「COM21」と「COM22」などに変更して「Apply」ボタンをクリックします。

it技術/仮想comポート.txt · 最終更新: 2020/07/01 09:42 by yajuadmin