2018/02/13

Windows 10 上の Ubuntu から COM ポートにアクセスする方法

このご時世にシリアル通信というのも何ですが、組み込み関係等では現役だったりしますとはいえ、シリアル通信ケーブルを使うのではなく、USB がほとんどですが。

私は Linux 上の `screen` をよく使います。ただ、諸事情により Windows で開発しなければならない場合もあります。

そんな時は、[Tera Term](https://ja.osdn.net/projects/ttssh2/) を使っていたのですが、[Windows 10 では Linux が動くようになった](https://ja.wikipedia.org/wiki/Windows_Subsystem_for_Linux)ので、Windows 10 上でも `screen` が動くか試してみました。



### Ubuntu私は Ubuntu にしましたが、他のディストリビューションでも動くかもしれません をインストールする
Linux のインストールは、出てきた当初より格段に簡易化されました。
以下の手順に従えば、簡単にインストール出来ます。

[Install the Linux Subsystem on Windows 10](https://msdn.microsoft.com/en-us/commandline/wsl/install-win10)


### COM ポート を確認する
Ubuntu 上から確認する方法がないかと思ったのですが、`dmesg` が使えなかった時点で諦めて、デバイスマネージャーを使ってしまいました。

デバイスマネージャーの「ポート(COM と LPT)」という項目からお目当ての COM ポート番号を確認します。

> 参考 > > [COM Port Access in WSL · Issue #1929 · Microsoft/WSL · GitHub](https://github.com/Microsoft/WSL/issues/1929#issuecomment-294633591) ### 接続する Ubuntu を立ち上げると、 `screen` はデフォルトでインストールされているようです。 以下のように接続します。 ```console `gutter: false; $ sudo screen /dev/ttyS4 115200 ``` - `/dev/ttyS?` 接続先 数字を先ほど確認した COM ポートの番号にします。 - `115200` 通信速度 `sudo` を付けなければいけないのがイマイチです。 せめて、特定のグループに割り当てられてれば良いのですが、以下のように `root` になっていて、グループへのアクセス権はありません。 この手のデバイスファイルに `chmod` や `chown` するのは後でトラブルになりやすいので、大人しく `sudo` しています。 ```console `gutter: false; $ ll /dev/ttyS4 crw-r----- 1 root root 4, 69 Feb 12 13:49 /dev/ttyS5 ``` ### 終了方法 Screen の詳しい使い方は参考リンクを見ていただくとして、とりあえず終了方法だけ書いておきます。 `Ctrl - a`私は普段 `Ctrl - t` に割り当てています。`~/.screenrc` を作成して変更した方が使いやすいかもしれません。 の後に `k` > 参考 > > [screen 使い方 - Google 検索](https://www.google.com/search?q=screen+%E4%BD%BF%E3%81%84%E6%96%B9&oq=screen+%E4%BD%BF%E3%81%84%E6%96%B9&aqs=chrome..69i57j0l5.3928j0j4&sourceid=chrome&ie=UTF-8)

0 件のコメント: