2012年9月19日水曜日

Raspberry pi (Raspbian “wheezy”) のウェブサーバでGPIOを制御

せっかくのRaspberry piですので電子工作と組み合わせて何かしたいところです。
もっとも簡単なのはGPIOの先に何か(LEDなど)くっつけることでしょう。
で、そのGPIOの制御方法についてはRaspberry pi (Raspbian “wheezy”) のI/Oピンヘッダで書いており、
sshでログインしてコマンド打てば特に何もしなくても可能ですが、
それでは芸がないのでウェブブラウザ経由で制御してみます。

すでにRaspberry pi (Raspbian “wheezy”) をファイルサーバにでhttpサーバを導入しているところからの説明となります。
私は個人的にphpが好き(というかphp3の初期から利用している)なので
# apt-get install php5
でインストールします。
次にお膳立てとして起動スクリプト"/etc/init.d/gpio"を
#!/bin/sh
### BEGIN INIT INFO
# Provides:        gpio
# Required-Start:
# Required-Stop:
# Default-Start:   2 3 4 5
# Default-Stop:
# Short-Description: Init GPIO
### END INIT INFO

case $1 in
        start)
                echo "4" > /sys/class/gpio/export
                echo "out" > /sys/class/gpio/gpio4/direction
                chmod 666 /sys/class/gpio/gpio4/value
                ;;
        stop)
                echo "4" > /sys/class/gpio/unexport
                ;;
        *)
                echo "Usage: $0 {start|stop}"
                exit 2
                ;;
esac
の内容で作成し、
# chmod 755 /etc/init.d/gpio
# /etc/init.d/gpio start
# update-rc.d gpio defaults
を実行します。
で、ウェブコンテンツ"/var/www/gpio4_on.php"を以下の内容で作成します。
<?
system("echo 1 > /sys/class/gpio/gpio4/value");
?>
これでウェブブラウザからhttpでgpio4_on.phpを開くと
GPIO4がHレベルになります。
起動スクリプトとウェブコンテンツを好きにいじれば、もっと複雑なことができます。

0 件のコメント:

コメントを投稿