どの家庭でも居間にある「家電の王様」といえばテレビだろう。しかしスマートホームの文脈でテレビを操作する場合、メーカー製のスマートフォンアプリか、赤外線信号を学習して複数の機器のリモコンを1台で操作可能にするスマート赤外線リモコン(赤外線学習リモコン)を使うしかない。

 スマートフォンアプリで操作可能なテレビは増えている。アプリでローカルネットワーク上のテレビを操作できるということは、どのメーカーであれ通信インターフェースがあるはずだ。ところが通信仕様は一般に公開されておらず、第三者がテレビを操作するサービスを作ることはできない。

 こういった事情もありテレビを遠隔操作する手段として、赤外線学習リモコンを使うしかないのが実情だ。ところが赤外線学習リモコンには大きな問題がある。操作対象のテレビの状態を知ることができない点だ。「テレビの電源が今、ついているのか消えているのか」「音量はどの程度か」といった情報を取得できない。とりわけ赤外線方式でテレビを制御する際に困るのが、電源のON/OFFだ。テレビのリモコンの電源ボタンはトグル方式を採用している。つまり電源ボタンを操作する際にONであればOFFにし、OFFであればONにする。電源の状態が分からないと、テレビをつけたいのに消してしまう、またはその逆が起こり得てしまう。テレビの目の前で操作するのであれば何も問題はないが、遠隔で制御したい場合は非常に困るだろう。

 家庭向けのテレビであれば遠隔でテレビを操作したり状態を把握したりする必要性はほとんどないと思うが、業務用途となるとそうはいかない。会議室やデジタルサイネージなどに使われるテレビ機器の場合は遠隔でテレビの状態を把握し、操作するニーズは大きいだろう。そこで遠隔操作用の通信プロトコルが一般公開されている、ソニーのテレビ「BRAVIA」の法人向けモデルを簡単に紹介しよう。

3つの通信プロトコルで制御

 ソニーが開発者向けに情報を公開している「BRAVIA Professional Display Knowledge Center」では、BRAVIA法人向けモデルの通信プロトコルの詳細を見ることが可能だ。通信プロトコルは大きく分けて3つある。

 まずは「IP Control REST API」だ。名前の通りHTTPリクエストをBRAVIAに送ることで結果が得られる仕組みだ。このAPIが最も柔軟で、BRAVIAから情報を得たり、状態を変更したりすることが可能だ。ただし多くの機能は利用者の認可が必要となるが、その認可の仕組みは筆者が見る限り公開されておらず、このAPIの用途は限定的にならざるを得ない。

 2つめの通信プロトコルは「Simple IP Control」と呼ばれるものだ。これはTCP上でバイナリーデータをやり取りする。データフォーマットはいたってシンプルなので、通信プログラミングの経験があれば簡単にBRAVIAを操作するアプリケーションを開発可能だ。Simple IP Controlはデフォルトでオフになっているため、BRAVIAが搭載している「Android TV」機能の設定画面で「簡易IPコントロール」を有効にする必要がある(写真1)。

写真1●簡易IPコントロールの設定画面
[画像のクリックで拡大表示]

 Simple IP Controlでは電源状態、音量、消音、外部入力などの状態取得や状態変更が可能だ。赤外線リモコンと同等の機能を通信で行うこともできる。Simple IP Controlでとても興味深いのはイベント情報を取り出せる点だ。所定のTCPポート番号で接続しておけば、BRAVIAの電源状態、外部入力、音量、消音などの状態が変化すると、イベント情報を載せたパケットを送信してくれる。

この先は有料会員の登録が必要です。「日経SYSTEMS」定期購読者もログインしてお読みいただけます。今なら有料会員(月額プラン)が12月末まで無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら