Bus Pirate
Bus Pirate は様々なハードウェアと通信できる多目的ツールです。
新しいマイクロチップと通信するのは厄介です。ブレッドボードを使って回路を試作し、コードを書いて、プログラマを呼び出し、あるいはプリント基板を作成する必要があります。最初から上手くいくわけがありません。
‘Bus Pirate’ は新しい未知のチップを使うときに試作品を作る無駄な努力を排除し、パソコンのシリアル端末からあらゆるチップと通信できるユニバーサルバスインターフェイスです。0-5.5 ボルトの多数のシリアルプロトコルをサポートしており、さらに追加することもできます。詳しくは google code にある Bus Pirate のサイトを見てください。
インストール
FTDI チップのドライバーはカーネルに含まれているため、接続すればすぐに認識されて /dev/ttyUSB[0-9]
のデバイスが割り当てられます。認識されていることを確認するには、次を実行:
# dmesg | tail
以下のような文字列が含まれた行が出力されます:
# usb 1-4.4: FTDI USB Serial Device converter now attached to ttyUSB0
udev
デバイスが割り当てられた /dev/ttyUSB[0-9]
をいちいち確認するのは面倒です。接続時に /dev/buspirate
から /dev/ttyUSB*
にシンボリックリンクを作成する udev ルールを追加するのが良いでしょう。
プロダクト/ベンダー ID
シンボリックリンクを作成する方法は複数あり、ベンダー/プロダクト ID を使用することで Bus Pirate を置き換えることができます。/etc/udev/rules.d/98-buspirate
に以下の行を追加してください:
/etc/udev/rules.d/98-buspirate.rules
# Bus pirate v3 SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", GROUP="users", MODE="0666", SYMLINK+="buspirate" # Bus pirate v4 SUBSYSTEM=="tty", ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="fb00", GROUP="users", MODE="0666", SYMLINK+="buspirate"
シリアル番号
シリアル番号を使用する方法もあります。Bus Pirate に載っている FTDI チップのシリアル番号を確認してください。以下のコマンドを実行することで確認できます (デバイスが接続されていて /dev/ttyUSB0
がある場合):
# udevadm info --attribute-walk -n /dev/ttyUSB0 | sed -n '/FTDI/,/serial/p'
以下のファイルを追加・作成:
/etc/udev/rules.d/98-buspirate.rules
SUBSYSTEM=="tty", ATTRS{serial}=="XXXXXXXX", GROUP="users", MODE="0660", SYMLINK+="buspirate"
ATTRS{serial}=="XXXXXXXX"
はデバイスのシリアル番号に置き換えてください。udev から新しいルールをロードするには:
# udevadm control --reload-rules
これで、デバイスを接続したらシンボリックリンクが作成されます。
通信
デバイスと通信するときは、以下のようなコマンドを使用します:
minicom
# minicom -b 115200 -8 -D /dev/buspirate
screen
# screen /dev/buspirate 115200 8N1
picocom
# picocom -b 115200 /dev/buspirate
cu
# cu -l /dev/buspirate
'?' と入力して enter を押すことで利用可能なコマンドのリストがデバイスから返されます。