enebularにノードを足す
enebularにはNode-RED対応のノードを追加できることがわかったので、Amazon Echoと繋げられるノードを足してみました。
enebularについては以前(新しくなったenebularを使ってみる Vol.1)の記事で紹介してます。
とりあえず、最終的には照明のコントロールを音声でできるようにすることを目指して、実験しつつ確認していきます。
Node-RED Alexa Home Skill Bridgeを足す
Node-RED Alexa Home Skill Bridgeについては、こちら(Amazon Echoとラズパイで、音声で照明をon/offする)の記事を参考にしました。
アカウントを作って、デバイスを追加するだけです。
enebularにノードを足すのも同じようにサイドバーのadmin項で「node-red-contrib-alexa-home-skill」と入力して、インストールするだけです。
ノード一覧の一番下にAlexa用のノードが追加されました。
Amazon Echoの設定
私が持っているのはEcho Dotですが、どれでも一緒だと思います。
Amazon Echoとリンクしてるスマホアプリのメニューからスキルを選んで「Node-RED」で検索するとスキルが出てくるので、それを使えるようにします。
Node-RED Alexa Home Skill Bridgeで作ったアカウントでログインして、設定したデバイスを追加するだけです。
確認用のフローを作る
とりあえず、確認するために簡単なフローを作ってみます。
Alexa Homeノードの設定もNode-RED Alexa Home Skill Bridgeで作ったアカウントでログインして、設定したデバイスを追加するだけです。
設定が終わったらデプロイします。Amazon Echoと接続が完了したらノードの下に表示されているステータスがconnectedになります。
確認する
Amazon Echoに向かって、Alexaの起動コマンドとスマホアプリで設定したデバイス名+「をつけて」と言うとdebug出力に「true」とでました。
ちなみに私の設定では「コンピュータ ライトをつけて」と言うと反応します。
また、「をつけて」の部分を「をけして」にすれば「false」とでました。
意外とすぐできたので、この時点で感激でした。
照明をコントロールするためには
enebularからデバイスとと繋げないと照明をコントロールできません。
デバイスは以前の記事でも使ったNUCLEO-L432KC(Mbed)+ Multi IoT Boardを使います。我が家の照明は赤外線でコントロールできるようになっているので、Multi IoT Boardの赤外線送受信機能を使えばコントロールできると思います。
デバイスとenebular間のやりとりはMilkcocoaを使おうと思ってます。フロー的にはこんな感じ?