簡易IPコントロールとは

簡易IPコントロールは、ディスプレイをローカルネットワーク上で制御するためのシンプルな通信プロトコルです。CIS (Custom Installation Services) やAV 器機制御システムに精通している開発者向けに設計しています。 コントロールリスニングポートはディスプレイの TCP20060 です。 24バイトの固定サイズデータで、多くのコマンドをサポートしています。

主な特長

高信頼のTCP通信

TCPを用いた通信により、コマンドの送受信を行います。

効率的なコマンド形式

SSIP(ブラビア プロフェッショナルディスプレイ独自プロトコル)で、高速化と安定性を実現しています。

専門技術者向けの設計

CISや商用AV機器制御システムのニーズに応え、柔軟かつ拡張性のある設計です。

準備と実装ガイド

事前準備

事前準備のイメージ
  • PCとディスプレイを同一ネットワークに接続する
  • 有線LAN/無線LANいずれも対応

必要なディスプレイ設定

必要なディスプレイ設定

リモートデバイス制御を有効にする

操作手順:[設定]→[ネットワークとインターネット]→[モバイル機器設定]→[リモートコントロール機能]


簡易IPコントロールを有効にする

操作手順:[設定]→[ネットワークとインターネット]→[ホームネットワーク]→[IPコントロール]→[簡易IPコントロール]

注意
EU販売モデルには、RED-DA対応より3種類の仕様があります。仕様ごとに設定や使用可能なコマンドが異なります。
詳細はEUエリア販売モデルの[IPコントロール]を参照してください。

Linuxからディスプレイを制御する方法(netcat使用)

プロトコルのデータフォーマットは 24 バイトの固定サイズデータです。以下は、Linux で netcat コマンドを使用した簡単な例です。TCP データを送信し、ディスプレイと簡単に通信できます。

例:Linux上のnetcat コマンドでディスプレイと通信

ディスプレイに接続

ディスプレイのIPアドレスとTCPポート20060に接続し、コマンドを直接送信できる状態にします。

$ netcat [IP address] 20060
電源OFFの操作の場合

コマンド要求
24バイトの固定長になっており、以下のような構造をしています。

*SCPOWRO000000000000000

レスポンス(戻り値)

*SAPOWR0000000000000000
*SNPOWR0000000000000000

各部の意味
SAPOWR… Power Off コマンドを受け付けています。
SNPOWR… 現在の電源状態はOFFです。

データフォーマット

簡易 IP コントロールで使用されるメッセージは、1通のコマンドが24バイトで構成される固定長データです。メッセージは以下の5つの部分で構成されています。

バイトオフセット種類バイト長値
0-1ヘッダー2Byte[0] 0x2A [*]: (固定値)
Byte[1] 0x53 [S]: (固定値)
2メッセージの種類10x43 [C]: Control
0x45 [E]: Enquiry
0x41 [A]: Answer
0x4E [N]: Notify
3-6コマンド4
7-22パラメータ16
23フッター10x0A [LF]: (固定値)

ヘッダー

メッセージの先頭には、メッセージであることを識別する固定ヘッダー (0x2A 0x53) が必要です。


フッター

各メッセージにはメッセージの終わりを識別する固定フッター (0x0A) があります。


メッセージの種類

メッセージの種類値メッセージの方向説明
Control0x43 [C]クライアントからディスプレイディスプレイ上の値を制御または変更するために使用。
応答メッセージは返信に使用されます。
Enquiry0x45 [E]クライアントからディスプレイディスプレイ上の値を制御または変更するために使用。
応答メッセージは返信に使用されます。
Answer0x41 [A]ディスプレイからクライアントディスプレイからクライアントに
返信するために使用。
Notify0x4E [N]ディスプレイからクライアントディスプレイからクライアントに
イベントを送信するために使用。

コマンド定義

各コマンドは、Four-CC 形式で表された 4 つの ASCII 文字で識別され、パラメーターを持ちます。

各メッセージタイプの共通パラメータ

以下の表は、共通のパラメーター定義を示しています。

メッセージ
タイプ
(Byte[2])
パラメータ
(Byte[7] – Byte[22])
説明
C################パラメータなしの
制御に使用されます。
例)トグル機能
E################パラメーターなしの
問い合わせに
使用されます
A0000000000000000成功時の応答
例)制御結果
AFFFFFFFFFFFFFFFFエラー時の応答
例)無効なパラメータ

簡易 IP コントロールコマンド

コマンド名メッセージ
タイプ
(Byte[2])
FourCC
(Byte[3]
– Byte[6])
パラメータ
(Byte[7] – Byte[22])
説明
setIrccCodeCIRCCXXXXXXXXXXXXXXXXリモコンの
IRコマンドなどの
コードを送信します。
詳細は IR コマンド を参照してください。
 A    0000000000000000成功
 A    FFFFFFFFFFFFFFFFエラー
setPowerStatusCPOWR0000000000000000スタンバイ(オフ)
 C    0000000000000001アクティブ(オン)
 A    0000000000000000成功
 A    FFFFFFFFFFFFFFFFエラー
getPowerStatusEPOWR################ 
 A    0000000000000000スタンバイ(オフ)
 A    0000000000000001アクティブ(オン)
 A    FFFFFFFFFFFFFFFFエラー
togglePowerStatusCTPOW################電源状態を切り替えます
 A    0000000000000000成功
 A    FFFFFFFFFFFFFFFFエラー
setAudioVolumeCVOLUXXXXXXXXXXXXXXXXボリューム値を
右詰めの10進数で
指定し、前を「0」で
埋めてください。
例)0000000000000029
 A    0000000000000000成功
 A    FFFFFFFFFFFFFFFFエラー
getAudioVolumeEVOLU################音量値を取得します
 A    XXXXXXXXXXXXXXXXボリューム値が成功
 A    FFFFFFFFFFFFFFFFエラー
setAudioMuteCAMUT0000000000000000ミュートを解除
 C    0000000000000001ミュート
 A    0000000000000000成功
 A    FFFFFFFFFFFFFFFFエラー
getAudioMuteEAMUT################音声ミュート状態を取得します
 A    0000000000000000ミュートしていない
 A    0000000000000001ミュートしている
 A    FFFFFFFFFFFFFFFFエラー
setInputCINPT000000010000XXXX入力をHDMI(1〜9999)に
変更します
 C    000000030000XXXX入力をコンポジット
(1〜9999)に変更します。
 C    000000040000XXXX入力をコンポーネント
(1〜9999)に変更します。
 C    000000050000XXXX入力を
スクリーンミラーリング
(1〜9999)に変更します
 A    NNNNNNNNNNNNNNNN見つかりません
 A    0000000000000000成功
 A    FFFFFFFFFFFFFFFFエラー
getInputEINPT################現在の入力を取得
 A    000000010000XXXXHDMI (1〜9999)
 A    000000030000XXXXコンポジット (1〜9999)
 A    000000040000XXXXコンポーネント (1〜9999)
 A    000000050000XXXXスクリーンミラーリング (1〜9999)
setPictureMuteCPMUT0000000000000000画像ミュート状態を
無効にします
 C    0000000000000001画面を黒くします(画像ミュート)。
 A    0000000000000000成功
 A    FFFFFFFFFFFFFFFFエラー
getPictureMuteEPMUT################画像ミュートが
有効になっているか
どうかを確認
 A    0000000000000000無効(画像ミュートオフ)
 A    0000000000000001有効(画像ミュートオン)
 A    FFFFFFFFFFFFFFFFエラー
togglePictureMuteCTPMU################画像モードを切り替えます
 A    0000000000000000成功
 A    FFFFFFFFFFFFFFFFエラー
setSceneSetting
BZ40P/BZ35P/BZ30Pは非対応です。
CSCENXXXXXXXXXXXXXXXXシーン設定を変更します。
— auto
— auto24pSync
— general
パラメータ文字列は
大文字と小文字が
区別され、右側に
“#”が埋め込まれます。
例) auto24pSync#####
 A    0000000000000000成功
 A    NNNNNNNNNNNNNNNN現在の入力には使用できません
 A    FFFFFFFFFFFFFFFFエラー
getSceneSetting
BZ40P/BZ35P/BZ30Pは非対応です。
ESCEN################現在のシーン設定を取得します
 A    XXXXXXXXXXXXXXXXシーン設定値で成功
 A    NNNNNNNNNNNNNNNN現在の入力には使用できません
 A    FFFFFFFFFFFFFFFFエラー
firePowerChangeNPOWR0000000000000000電源を切ったときに送信されます
 N    0000000000000001電源投入時に送信されます
fireInputChangeNINPT0000000000000000ディスプレイへの
入力変更が発生したときに
送信されます
 N    000000010000XXXXHDMI (1–­9999)
 N    000000030000XXXXコンポジット (1–­9999)
 N    000000040000XXXXコンポーネント (1–­9999)
 N    000000050000XXXXスクリーンミラーリング (1­­­〜9999)
fireVolumeChangeNVOLUXXXXXXXXXXXXXXXX音量変更時に
送信されます
fireMuteChangeNAMUT0000000000000000ミュート解除時に
送信
 N    0000000000000001ミュート時に送信
firePicture
MuteChange
NPMUT0000000000000000画像ミュートが
無効になっている
ときに
送信されます
 N    0000000000000001画像ミュートが
有効になっている
ときに
送信されます
getBroadcastAddress*EBADReth0############指定された
インタフェースの
ブロードキャストIPv4アドレスを
取得します
 A    192.168.0.14####左詰めで
ブロードキャストアドレスを
指定し、
後ろを「#」で
埋めてください。
 A    FFFFFFFFFFFFFFFFエラー
getMacAddress*EMADReth0############指定した
インタフェースの
MACアドレスを
取得します
 A    XXXXXXXXXXXX####左詰めで
MACアドレスを指定し、
後ろを「#」で
埋めてください。
 A    FFFFFFFFFFFFFFFFエラー

*EU販売モデル: 認証方式を選択できないモデルは利用できません。
[ホーム] 設定 > ネットワークとインターネット > ローカルネットワーク > IPコントロール 内に当該表示の有無を確認ください。


IR コマンド

IR コマンドの送信は、上記で定義された setIrccCode でサポートされています。 サポートされているコードとそのパラメータは以下に定義されています。

IRコマンドパラメータ (Byte[7] – Byte[22])
Display0000000000000005
Home0000000000000006
Options0000000000000007
Return0000000000000008
Up0000000000000009
Down0000000000000010
Right0000000000000011
Left0000000000000012
Confirm0000000000000013
Red0000000000000014
Green0000000000000015
Yellow0000000000000016
Blue0000000000000017
Num10000000000000018
Num20000000000000019
Num30000000000000020
Num40000000000000021
Num50000000000000022
Num60000000000000023
Num70000000000000024
Num80000000000000025
Num90000000000000026
Num00000000000000027
Volume Up0000000000000030
Volume Down0000000000000031
Mute0000000000000032
Channel Up0000000000000033
Channel Down0000000000000034
Subtitle0000000000000035
DOT0000000000000038
Picture Off0000000000000050
Wide0000000000000061
Jump0000000000000062
Sync Menu0000000000000076
Forward0000000000000077
Play0000000000000078
Rewind0000000000000079
Prev0000000000000080
Stop0000000000000081
Next0000000000000082
Pause0000000000000084
Flash Plus0000000000000086
Flash Minus0000000000000087
TV Power0000000000000098
Audio0000000000000099
Input0000000000000101
Sleep0000000000000104
Sleep Timer0000000000000105
Video 20000000000000108
Picture Mode0000000000000110
Demo Surround0000000000000121
HDMI 10000000000000124
HDMI 20000000000000125
HDMI 30000000000000126
HDMI 40000000000000127
Action Menu0000000000000129
Help0000000000000130