ルート権限でコマンドを実行しないと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
【参考文献】この過程をシェルスクリプトにすると以下のようになる。
#!/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