Raspberry PIでLED点灯コントロール、Part4 水槽ライトを設置する

LED点灯コントロールのラストパート、実際に水槽ライトを設置します。

そもそもLED点灯コントロールは、水槽のライトを金魚サイトでコントロールできるようにするためのプロジェクトでした。


まず最初にwebIOPiのパスワードを削除して自動起動を設定します。

誰でもライトを付けられるようにwebIOPiのパスワードを削除します。

sudo rm -rf /etc/webiopi/passwd

webIOPiを自動起動にします。
sudo update-rc.d webiopi defaults
update-rc.d: using dependency based boot sequencing

自動起動を止めるときは下記になります。
sudo update-rc.d webiopi remove

ちなみにwebiopiを手動で開始したり止めたりするコマンドは下記になります。
sudo webiopi -d -c /etc/webiopi/config
sudo /etc/init.d/webiopi start
sudo /etc/init.d/webiopi stop

Webサイトにスイッチを埋め込む

ルーターのポートマッピングを設定する。

LEDスイッチ用
NATエントリ追加
LAN側ホスト 192.168.1.121
プロトコル TCP
ポート番号 8000
優先度 4

下記のコードをhttp://kintarofish.comのトップページのbody内に入れる
<script src="http://kintarofish.com:8000/webiopi.js"></script>
<script type="text/javascript">
        webiopi().ready(function() {
                var lightButton = webiopi().createButton("lightButton", "ライト点灯", function(){
                    webiopi().callMacro("lightOn");
                });
                $("#controls").append(lightButton);
        });
</script>
<div id="controls"></div>
で、これが動きません。

webiopi用のHTMLは一旦外部ファイル(ポート8000)にして、iframeでアクセスする必要があります。そうしないとwebiopi各種設定がポート80のほうに入ってしまいwebiopiがどこかでエラーになってしまいボタンが現れません。

webiopi用のHTMLファイルを少し修正します。
vim /myproject/html/index.html
<html>
<head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>WebIOPi | Light Control</title>
        <script type="text/javascript" src="/webiopi.js"></script>
        <script type="text/javascript">
        webiopi().ready(function() {
                // Create a "Light" labeled button for GPIO 23
                var lightButton = webiopi().createButton("lightButton", "ライト>点灯", function(){
                    webiopi().callMacro("lightOn");
                });

                // Append button to HTML element with ID="controls" using jQuery
                $("#controls").append(lightButton);
        });
        </script>
        <style type="text/css">
                body{
                        margin:0;padding:0;
                }
                button {
                        width: 140px;
                }
        </style>
</head>
<body>
        <div id="controls"></div>
</body>
</html>

http://kintarofish.comのトップページにiframeで埋め込みます。
<iframe src="http://kintarofish.com:8000/" height=50 width=300 scrolling="no"></iframe>

以上で点灯ボタンが機能します。

水槽用のLEDライトを作成する

物理的に水槽にLEDライトを取り付けられるものを、木の平べったい棒とブックスタンドで作成します。

ホームセンターに行ってヒノキの棒(72円)と金具(72円)を買ってきて工作。ブックスタンドは家に余っていたのを使いました。とりあえずライトスタンドっぽいものができればOKなので各自判断して作りましょう。

パワーLEDのケーブルを長いものに取り替えて、ヒノキの棒をのこぎりで切って、金具でくっつけて、ブックスタンドに強力両面テープで貼り付けて、セロハンテープで補強するー。

作成完了!



やっつけ感があるけど、とりあえず目的を達成できるのでOKなんです!
参考までにパワーLEDのところをズームアップ



そして水槽に設置します。




あとは部屋の電気を消して、
Webサイトに設置した点灯ボタンをポチッと。



Webサイトから点灯できる水槽ライトが出来上がりました。

3WのパワーLEDを使っていますが、
明るすぎるので1Wくらいに抑えて使っています。

それでも上の写真のように十分な明るさになりました。明かりが少し拡散してしまいますが、アルミフォイルとダンボールの切れ端でLEDに笠を作ってあげるのもいいかもしれません。

発熱はほとんどありません。

パワーLEDは消耗品ですが、
もし壊れたときでも180円で取り替えられます。

水槽ライトの総費用1300円+電車賃600円 (Raspberry Pi本体費用は除く)

以上でLED点灯コントロールプロジェクトは完了となります。

コメントを残す

メールアドレスが公開されることはありません。