ホーム » 「HDMI」タグがついた投稿

タグアーカイブ: HDMI

システム

最近の投稿

アーカイブ

カテゴリー

cec-clientのデバイス番号とアドレス番号

自宅では、テレビやケーブルテレビチューナーやレコーダを赤外線リモコンで制御できるようにしているが、電源はトグル動作でON→OFFかOFF→ONという制御ができない。そこで、HDMI端子経由のチャンネル制御を行っている。

この際に、デバイス番号とcecのアドレス番号を使うが、デバイス番号が時々変化している。

しかたがないので、cecのscan処理でデバイス番号とアドレス番号の対応情報を保存するようにしてみた。

#!/usr/bin/perl

my $cec = "/usr/bin/cec-client -d 1 -s" ;

open( my $fd , "/bin/echo 'scan' | $cec |" )
    || die( "Can't open $cec\n" ) ;
open( my $ft , "> /home/xxxxxxxx/lib/cec-table.sh" )
    || die( "Can't open cec-table.sh\n" ) ;

my $device  = "" ;
my $dev_str = "" ;
my $address = "" ;
my $osd_str = "" ;

print $ft "#!/bin/bash\n" ;

while( my $line = <$fd> ) {
    if ( $line =~ /^device\s+#(\d+):\s+(.*?)$/ ) {
        $device  = $1 ;
        $dev_str = $2 ;
    } elsif ( $line =~ /^address:\s+(\d+)\.0\.0\.0$/ ) {
        $address = $1 ;
    } elsif ( $line =~ /^osd\s+string:\s+(.*?)$/ ) {
        $osd_str = $1 ;

        print $ft "DEV[$address]=$device\n" ;
        print $ft "OSD[$address]=\"$osd_str\"\n" ;
    }
}
close( $fd ) ;
close( $ft ) ;

Google 検索

My Google   Yahoo

Microsoft

ファンサイト