ラズパイでテレビを操作する
前提
- ラズベリーパイとTVをHDMIで繋いでいる
- テレビがCECに対応している
- テレビのCEC連動をONにしている(メーカーによって呼び方が違います。東芝のレグザリンク等)
config.txtの編集
以下のコマンドでconfig.txtを開き、hdmi_force_hotplug=1
とhdmi_ignore_cec_init=1
を追記します。
sudo /boot/config.txt
hdmi_force_hotplug=1
hdmi_ignore_cec_init=1
hdmi_force_hotplug=1
はラズパイのHDMIがディスプレイ(テレビ)に接続されていない状態で起動すると、NTSC(コンポジット)に切り替わってしまうのを防ぐために、hdmi_ignore_cec_init=1
はラズパイが起動時に勝手にディスプレイ(テレビ)がONになるのを防ぐための設定です。
cec-utilsのインストール
以下のコマンドでcec-utils
をインストールします。
sudo apt install cec-utils -y
テレビの操作
基本操作
以下のコマンドでテレビの電源のOn/Off、音量の操作が出来ます。
bash:電源ON
echo 'on 0' | cec-client -s
echo 'standby 0' | cec-client -s
echo 'volup' | cec-client -s
echo 'voldown' | cec-client -s
入力切り替え
以下のコマンドで入力機器の情報を取得します。
echo "scan" | cec-client -d 1 -s
log level set to 1
opening a connection to the CEC adapter...
requesting CEC bus information ...
CEC bus information
===================
device #0: TV
address: 0.0.0.0
active source: no
vendor: Toshiba
osd string: TV
CEC version: 1.4
power status: on
language: jpn
device #1: Recorder 1
address: 2.0.0.0
active source: no
vendor: Toshiba
osd string: CECTester ← ラズベリーパイ
CEC version: 1.4
power status: on
language: eng
device #5: Audio
address: 1.0.0.0
active source: no
vendor: Onkyo
osd string: TX-NR626
CEC version: 1.4
power status: on
language: ???
device #B: Playback 3
address: 3.0.0.0
active source: no
vendor: Toshiba
osd string: Fire TV Stick
CEC version: 1.4
power status: on
language: ???
以下のコマンドで入力を切り替えます。
echo "tx ff:82:30:00" | cec-client -s
ff:82:30.00
の値の意味はff
が全ての機器から全ての機器です、一桁目は数字かf
なら何でも大丈夫です。82
は入力切り替えのです。30:00
は機器のアドレスになります。今回は上記出力結果のFire TV Stickのaddressが3.0.0.0
だったのでドットを除外して二桁ずつに分けてセミコロンをつけて30:00
になります。ラズベリーパイの場合だとaddressが2.0.0.0
なので20:00
です。私の環境ではテレビへの切り替えecho "tx ff:82:00:00" | cec-client -s
が効きませんでした。
その他のコードはこちらのサイトで確認できます。
My Accounts
Author And Source
この問題について(ラズパイでテレビを操作する), 我々は、より多くの情報をここで見つけました https://qiita.com/loach/items/481725a81a5837e4bba3著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .