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

*

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

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

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

Raspberry Pi2に2台のカメラを繋いで同時配信する

水槽増えたんだけどまたパイ買うの? 先日新しく45cm水槽を買いまして買ったなら …

45cm水槽を修理してみた

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

金魚水槽の照明をパワーアップさせたい

金魚水槽のページでON/OFFできるようにしている照明ですが、 やっぱ1Wパワー …

穂竜水槽のフィルターを交換

穂竜が挟まる! 金魚水槽のページで配信している穂竜たちですが、非常にドン臭く よ …

ウチの金魚たち

ウチに置いてある水槽の紹介 仕事場水槽 金魚水槽のページで配信している60cm水 …

Raspberry Pi2でプラ船のカメラを動かす

カメラの首振り プラ舟内に設置しているカメラにサーボを取り付けて遠隔からカメラの …

金魚が病気の為、隔離しました

配信中の金魚水槽ですが、金魚が病気で1匹死んでしまったので隔離しました メイン水 …

Raspberry Pi2で水槽のLEDを自動点灯/消灯する

先日Raspberry Pi2を購入し、自宅からのストリーミング配信する為あれこ …

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

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

45cm水槽を撤去しました

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