*nix ツール
Discovery ボードの新しいリビジョン
新しいリビジョンでは、Discovery ボードをコンピューターに接続すると、
/dev に新しい TTY デバイスが現れるはずです。
$ # Linux
$ dmesg | tail | grep -i tty
[13560.675310] cdc_acm 1-1.1:1.2: ttyACM0: USB ACM device
これが USB <-> シリアルデバイスです。Linux では、tty*(通常は
ttyACM* または ttyUSB*)という名前になります。
デバイスが現れない場合は、おそらく古いリビジョンのボードを使っています。 古いリビジョン向けの手順が書かれている次のセクションを確認してください。 新しいリビジョンを使っている場合は、次のセクションを飛ばして 「minicom」セクションに進んでください。
Discovery ボードの古いリビジョン / 外付けシリアルモジュール
シリアルモジュールをコンピューターに接続し、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 が、一度だけすばやく点滅するはずです!
すべてのリビジョン: 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 を起動できます。
$ # 注: ここでは別のデバイスを使う必要があるかもしれません
$ minicom -D /dev/ttyACM0 -b 115200
これは、minicom に /dev/ttyACM0 のシリアルデバイスを開き、その
ボーレートを 115200 に設定するよう指示しています。テキストベースのユーザーインターフェイス
(TUI) が表示されます。
これでキーボードを使ってデータを送信できます! 何か入力してみてください。なお、 TUI はあなたが入力した内容を エコーバックしません が、外付け モジュールを使用している場合は、キーを押すたびにモジュール上のどこかの LED が点滅するのが 見える かもしれません。
minicom コマンド
minicom はキーボードショートカットでコマンドを提供します。Linux では、ショートカットは Ctrl+A で始まります。mac では、ショートカットは Meta キーで始まります。便利なコマンドをいくつか以下に示します。
Ctrl+A+Z. Minicom コマンド一覧Ctrl+A+C. 画面をクリアCtrl+A+X. 終了してリセットCtrl+A+Q. リセットせずに終了
注 mac ユーザー: 上記のコマンドでは、
Ctrl+AをMetaに置き換えてください。