Linux での USB←→シリアル用ツール
MB2 の USB エミュレートシリアルデバイスは、MB2 を Linux の USB ポートに接続すると Linux 上に現れます。
MB2 ボードの接続
MB2 ボードをコンピューターに接続すると、/dev に新しい TTY デバイスが現れるはずです。
$ sudo dmesg -T | tail | grep -i tty
[63712.446286] cdc_acm 1-1.7:1.1: ttyACM0: USB ACM device
これが USB←→シリアルデバイスです。Linux では、これは tty(“TeleTYpe” の略です。信じられないかもしれませんが)という名前になっています。これは ttyACM0、あるいは ttyUSB0 として表示されるはずです。ほかの “ACM” デバイスが接続されている場合は、番号はより大きくなります。(Mac OS では ls /dev/cu.usbmodem* でシリアルデバイスを表示できます。)
では、ttyACM0 とは正確には何なのでしょうか?もちろんファイルです! Unix では、すべてがファイルです。
$ ls -l /dev/ttyACM0
crw-rw----+ 1 root plugdev 166, 0 Jan 21 11:56 /dev/ttyACM0
このデバイスを読み書きするには、root として実行する(推奨されません)か、ls の出力に表示されるグループ(通常は plugdev または dialout)のメンバーである必要があることに注意してください。そうすれば、このファイルに単純に書き込むだけでデータを送信できます。
$ echo 'Hello, world!' > /dev/ttyACM0
このコマンドを入力すると、USB ポートのすぐ横にある MB2 のオレンジ色の LED が一瞬点滅するはずです。ビットレートやその他のシリアルパラメーターは MB2 のシリアルポートに対して正しく設定されていない可能性がありますが、それでも MB2 はシリアルデータが送られてきていることを認識できます。
minicom
キーボードを使ってシリアルデバイスと対話するために、minicom というプログラムを使います。ここでは最新の minicom のデフォルト設定、つまり 115200 bps、8 データビット、1 ストップビット、パリティビットなし、フロー制御なしを使います。(115200 bps は、たまたま MB2 で動作する速度です。)
$ minicom -D /dev/ttyACM0
これは、minicom に /dev/ttyACM0 のシリアルデバイスを開くよう指示しています。すると、テキストベースのユーザーインターフェイス(TUI)が表示されます。
これでキーボードを使ってデータを送信できます。実際に何か入力してみてください。テキスト UI は、入力した内容をエコーバックしないことに注意してください。ただし、MB2 上部の黄色い 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に置き換えてください。