前回の記事はAlexaに喋らせるだけでしたが、今回はAlexaに仕事をしてもらいましょう。
これでいろんなことができるようになります。
必要なもの
- Alexa (たぶんなんでも大丈夫)
- NodeRED環境 (NASの環境にNodeREDを構築しました)
- コンピュータのWake-on-LAN設定 (以降wol)
いきなり出ましたが、wolの準備をします。
細かい手順は記載しませんが、LANが繋がっているマシンは微弱な電流が通っているのでそれで起動できるってやつですね。
マザボによっては対応してなかったりしますが、チョー便利。
手順
NodeREDで必要なライブラリをインストール
#3で紹介したライブラリはなくても動きます
- node-red-contrib-alexa-home-skill ver:0.1.19 (Alexaの仮想デバイス操作結果をトリガーに動作させます)
- node-red-node-wol ver:0.2.0 (実装してもいいですがMACアドレスとIP入れるだけにした方が楽なので入れます)
wolの実行
まずはwolノードを用意してMACアドレス, Target Address(IPアドレス)を入れます(その他の項目はデフォルトのままでいいと思います)
ipconfigとかで見つけてください。
あとは単純にinjectノードをつないであげるだけです。
メッセージの内容がなくてもwolが実行されます。
AlexaHomeSkillBridgeに登録しデバイスを追加
一見怪しいサイトですが、Alexa Home Skill Bridge に登録します。
そしてデバイスを追加します。
機能としてはONができればいいだけなのでこれだけです。
すると、Alexaのアプリの方でも、このデバイスを仮想的なスイッチデバイスとして確認することができるようになります。
NodeREDに仮想デバイスからのフローを設定
Alexa Homeノードの設定を開いて、Alexa Home Skill Bridgeのアカウントでログインします。
あとは単純にwolノードとフローをつないで完成です。
PCがついているとわかりにくいので、試しにdebugノードにメッセージを吐くようなフローにしておいて、
「アレクサ、[デバイス名]をつけて」(※ハマりポイントでした)と言うと、デバッグウィンドウに出力してくれるでしょう。
※ Alexaアプリの方で、このデバイスの所属をリビングなどにしておくと、このまま呼び出せないんですね。
「アレクサ、リビングの[デバイス名]をつけて」と言う必要がありますのでご注意を。
これで、仮想デバイス名を声に出して伝えるだけであれこれやってくれるフローが作れてしまいます!
← PREV: Alexaに色々喋らせる