はじめに
夏になって、窓を開ける機会も多くなってきました。ただ、家を出るときに戸締りを確認するのは面倒ですよね。
また、出かけてから「あれ?窓ちゃんと閉めたか記憶がない!?」ってことありませんか?
今回は、家の窓がちゃんと閉まっているかをお知らせしてくれる玄関ランプを制作してみたいと思います。
やりたいこと
最終的にやりたいのは、窓に取り付けた窓センサーの情報をDBに格納しておき、玄関に人が来た時にLEDライトを赤or青に光らせるというものです。
1.窓センサーで窓の鍵の開閉情報を取得
2.開閉情報をmongoDBに格納
3.人感センサーで玄関に人が来たことを検知
4.LEDライトを赤or青に光らせて戸締り状況をお知らせ
実現に向けた連載
やりたいことを実現するために、以下のように少しずつに記事を書いていきます。
1回目:窓センサーの設定
2回目:人感センサーの設定
3回目:LEDライトの設定 ←この記事
3回目:LEDライトの設定
第3回目では、LEDライトを設定し、全ての窓が閉まっていたら「青色」、どこかの窓が開いていたら「赤色」にLEDライトが光るように設定します。また、ライトが点きっぱなしだと困るので、1分で消灯するようにします。
スマートリモコンの設定
今回使用するLEDライトは、IFTTTからの制御ができるものなのですが、IFTTT連携の不具合があるようで、現在は使えません。そこで今回は、すでに家に設置済みのsRemo-Rを使用してLEDライトを制御します。sRemo-Rの設定は以下の通りですが、詳細は割愛します。
1.LEDライト付属のリモコンから赤外線信号をsRemo-Rに学習させる
-点灯ボタン(No.61に割り当て)
-消灯ボタン(No.62に割り当て)
-赤色ボタン(No.63に割り当て)
-青色ボタン(No.64に割り当て)
2.sRemo-Rのマクロ機能で以下を設定
-点灯→赤色に変更(No.71に割り当て)
-点灯→青色に変更(No.72に割り当て)
sRemo-R APIアクセストークンの取得
sRemo-RはWeb APIに対応していて、WebAPIを叩くことでリモコン操作が可能です。node-redから操作するためにAPIアクセストークンを取得します。ここも詳細は割愛します。
1.sRemo-Rのユーザサイトにログイン
2.API用アクセストークン管理のメニューを選択
3.APIサーバ名とAPIアクセストークンを取得
Node-redの設定
ここからはNode-redを使って、sRemo-RのWebAPIを叩く設定を行っていきます。
①Switchノードの設定
前回設定した「編集」ノードの右側に、Switchノードを追加し、以下のように設定します。
②execノードの設定1
次に、execノードを追加し、ライトを青色に点灯するように設定します。この部分が今回のキーポイントです。
・uapi1.sremo.netの部分:上で取得したAPIサーバ名
・AAAAAAAAAAAの部分:sRemo識別子(どのsRemo-Rから送信するか)
・0-71の部分:「0-」は固定でその後に、上で設定したリモコン番号。今回は「71」。
・Bearer XXXXXXXXの部分:「Bearer 」は固定で、その後に上で取得したAPIアクセストークン
curl https://uapi1.sremo.net/user_api/AAAAAAAAAAA/send_sig?sig=0-71 -H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
③Switchノードの設定2
同様に、execノードをもう一つ追加し、ライトを「赤色」に点灯するように設定します。今回は「72」を設定します。
curl https://uapi1.sremo.net/user_api/AAAAAAAAAAA/send_sig?sig=0-72 -H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
④execノードの設定
次に、Delayノードを追加し、待ち時間を1分に設定します。
⑤execノードの設定3
execノードをもう一つ追加し、ライトを「消灯」するように設定します。今回は「62」を設定します。
curl https://uapi1.sremo.net/user_api/AAAAAAAAAAA/send_sig?sig=0-62 -H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
⑥ノードの接続
追加したノードを以下のように接続し、LEDライトを赤or青に点灯させ、1分待った後に消灯するように設定します。
⑦Deploy
右上の「Deploy」ボタンを押し、設定したフローをデブロイしましょう。
⑧テスト
これで設定は完了です。人感センサーの前に立つと、窓の状態に合わせてLEDライトが青色もしくは赤色に点灯しましたか?
おわりに
今回は玄関に設置するLEDライトの設定を行い、sRemo-rを用いてLEDライトを青色もしくは赤色に点灯することをやってみました。本来は、IFTTT連携でスマートにやりたかったので、IFTTT連携の不具合が解消されたら、記事も更新したいと思います。
連載記事
1回目:窓センサーの設定
2回目:人感センサーの設定
3回目:LEDライトの設定 ←この記事
コメント