大阪近郊で活動するフリーランスエンジニアのブログです 技術情報とか趣味など

*

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のダッシュボードとターミナルで確認

san

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

k1
ついた&消えた!!!

点灯時

sudo led-on
sudo led-20sec

k2

消えない!OK!!

これでパイ側はOKなので次回はWeb上からスイッチが押せるようにする予定

 - Linux, Raspberry Pi, 金魚 , , , ,

  • このエントリーをはてなブックマークに追加
  • にほんブログ村 観賞魚ブログ 金魚へ

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

  関連記事

Raspberry Pi2で室温、水温を計測してグラフ表示する その2

前回でRaspberry PiからさくらVPSへ計測したデータを飛ばして登録でき …

Raspberry Pi2でリモコンを使って水槽の照明をつける

リモコン操作で照明をつける Web上からRaspberry Pi2で水槽の照明を …

福だるま購入しました

福だるま?玉サバ? ちょっと前、寝室に60cm水槽に立ち上げた水槽へ福だるまを4 …

穂竜水槽を引っ越しました

穂竜さん入院 金魚水槽のページで配信していた45cm水槽の穂竜ですが、 どうやら …

金魚を水槽に戻しました

病気のため水槽をリセットし、隔離していた金魚を戻しました ついでに照明のLEDも …

45cm水槽を撤去しました

水槽を1個撤去 金魚水槽のページで配信していた45cm水槽を撤去しました。 仕事 …

Raspberry Pi2で外部から水槽のLEDを点灯する その3

前回で自宅のラズパイ側の準備が整ったので今回はWeb上から電灯のON/OFFをす …

45cm水槽を修理してみた

大昔に使ってた45cm水槽が出てきたので洗って使おうと思ったんですが水漏れしてま …

Raspberry Pi ZEROをソーラーパネルで動かす

ソーラーパネルでラズパイ! 以前からソーラーパネルを使って電源の要らないRasp …

エサやりボタンを撤去しました

寒い! 寒くなってきましね。 水温を10度を切り始めたので、プラ舟ページに配置し …