*nix ツール
micro:bit ボードを接続する
micro:bit ボードをコンピューターに接続すると、
/dev に新しい TTY デバイスが現れるはずです。
$ # Linux
$ dmesg | grep -i tty
[63712.446286] cdc_acm 1-1.7:1.1: ttyACM0: USB ACM device
これが USB <-> シリアルデバイスです。Linux では、これは tty*(通常は
ttyACM* または ttyUSB*)という名前になります。
Mac OS では ls /dev/cu.usbmodem* でシリアルデバイスが表示されます。
では、ttyACM0 は正確には何でしょうか?もちろん、これはファイルです!
*nix では、すべてがファイルです:
$ ls -l /dev/ttyACM0
crw-rw----. 1 root plugdev 166, 0 Jan 21 11:56 /dev/ttyACM0
このファイルに単に書き込むだけで、データを送信できます:
$ echo 'Hello, world!' > /dev/ttyACM0
このコマンドを入力するたびに、USB ポートのすぐ横にある micro:bit のオレンジ色の LED が 一瞬点滅するはずです。
minicom
キーボードを使ってシリアルデバイスとやり取りするために、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)が表示されます。
これで、キーボードを使ってデータを送信できるようになりました!何か入力してみてください。なお、 テキスト UI は、入力した内容を 表示しません。ただし、micro:bit の上部にある黄色の 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に置き換えてください。