背景
今年の暑い夏に、、、奥さんから一言でスタートしました。
以下、実際にあったやりとり。
妻: 家から帰ると暑い。どうにかできないの?
僕: へ。。確かに暑いね。。
妻: ...。
僕: 作ってみせます。
ということでエンジニア魂に火が付いた僕がやってみた物語。
(仕事ではモバイルエンジニアをしています。kotlin大好き。swiftも好き。)
準備するもの
-
Raspberry Pi3 Model B (Amazonで売っているスターターキットがオススメです。OS入ってるし。。)
- MacでもWindowsでもOK
-
RM mini 3 (日本国内で技適を取ってないので日本国内で使用する場合は気をつけましょう。)
- eRemoteを使えばいいと思うけど、、、少し高い。。
-
IFTTT
- アカウント作っとこう
-
dataplicity
- Paspberry PiをWebブラウザからアクセスできる優れもの。
- Node-RED
- 言わずもがな。
フロー
想定しているフローは
IFTTTのButton Widget -> httpでAPI叩く -> Raspberry Pi -> RM mini3 -> 家電(僕の場合はエアコン)
手順
- Raspberry piを初期セットアップする。
- スターターキットはすでにOSインストールされているので端折ります。
- Wifiのセットアップまで。
- python-broadlinkをラズパイにインストールする。
- 仰せの通りに。(http://intellectualcuriosity.hatenablog.com/entry/2017/05/12/201643)
- git clone https://github.com/mjg59/python-broadlink.git
- ライブラリのインストールを行う ( sudo pip install broadlink )
- 赤外線をラズパイに覚えさせる。
- broadlink_discoveryを実行する。
- ./broadlink_discovery
- vi hogehoge.device
- ./broadlink_cli --device @hogehoge.device --learnfile aircorn.on
- エアコンのonボタンをRM mini3に向けて送信
- ./broadlink_cli --device @hogehoge.device --learnfile aircorn.off
- エアコンのoffボタンをRM mini3に向けて送信
- ./broadlink_cli --device @hogehoge.device --send aircorn.on
- エアコンがつく!!おー
- broadlink_discoveryを実行する。
- dataplicityをセットアップ
- node-redで遊ぶ。
- 外から叩けるようAPIを定義する。
- https://〇〇.dataplicity.io/command/aircorn_onを叩いてエアコンがONになったら成功!
- iftttにログインする。
- My Applets → New Applet
- thisにButton widgetを選択し、thatにwebhookを選択する。
- 名前を入力し、定義したURL( https://〇〇.dataplicity.io/command/aircorn_on )を入力する。
- iPhone(もしくはAndroid端末)にiftttをダウンロードし、同一アカウントでログインを行う。
- iPhoneのウィジェットをイジイジ。。編集ボタンをタップ。(歩数が出るの恥ずかしいですね。)
実際に使ってみた感想
- 感動する
- ラズパイのセキュリティを強化せねば、、と思い始める。
- これなら色々動かせるぞ、、と奮起した瞬間に引越しが決まってまだ引越し先に導入できず。
- 奥さんからお褒めの言葉を言われる。
- 子供も喜ぶ。(と思う)
おまけ
- よくありますが、Google Homeからの連携も同じようにできました。(変更したのはiftttですが)
- ただ、あまり使われずに悲しい思いをしてます。
- eRemoteの方が使いやすそうだな、、、と思っております。
これからの展望
- とりあえず、スマートホームにするべく赤外線で指示与えるものはコンプリートしたいと思います。