ラズベリーパイで遊ぶ
これ、何がすごいって、数千円でウェブからコンセント類を制御できる可能性があるのですよね。
無論、下記では単なるLED制御のみですし、100v機器を使う場合は安全性についての配慮も必用ですが、可能性としては非常に興味深いものがあります。
今回は、そのウェブでのGPIO制御の基本部分を作成しています。
広告
ラズベリーパイのハードウェア構成
機種はラズベリーパイ3
ピンは
基盤を表面にして、マイクロSDカードが左に来た状態
(ラズベリーパイのロゴマークが左側に見える状態)で
ピンソケット
上段、右から7番目
下団、下から2番目
を使用
抵抗は1kΩを使用(諸説ありますが、私はこれを使っています、ということで)
広告
Webサーバの構成
レンタルサーバ等を借りて、ファイルを作成
そのファイルの中身に「1」もしくは「0」を書き込みます。
ここでは「sample.com/1」とします。
本来は、これを書き換えるスクリプトも作るべきですが、
今回は省略します。
然るべきスクリプトを書けばスマホからも遠隔でラズベリーパイのGPIO通電制御が可能です。
広告
ラズベリーパイのスクリプト
webGetOnOff.pl #とりあえずGPIOの使用を宣言 `echo 2 > /sys/class/gpio/export`; `echo out > /sys/class/gpio/gpio2/direction`; #初期状態は消灯 `echo 0 > /sys/class/gpio/gpio2/value`; while(1){ #curlにてウェブ上の値を取得 $tmp = `curl -s sample.com/1`; #LEDの現在状態を取得 $now = `gpio -g read 2`; #LEDの現在状態で動作判断 #こうしないとONが連続する場合、 #瞬断状態になる if($tmp == "1"){ if($now == "1"){ ; } else{ #print "1"; `echo 1 > /sys/class/gpio/gpio2/value`; } } if($tmp == "0"){ if($now == "0"){ ; } else{ #print "0"; `echo 0 > /sys/class/gpio/gpio2/value`; } } #1秒毎に実行 sleep(1); }#while end
広告
制御方法
上記のスクリプトを以下のように駆動
perl webGetOnOff.pl
Webサーバ、sample.com/1
の中身を
0->1
1->0
のように書き換えを行うと、LEDの制御が可能です。
わかりやすくするため、1秒毎にWebサーバにアクセスしていますが、適時、変更してください。
とりあえず備忘録まで。