背景
東京のある団地に住んでいる私、通勤の日々中で、ふと思い出しました。
前に住んだマンションは、玄関に人感知ライトがついていました。
ほ、ほしい
揃ったもの
- SwitchBot: Amazon Link
- RaspberryPi 3
- Nature Remo
- Google Cloud Platform Account
- LINE Developer Account
- IFTTT Account
全体像
説明
IFTTT
スマホに IFTTT のアプリを入れます。
「あるエリアに入ったら、Web Request (Post) を Cloud Functions に送信する」と設定します。
Cloud Funcitons
Web Request (Post) をゲットしたら、
Cloud Pub/Sub にメッセージを publish します。
一方、「You have entered the area.」と LINE に送信します。
Raspberry Pi
Cloud Pub/Sub の Subscriber として、publish したメッセージを受信したら、
Nature Remo API から部屋の照度を取得し、
一定値以下の場合は、SwitchBotを起動し、ライトを付けることができました。
実行した結果も LINE に送信します。
参考したリンク集
-
Cloud Pub/Sub: メッセージのパブリッシュ
Cloud Functions での Python プログラムの実装に参考しました。 -
Cloud Pub/Sub: pull を使用したメッセージの受信
Raspberry Pi での Python プログラムの実装に参考しました。 -
Nature Remo Cloud API
Nature Remo API 仕様、及びアクセストークンの発行に参考しました。 -
GitHub - OpenWonderLabs/python-host
Raspberry Pi からSwitchBotを操作するに参考しました。 -
Linux の任意のスクリプトをサービス登録し OS 起動時に自動起動させる [init.d/SystemD 編]
Raspberry Pi でのプログラムをサービス登録した時に参考しました。 -
GAEでLINE Message API(line-bot-sdk-python)を試してみた
GAE は使ってないですが、Message API の利用に参考しました。
雑談
ここにソースなどは書いてない理由ですが、
まず、私と同じ轍を踏む人がいないと思いました。
人感知電球って、Amazon で SwitchBot より安く買えますし(同僚に突っ込まれましたw)、
GCPの代わりに、他のクラウドサービスもあります。
また、参考したリンク先のソースに少し修正を加えたら、動けます。
Raspberry Pi で何がを実現するのは私の長年の宿題ですが、
進めるのが遅いのは課題です。
この記事は温かい目で見ていただけると幸いです。
これからもこれらのデバイスを眠らせないように、活用していきたいと思います。