Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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+AMeta に置き換えてください。