*nixのツール

シリアルモジュールをノートPCに接続し、OSがなんという名前を割り当てたか、を確認します。

注記 macでは、USBデバイスは/dev/cu.usbserial-*といった名前になります。 dmesgを使用してもわからないので、代わりに、ls -l /dev | grep cu.usbを使って下さい。 そして、適宜、以下のコマンドを調整して下さい。

$ dmesg | grep -i tty
(..)
[  +0.000155] usb 3-2: FTDI USB Serial Device converter now attached to ttyUSB0

しかし、ttyUSB0という物は何なのでしょうか?もちろんファイルです!*nixでは、全てがファイルなのです。

$ ls -l /dev/ttyUSB0
crw-rw-rw- 1 root uucp 188, 0 Oct 27 00:00 /dev/ttyUSB0

注記 パーミッションがcrw-rw----の場合、udevルールが正しく設定できていません。 udevルールを参照して下さい

単にこのファイルに書き込むだけで、データを送ることができます。

$ echo 'Hello, world!' > /dev/ttyUSB0

シリアルモジュールのTX(赤色)LEDが点滅するのが見えたはずです。非常に速い速度で、ちょうど1回だけ!

All revisions: minicom

シリアルデバイスをechoを使って扱うことは、やりやすい方法ではありません。 そこで、キーボードを使ってシリアルデバイスと通信するために、minicomプログラムを使います。

minicomを使う前に、設定が必要です。多くの設定方法がありますが、ホームディレクトリの.minirc.dflファイルを使います。 ~/.minirc.dflファイルを、下記の内容で作成します。

$ cat ~/.minirc.dfl
pu baudrate 115200
pu bits 8
pu parity N
pu stopbits 1
pu rtscts No
pu xonxoff No

注記 ファイルが新しい行で終わるようにして下さい!そうでないと、minicomがファイルの読み込みに失敗します。

このファイルは、(最後の2行を除いて)素直に読めますが、1行ずつ順番に見ていきましょう。

  • pu baudrate 115200. ボーレートを115200 bpsに設定します。
  • pu bits 8. 1フレーム8ビットです。
  • pu parity N. パリティチェックなし。
  • pu stopbits 1. ストップビット1ビット。
  • pu rtscts No. ハードウェア制御フローなし。
  • pu xonxoff No. ソフトウェア制御フローなし。

設定ファイルの作成を終えると、minicomを起動できます。

$ # NOTE you may need to use a different device here
$ minicom -D /dev/ttyACM0 -b 115200

このコマンドは、minicom/dev/ttyUSB0のシリアルデバイスをオープンするように伝え、ボーレートを115200に設定します。 テキストベースのユーザーインタフェース(TUI)が現れます。

これからは、キーボードを使ってデータを送信できます。何かを入力してみて下さい。TUIは、あなたの入力をエコーバックしないことに気をつけて下さい。 しかし、キーストロークごとにシリアルモジュールのTX(赤色)LEDが点滅するのが見えるでしょう。

minicomコマンド

minicomは、キーボードショートカットによるコマンドを受け付けます。Linuxでは、ショートカットはCtrl+Aで始まります。 macでは、ショートカットはMetaキーで始まります。便利なコマンドを下記に示します。

  • Ctrl+A + Z. Minicomコマンドのまとめ
  • Ctrl+A + C. スクリーンのクリア
  • Ctrl+A + X. 終了とリセット
  • Ctrl+A + Q. リセットなしの終了

注記 macユーザーへ:上記コマンドの、Ctrl+AMetaで置き換えて下さい。