【Ubuntu 18.04 LTS】標準COMポートにアクセスし「C-Kermit」でシリアル通信する

スポンサーリンク

以前の記事で「Ubuntu 18.04 LTS Desktop」をインストールした。

【Ubuntu 18.04 LTS Desktop】インストールする
Ubuntu 18.04 LTS が、4月26日(日本時間27日)にリリースされた。そこで、新規に「Ubuntu 18.04 LTS Desktop」をインストールしたので備忘録を残す。インストール媒体の入手下記URLから、イン...

そこで、UbuntuパソコンのCOMポートにアクセスし、シリアル通信できたので備忘録を残す。

COMポートのデバイス名確認

パソコン標準装備のCOMポートのデバイス名を確認する。

画像00

dmesgコマンドでログ表示し、有効になってるシリアルポートのデバイス名を確認。

[    0.705116] Serial: 8250/16550 driver, 32 ports, IRQ sharing enabled
[    0.725737] 00:05: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A

ttyS0」がシリアルポートのデバイス名となってるので、lsコマンドで確認。

$ ls -l /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 10月 22 15:49 /dev/ttyS0

dialout」グループが読み書きアクセス可能。

COMポートへのアクセス権設定

/dev/ttyS0 デバイスにアクセスできるように、自分のユーザを「dialout」グループに追加。

$ gpasswd -a hoge dialout

グループ追加したら、一度ログインし直して、ID コマンドで確認。

$ id
uid=1000(hoge) gid=1000(hoge) groups=1000(hoge),4(adm),20(dialout),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)

groups= に「dialout」が追加された。

シリアル通信ソフト「C-Kermit」をインストール

以前の記事で、macOSで動かしたシリアル通信ソフト「C-Kermit」でCOMポートアクセスする。

【macOS】C-Kermitをシリアルコンソール通信ソフトとして使う
以前の記事で、macOSでシリアル通信を動かした。使い勝手のいいシリアルコンソール通信ソフトがないかと探していたら、「C-Kermit」がコンソール端末モードでも利用できる事が判り使ってみたので備忘録を残す。C-Kermitのイ...

下記コマンドでインストール。

$ sudo apt install ckermit

実行できるか確認。

$ kermit --version
9.0.302 [9.0.302]

通信初期設定

kermitの設定ファイル「/etc/kermit/kermrc」を確認すると、HOMEディレクトリの .mykermit ファイルに起動時に実行するコマンドを記述しておく。

$ nano ~/.mykermrc
set line /dev/ttyS0
set carrier-watch off
set speed 115200
set parity none
set flow-control none

C-Kermitの使い方

C-Kermitの起動。

$ kermit
Executing /home/hoge/.mykermrc...
C-Kermit 9.0.302 OPEN SOURCE:, 20 Aug 2011, for Linux+SSL+KRB5 (64-bit)
 Copyright (C) 1985, 2011,
  Trustees of Columbia University in the City of New York.
Type ? or HELP for help.
(/home/hoge/) C-Kermit>

コマンド入力待ちになるので、c コマンドで端末通信モードになる。

(/home/hoge/) C-Kermit>c
Connecting to /dev/ttyS0, speed 115200
 Escape character: Ctrl-\ (ASCII 28, FS): enabled
Type the escape character followed by C to get back,
or followed by ? to see other options.
----------------------------------------------------

これで、端末通信モードになりシリアルポートから文字の送受信ができる。
端末通信モードの終了は、Ctrl-\ を押して c を押す。

(Back at Ubuntu-Desktop)
----------------------------------------------------
(/home/hoge/) C-Kermit>

コマンド入力待ちになるので、exit 又は q で終了。

(/home/hoge/) C-Kermit>exit
Closing /dev/ttyS0...OK
hoge@Ubuntu-Desktop: ~
$
  • The Kermit Projectに、v8.0みたいだが「USING C-KERMIT Communications Software」のPDFマニュアルが公開されている。英語ではあるが、かなりのページ数でとても詳しく書かれているので参考になる。ちなみに、ターミナル通信モードの説明は「Chapter 8」にある。

通信実行例

以前の記事で「Raspberry Pi」のu-bootでシリアル通信を行った。

【Raspberry Pi】u-bootを動かす
前の記事で作成した、u-bootを、「Raspberry Pi」に入れて、動かしてみる。シリアル接続の準備u-bootでは、シリアル通信を使って、コマンド入出力する。シリアル-USB変換ケーブルが必要で、私はアマゾンから下記を...

「Raspberry Pi」のUARTはTTL信号(3.3V)なので、RS-232C信号(±12V)へレベル変換してCOMポートに接続する。

Raspberry Pi 2で、u-bootをSDカードから起動し「C-Kermit」でシリアル通信した。

画像01

補足

  • kermitは、もともとパソコン通信時代に開発されたファイル転送や自動マクロ通信ソフトだが、端末通信ソフトとしても優れた機能を備えている。
  • Ubuntu 18.04 LTS Server」でも同様に利用できると思う。(未確認)
  • GUIインタフェースでなくCUIのソフトなので、リモートでSSH接続したパソコンからでもストレスなく操作できたので、ある意味便利。

参考

  1. Ubuntu でシリアルコンソールを使う
  2. ckermitが使えなくなってた。
  3. シリアルポートへの接続方法 | Ubuntuフォーラム
  4. Linuxでユーザーをグループに追加する
  5. C-Kermit 9.0 | The Kermit Project
  6. KERMIT PROTOCOL MANUAL | The Kermit Project

コメント

タイトルとURLをコピーしました