Raspberry Pi買ったのでシェルからLチカ
何年も前から欲しい欲しいと言って買ってなかったRaspberry Piをとうとう購入した。
日経BPのラズパイマガジンとケースのセットで8000円位だったか。
とりあえずOS入れて無線LANの設定やらなんやらを済ませ、SSHでログインしてLチカを試した。
Pythonのライブラリを使えば簡単そうなのだけどなんとなく嫌で以下のサイトを参考にシェルからGPIOを制御する方法を試してみた。tool-lab.com
簡単にまとめると
- GPIOの各ピンは /sys/class/gpio/ 配下の /sys/class/gpio/gpio*/value (*はピン番号)という仮想ファイルに0または1の値を書き込むことによってOFF(0)、ON(1)を切り替えることができる
- 上記のファイルは最初は存在していないので以下の方法で作成する必要がある。(OSをシャットダウンすると消えてしまうのでOSを起動するたびに毎回作る。)
$ echo 18 > /sys/class/gpio/export #18番ピン用の仮想ファイルが作成される
- ファイルを作成するだけでは使用可能にならないので次に入出力を設定する必要がある。(こちらもOSをシャットダウンすると消えてしまうのでOSを起動するたびに毎回設定する。)
$ echo out > /sys/class/gpio/gpio18/direction #18番ピンが出力に設定される
- あとはechoコマンドを使うなどして0/1を書き込めばOK
$ echo 1 > /sys/class/gpio/gpio18/value #ON $ echo 0 > /sys/class/gpio/gpio18/value #OFF
上記を応用してrubyでLチカをした
10.times do `echo 0 > /sys/class/gpio/gpio18/value` sleep 0.5 `echo 1 > /sys/class/gpio/gpio18/value` sleep 0.5 end
上記をもっと簡単にできるようにしたWiringPiというツールもあるらしいが、また今度調べる。
ちなみにRaspberry PiのGPIOから線を引き出す際には以下の様な延長基板が便利。
- メディア:
- この商品を含むブログを見る
組み立て済み Raspberry Pi 2 & B+/A+用 ブレッドボード接続 T型基板キット(20cm 40ピンリボンケーブル付き) - ラズベリーパイI/O延長基板キット
- 出版社/メーカー: NulSom Inc.
- メディア: エレクトロニクス
- この商品を含むブログを見る
私のようなおっちょこちょいの人は完成品の方を購入したほうがいいかもしれない。