こちらの記事の応用編になります。
以前、BrightSignのBrightControl(HDMI CEC)でモニタの電源制御を行う記事を書きましたが、時を経て色々改善点が見られました。第一に、コントロール部分と本来画面表示を行うゾーン(レイヤ階層)を分ける事、次に複数の機器に対して統一コマンドを作成する事、これらを盛り込みました。
※BrightSignを使用し、複数のゾーンに跨った制御を行い、GUI表示をしつつシーケンサとして扱う事例はいくつか経験があります。何でも出来るように見えてツリー型スクリプトは制約事項がかなり多いのです。
まず、制御部分だけを別ゾーン化するやり方ですが、制御しているのかしていないのか分からないと問題ですので透過PNGで画面にオーバレイさせます。
(オーバーレイだけではログが残りませんので、UDPコマンドも同時にキャストさせます。)
BrightSignでのアルファチャンネルキーイングはこちらで紹介しています。
想像合成図
実際の構成。制御(インタラクティブ)と分けることにより、ノンインタラクティブでも表示が可能
レイアウト参考図
続いて制御コマンドを設定します。
複数台に対して同一コマンドで電源オンオフが可能な条件
・RS232C(シリアル)制御においてボーレートその他が同一
・HDMI CEC制御が可能
※シリアル通信の仕様が同一である事はほぼ運ですのでできない場合はできないとあきらめましょう。(HDBaseT経由だとボーレート固定になるケースもある。※ソニーはDE-9コネクタだと38400bps固定だが、HDBaseT on RS232Cだと9600bps固定)
※HDMI CECは1:1が条件ですので、HDMI分配器を使用して同一の画を複数台のモニタやビデオプロジェクタに表示させる場合はHDMI CEC制御はあきらめてください。
HDMI CECは近年はビデオプロジェクタでも対応しているのですね・・・これは驚きました。機器の仕様の確認は大事ですね。適当に例を紹介します
HDMI CEC制御の説明例1。パナソニックのビデオプロジェクタはなんとHDMI CEC対応!!
HDMI CEC制御の説明例2。NECのサイネージ用モニタ。CECをオンにすると省電力待機設定(コールド時にコマンド受け付ける為には解除する必要がある)が連動してオフになる機種もあったので要検証
実際の設定例1。外部制御をRS232Cへ
実際の設定例2。HDMI CECをオンへ
コマンドも出揃い、なんとかなりそうだと目処が付きましたので制御コマンドを作成します。今回、起動トリガはUDPコマンドとしましょう。
UDPコマンドで各BrightSignが各々の制御を行う
制御プログラムに正解は無く、安定して動けば何でもよい。(10の苦労話より100の安定が大切)上記は作例
コマンド作例
UDPコマンドで各BrightSignへ制御開始を指示し、その返答もUDPで行う設定にしました。
制御はHDMI CECを優先とし、その後各機器のRS232Cコマンドを一定のインターバルを開けて送信する設定にしました。このインターバルは要実機検証が必要で本来合致していないコマンドを機器が受け取った際の挙動を観測する必要があります。(無効時はすぐコマンドを受け付けない仕様がまれにある)
この方式で実際に3機種のモニタとビデオプロジェクタを対象とした制御が可能でした。
最初に書きましたようにメリットとしては、この機器を制御しているBrightSignにはこのプロジェクトファイルを、こっちにはこれを・・・と悩まなくて良い事です。
もっとコマンドを増やして、対イベント貸し出し用統一プロジェクトファイル・・・なんかも可能ですね。
本記事がどなたかの参考になれば幸いです。