【Raspberry Pi】Raspberry Piでテレビを動かしてみる~まずはON・OFFのみ~
はじめに
こんにちは、がんがんです。
以前研究室に来られた方が「Raspberry Piからテレビを操作できる」という話をされていました。
気になって調べてみるとHDMI接続したテレビであればcec-client
という技術で動かすことが可能なようです。
Chromecastを買ったことにより「OK, Google!」でテレビのON・OFFはできるものの、
別のチャンネルに切り替えられませんでした。
すべてのパターンの赤外線でどうにかするしか…と思っていたので、CEC
を知ることが出来たのはよかったです。
今回は実際に調査して、実験したときの備忘録になります。
目的
- ラズパイでテレビを操作したい(今回のメイン)
- 「OK, Google」でテレビの操作をしたい(次回のメイン)
STEP1 cec-clientのインストール
まずはcec-client
のインストールを行います。
コマンドは以下の通りです(git
とvim
はすでに入ってますが、一応です)
$ sudo apt-get update $ sudo apt-get upgrade -y $ sudo apt-get install git vim cec-utils -y
STEP2 node.jsとnpmをインストール
後々のことを考え、こちらを参考にnode.js
をインストールしておきます。
今回はLTS版をインストールしましたが、sudo n stable
でも大丈夫みたいです。
sudo apt-get update sudo apt-get install -y nodejs npm sudo npm cache clean sudo npm install npm n -g sudo n lts
それぞれのバージョンはこんな感じでした。
$ node -v v8.11.1 $ npm -v 6.4.1
STEP3 動作確認
インストールが完了したので早速動かします。
実際はすぐに動きませんでしたけど、いろいろいじってたらどうにかなりました。
電源のONは
echo "on 0" | cec-client -s
で行えます。
電源のOFFは
echo "standby 0" | cec-client -s
で行えます。
試しに画面を消してみます。コマンドを入力し…
きちんと電源がOFFになってます!
これでチャンネル操作とかを追加していけます。
コマンド一覧(メモ)
自分用のメモなので、使ったやつは随時追加していきます。
ヘルプの表示
cec-client -h
電源のOFF
echo "standby 0" | cec-client -s
電源ONと同様にstandby 0
でも可。
電源状態の確認
echo "pow 0" | cec-client -s
テレビからの信号を確認したりする
-m
があることで、モニタモードになります。
cec-client -m -d 8 -b -r
メモ:エラーの対処
はじめは全然接続が出来ず、いろいろ解決策を探していました。
その時に見つけた記事です。
Chrome Cast
が普通に動作していたので、
今回は大丈夫でしたがまたエラったときのために残しておきます。
miya15.hatenablog.com
まとめ
今回はHDMI接続したRaspberry PiからテレビのON・OFF操作を行いました。
次はNode.jsなどを用いてWeb上から操作できるようにしていきます。最終的には「OK,Google」でいけるように頑張ります。