やりたいこと
Node-redでスマートハウス-LG製テレビを操作してみるでは、Amazon AlexaとNode-redを使って、音声コマンドでテレビを操作できるようになりました。
ただ、下の2歳の子供は「アレクサ、テレビをプリキュアにして」が言えないのです。なので今回は、2歳の子供でもテレビのアプリをyoutubeにして、プリキュアの動画を再生できる「プリキュアボタン」を作りたいと思います。
1-1.(子供が)Amazon Alexaに「テレビをプリキュアにして」という
1-2.(大人が)スマホから指定のYoutube動画のボタンを押す
1-3.(子供が)壁のプリキュアボタンを押す
2.テレビのアプリをYoutubeアプリに切り替え
3.プリキュアの動画を再生
プリキュアボタンを作る
今回は、家の壁に設置したボタンを押すと、テレビのアプリをYoutubeに切り替え、プリキュアの動画が流れる「プリキュアボタン」を作りたいと思います。
プリキュアボタンの実現にあたっては、月々500円で4つのセンサーをレンタルでき、直感的なGUI画面で簡単にIoTを試してみれるGravioを使ってみました。GravioのインストールなどはGravioのインストール方法を参考にしてください。今回は、RasPiにUSBスティック型のセンサー受信機を指してGravio Serverにしています。
ボタンセンサーのセットアップ
Gravioのボタンセンサーを利用するために、ボタンセンサーをセットアップします。
①Gravio Serverの選択
Gravio StudioをインストールしたWindows10パソコンでGravio Studioを起動し、Gravio ServerをインストールしたRasPiをダブルクリックして選択します。
②ボタンセンサーの追加
次に「Area 1」→「スイッチ」と選択し、画面右上の「ポート」のイメージのアイコンを押します。
③USB受信機の選択
RasPiに刺したUSB受信機のデバイスが表示されますので、デバイスの右にある「>」を押します。
④ペアリングの開始
「ペアリングモード開始」のボタンがある画面が表示されますので、このボタンを押します。
するとカウントダウンが始まりますが、このカウントダウンの最中に、ボタンデバイスの側面についているリセットボタンのような小さなボタンを押します。
1秒おきぐらいに、何度か押していると、画面上に「Lumi Remote」というものが表示されます。「Lumi Remote」が表示されたら右上の「✖️」ボタンで画面を閉じます。
このペアリング作業がGravioを使う上で、最もコツがいる作業です。「Lumi Remote」が表示されない場合は、何度か繰り返してみてください、成功率は60%ぐらいです。コツはリセットボタンを1秒おき間隔で、繰り返し押すということです。ちなみに、リセットボタンを押すと小さなLEDが光りますので、LEDが光らなかったら電池切れの可能性もあります。
⑤データビューアの表示
ペアリングがうまくいったら、画面下にある「データビューア」のアイコンを押します。
⑥ボタンセンサーの動作確認
画面右上の「Live」ボタンを押して、リアルタイムにログが見えるようにします。
この状態で、ボタンセンサーのボタンを押してみましょう。リセットボタンではなく、大きなボタンの方です。
すると、画面にボタンセンサーが押された旨のログが表示されていきます。
このように、ログが表示されれば、センサーと受信機のセットアップは完了です。
アクションの設定
次に、ボタンが押された時のアクションを設定します。
①アクション画面の表示
Gravioでは、アクションの実行もGravio Server上(今回はRasPi)で行われます。このため、Gravio Serverのアイコンを一回クリックして選択すると表示される「アクションの編集」ボタンを押します。ちなみにこのボタン、Mac版のGravio Studioでは出てこないです。
②アクションの追加
アクションが1つもないので、空白の画面が表示されます。右上の「+」のアイコンを押してアクションを追加します。
アクションが追加されると、緑色のアクションが表示されます。このアクションをダブルクリックして開きます。
③アクションの定義
分かりにくいですが、画面左上の「Action1」と表示されている部分をクリックすると、アクション名を入力できるので、アクション名を変更しましょう。また「+」の部分を押すとコンポーネントを追加できます。
④コンポーネントの選択
追加可能なコンポーネントの一覧が表示されるので、今回は「HTTP Post」を選択し「選択」ボタンを押します。
⑤HTTP Postの設定
追加したHTTP Postを選択し、画面左下のエリアから「プロパティ」を選択します。次に、右の画面エリア内のURL欄に、Node-redでスマートハウス-LG製テレビを操作してみるの第4回で作成した、好みの動画のURLを記入します。
⑥動作確認
画面右上の「>」ボタンを押して、正しくテレビがプリキュアに変わる事を確認します。
ちなみに、「>」ボタンを押すと、画面下にデバック画面が表示され、エラーなどが確認できます。
うまくいったら、画面左上の「<」ボタンで戻ります。
センサーとアクションの関連付け
次に、ボタンが押されるとアクションが動作するようにボタンセンサーとアクションの紐づけを行います。
①Gravio Serverの選択
サーバ一覧の画面から、RasPiをダブルクリックして選択します。
②トリガー画面の表示
画面下にある「トリガー」のアイコンを押し、トリガーの設定画面を表示させます。
③トリガーの追加
トリガ画面の右上の「+」ボタンを押し、トリガの追加画面を出します。
次に、以下のようにトリガを設定し「保存」ボタンを押します。
エリア:Area 1
レイヤー:スイッチ
アクション名:プリキュアボタン
④トリガーのOn
追加したトリガーの右側にあるスイッチをクリックし「On」にします。
テスト
それでは、早速ちゃんと動作するか確認してみましょう。
①ボタンセンサーのボタンを押す
ボタンセンサーのボタンを押してみましょう!テレビがプリキュアになりましたか?
連載記事
1回目:Node-redからテレビの電源を消す
2回目:Node-redからテレビのチャンネルを変える
3回目:Node-redからYoutubeアプリを起動して動画を再生する
4回目:スマホからテレビを操作できるようにする
5回目:Alexaから声でテレビを操作できるようにする
付録:Wake-On-LANでテレビの電源をつける
コメント