Raspberry Pi2で外部から水槽のLEDを点灯する その2
前回でひとまずさくらVPS上のPHPから自宅水槽のLED照明をONにできるようになったので肉付けしていく
subscribe(受信側)のシェルスクリプト
既に実行されてる場合はkillしてからもう一度起動する
vi /usr/local/bin/sango_subscribe
#!/bin/sh
#実行ファイルからpid取得
exec_file='sango_subscribe.rb'
pid=`ps x | grep -v grep | grep "$exec_file" | awk '{ print $1 }'`
#echo $pid
#既に起動していた場合はkillする
if [ -n "${pid}" ]
then
kill -9 $pid
fi
#バックグラウンドで実行
nohup `ruby /スクリプトの場所/$exec_file` > /ログの場所/sango.log 2> /ログの場所/sango.error.log < /dev/null &
起動時に実行するよう登録して再起動
sudo vi /etc/rc.local su - 実行ユーザー -c /usr/local/bin/sango_subscribe sudo reboot
再起動後、Sangoのダッシュボードとターミナルで確認
pgrep sango_subscribe 2568 ←pidが出る sango_subscribe ←再実行して確認 pgrep sango_subscribe 3062 ←前回と違うpidになっている事を確認
切断を検知して自動再接続がCOOLなんだけど面倒なので1時間に1回再起動する意識低いマン
crontab -e 3 * * * * /usr/local/bin/sango_subscribe > /dev/null 2>&1
次はLED点灯用のシェルスクリプト
点灯したら20秒後に消灯する ただしLEDが既に点灯していた場合は消灯しない
cronで叩いてる点灯用シェルをコピって作る
sudo cp /usr/local/bin/led-on /usr/local/bin/led-20sec sudo vi /usr/local/bin/led-20sec
この辺見ながら修正する
#!/usr/bin/python
import RPi.GPIO as GPIO
import time
import sys
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.OUT)
if GPIO.input(23):
sys.exit()
else:
GPIO.output(23,GPIO.HIGH)
time.sleep(20)
GPIO.cleanup()
if文の片方が要らない気もするけどpythonの構文がイマイチよく解ってないのでスルーする意識低いマン
点灯時、消灯時で叩いてみて確認
消灯時
sudo led-off sudo led-20sec
点灯時
sudo led-on sudo led-20sec
消えない!OK!!
これでパイ側はOKなので次回はWeb上からスイッチが押せるようにする予定
関連記事
-
-
プラ船の金魚がネコに襲撃された
ガレージに出してるプラ船がネコにやられました・・・ これはひどい どうもカメラを …
-
-
Raspberry Pi2で室温、水温を計測してグラフ表示する
Raspberry Pi2に水温計と温度計を取り付け、10分ごとに室温と水温を計 …
-
-
金魚水槽の照明をパワーアップさせたい
金魚水槽のページでON/OFFできるようにしている照明ですが、 やっぱ1Wパワー …
-
-
プラ舟のカメラ復活しました
カメラの首振りができなくなっていた プラ船のカメラが横方向に動かなくなっていたの …
-
-
プラ船 復活しました
先日ネコに襲撃され破られた金網ですが、1枚ものの塩ビ板でフタをすることにしました …
-
-
プラ舟に外部フィルター追加
安かったのでつい・・・ ヤフオクで安い中古の外部フィルターが売っていたので衝動買 …
-
-
ウチの金魚たち
ウチに置いてある水槽の紹介 仕事場水槽 金魚水槽のページで配信している60cm水 …
-
-
45cm水槽を撤去しました
水槽を1個撤去 金魚水槽のページで配信していた45cm水槽を撤去しました。 仕事 …
-
-
100均のタッパーで投げ込み式ろ過器を自作する
ジャンボタライにろ過器を追加したい ベランダ水槽のジャンボタライなのですが、60 …
-
-
エサやりボタン復活しました
遠隔エサやりボタン 春になってきたので冬の間ストップしていたエサやりボタンを復活 …



