はじめに
我が家にも有機ELテレビがやってきました。国産メーカのテレビも、有機ELパネルはほとんどがLG製のパネルを利用しているらしく「同じパネルなら安い方がいいんじゃない?」という事でOLED 55C7Pを購入!
このLG製のテレビ、内部はwebOSというOSで動作していてWeb APIが公開されているんです。そこで、今回はLG製のテレビをNode-redから操作してみたいと思います。
やりたいこと
最終的にやりたいのは、以下のようにAmazon Alexaとスマホを使って、テレビのチャンネルやYoutube動画を切り替える事です。
1-1.(子供が)Amazon Alexaに「テレビをプリキュアにして」という
1-2.(大人が)スマホから指定のYoutube動画のボタンを押す
2.テレビのアプリをYoutubeアプリに切り替え
3.プリキュアの動画を再生
ちなみに、テレビをNode-redから操作するためには、テレビがLANに繋がっていることが前提となりますので、有線かWifiでLANに接続しておきましょう。
実現に向けた連載
やりたいことを実現するために、以下のように少しずつに記事を書いていきます(予定)。
1回目:Node-redからテレビの電源を消す
2回目:Node-redからテレビのチャンネルを変える
3回目:Node-redからYoutubeアプリを起動して動画を再生する ←この記事
4回目:スマホからテレビを操作できるようにする
5回目:Alexaから声でテレビを操作できるようにする
付録:Wake-On-LANでテレビの電源をつける
付録:Gravioで子供用プリキュアボタン
3回目:Node-redからYoutubeアプリを起動して動画を再生する
第2回目では、チャンネルリストを取得し、Node-redからテレビのチャンネルを変える事をやりました。第3回目では、テレビをYoutubeアプリに切り替え、指定の動画を再生することをやってみたいと思います。
Video IDの確認
Node-redでYoutube動画を再生するためには、VideoIDを指定して動画を再生する必要があります。まずはVideoIDを調査します。
①ViodeIDの確認
VideoIDの確認は簡単です。WebブラウザからYoutubeを開いて、テレビで再生したい動画を検索・選択して再生してください。この時、ブラウザのURL部分に記載されている「v=」のあとに指定されているのがVideoIDです。
Youtubeアプリで動画を見る
次に、調査したVideoIDを使って、Youtube動画を再生するノードを作成していきます。
①youtubeノードの追加
lgtvのパレットから、youtubeノードをドラッグして追加します。
②youtubeノードの設定
追加したyoutubeノードをダブルクリックして設定画面を開き、TV欄に第1回目で設定したテレビのIPアドレスのものを選択します。最後に「完了」ボタンを押します。
③templateノードの追加
パレットからtemplateノードをドラッグして追加します。
④templateノードの設定
追加したtemplateノードをダブルクリックして設定画面を開き、以下のように設定して「完了」ボタンを押します。
・名前:消防車 ※チャンネル名:なんでもよい
・設定先:payload
・形式:平文
・構文:なし
・テンプレート:Jkgh_P2uz-g ※上で調べたVideoID
⑤injectノードの追加とノードの接続
最後にinjectノードを追加し、injectノード→templateノード→youtubeノードの順に接続します。
⑥ノードのデプロイ
右上の「デプロイ」ボタンを押して、追加したノードをデプロイしましょう。
テスト
それでは、設定したノードを使ってテレビで動画を再生してみましょう。テレビの電源をつけて、Youtube以外に変更しておきましょう。
①トリガのボタンを押す
injectノードの左に付いているボタンを押しましょう!
②テレビがパッツ!
テレビYoutubeに切り替わり、指定の動画が再生されましたか?これで完了です。
他の動画を再生するには、同じようにtemplateノードを作成してVideoIDを指定してください。
おわりに
今回はNode-redからLG製テレビのアプリをYoutubeアプリに切り替え、動画を再生する事をやってみました。次回は、スマホからテレビを操作する簡易WebアプリをNode-redで作成してみることをやって見ようと思います。
連載記事
1回目:Node-redからテレビの電源を消す
2回目:Node-redからテレビのチャンネルを変える
3回目:Node-redからYoutubeアプリを起動して動画を再生する
4回目:スマホからテレビを操作できるようにする ←次はこれ
5回目:Alexaから声でテレビを操作できるようにする
付録:Wake-On-LANでテレビの電源をつける
付録:Gravioで子供用プリキュアボタン
関連文書
この記事は以下を参考にさせていただいています。ありがとうございます。
・WebOS TV Standard Web API
・node-red-contrib-lgtv
・npm lgtv2
・GoogleHomeからテレビ(LG製WebOS)をコントロールしてみる
コメント