Day13 Raspberry PiでLチカ(シェルスクリプト)

Raspberry PiでLチカをした。抵抗は330Ωを使用。


ルート権限でコマンドを実行しないとGPIOポートにアクセスできない。
$ su

GPIO4を使用する。以下のコマンドで、/sys/class/gpio/gpio4が生成する
#  echo 4 > /sys/class/gpio/export

GPIO4の入出力の設定をする。今回はoutにする。
# echo out > /sys/class/gpio/gpio4/direction

/sys/class/gpio/gpio4/valueに1(点灯) 、0(消灯)を書き込むことでLEDの挙動を制御できる
# echo 1 > /sys/class/gpio/gpio4/value
# echo 0 > /sys/class/gpio/gpio4/value

GPIOの使用が終わったら、終了を宣言する。以下のコマンドで、/sys/class/gpio/gpio4が消失する
# echo 4 > /sys/class/gpio/unexport


# exit

この過程をシェルスクリプトにすると以下のようになる。


#!/bin/bash
echo "4" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio4/direction
while :
do
echo "1" > /sys/class/gpio/gpio4/value
sleep 0.5
echo "0" > /sys/class/gpio/gpio4/value
sleep 0.5
done

複数回このシェルスクリプトを実行するときは、あらかじめ、
$ echo "4" > /sys/class/gpio/unexport

を実行しておかないと、リソースビジーというエラーが出る事に注意。


【参考文献】
林和孝『Raspberry Piで遊ぼう』ラトルズ 2014