什么是 IRCC-IP

IIRCC-IP(InfraRed Compatible Control over Internet Protocol,基于互联网协议的红外兼容控制)是一种通信协议,可在本地网络上通过 IP 协议模拟红外遥控器的操作。它支持基于 IP 方式执行与物理遥控器相同的操作,例如显示器电源控制、音量调节和输入源切换等。

特点

像使用遥控器一样控制

可以像使用物理遥控器一样远程控制显示器。通过IP地址单独控制,可操作多台显示器。

通信规格和安全措施

IRCC-IP通过SOAP协议以XML消息发送命令。语法清晰,易于作为HTTP POST请求实现。支持Pre-Shared Key认证,以防止未经授权的命令传输。

通过Web应用集成进行控制

通过与HTML5或Android应用集成,可将自定义UI的按钮操作即时反映到本地网络上的显示器。实现基于用户操作的灵活控制。

准备与实现指南

预先准备

  • 将 PC 和显示器连接到同一网络。
  • 支持有线LAN和无线LAN。

所需的显示设置

主机设置和电源管理

认证方式与key的设置

根据客户端的情况,在“显示器设置”中设显示器的认证方式。
操作步骤:[设置]→[网络和互联网]→[本地网络设置]→[IP 控制] →[认证]

详情请参阅此处

启用从终端远程控制显示器的设置

注册并启用要使用的终端后,即可从该终端进行显示器控制。
操作步骤:[设置]→[网络和互联网]→[远程设备设置]→[远程控制]

待机状态恢复措施

通过利用REST API可以应对此类情况。
详情请参阅此处

待机状态恢复措施

显示器意外进入待机状态后,HTTP服务器就停止运行,导致无法通过IRCC-IP进行通信。在这种情况下,需要启用Wake-on-LAN(WoL:通过网络远程启动)来恢复显示器的电源。

1.启用 Wake-on-LAN

操作步骤:[设置]→[网络和互联网]→[远程启动]


2.使用Wake-on-LAN从待机状态恢复

建议多次发送magic packet。

使用WoL Magic Packet恢复待机状态的步骤
获取 MAC 地址

通过 Chrome 的 DevTools 调用 getSystemInformation,可以确认显示器的 MAC 地址。

http://[显示器的IP地址]/sony/system

示例 HTTP请求

HTTP
POST /sony/system HTTP/1.1
Host: 192.168.0.100
Content-Type: application/json
X-Auth-PSK: 1234
{
  "method": "getSystemInformation",
  "params": [],
  "id": 1,
  "version": "1.0"
}

示例 响应

JSON
{
  "result": [{
    "macAddr": "00:11:22:33:44:55",
    ...
  }],
  "id": 1
}
获取 MAC 地址

WoL魔术数据包是一个UDP数据包,其内容为重复16次的“FF FF FF FF FF FF”+MAC地址。该数据根据显示的MAC地址生成。

创建 WoL Magic Packet
通过UDP端口9或7向网络上的目标显示器广播地址多次发送魔法数据包。多次发送有助于确保显示器稳定运行。

确认电源开启状态
在发送魔法数据包后,请等待至可通过IRCC-IP进行通信。

“普通模式”环境
开机后,必须通过setPowerStatus切换到屏幕显示状态。

“Pro模式”环境
屏幕会自动开启。

使用 IRCC-IP 执行控制
通信恢复可用后,可通过 IRCC-IP 控制电源、输入及其他功能。

客户端设置 (认证方式与通信参数的发送方法)

预共享密钥

预共享密钥(Pre-Shared Key)需作为HTTP请求的自定义标头“X-Auth-PSK”发送至IRCC-IP。

X-Auth-PSK 头部(预共享密钥:1234)

HTTP
POST /sony/IRCC HTTP/1.1
Host: 192.168.1.100:80
Content-Type: application/json
X-Auth-PSK: 1234
Content-Length: 85

基本构成和 IRCC 代码

IRCC-IP HTTP请求的控制URL如下。

http://[IP]/sony/ircc

示例 IRCC-IP HTTP 请求 (预共享密钥:1234)

HTTP
POST /sony/ircc HTTP/1.1
HOST: 192.168.0.1
Accept: */*
Content-Type: text/xml; charset=UTF-8
SOAPACTION: "urn:schemas-sony-com:service:IRCC:1#X_SendIRCC"
X-Auth-PSK: 1234
Connection: Keep-Alive
Content-Length: 313

POST /sony/ircc
IRCC-IP 控制的端点(固定 URL)

HOST: 192.168.0.1
显示器的 IP 地址

SOAPACTION
要执行的 IRCC-IP 操作(示例:X_SendIRCC)

X-Auth-PSK: 1234
用于认证的预共享密钥(Pre-Shared Key),必须与显示器设置值一致。

按键与 IRCC 代码

以下信息也可以通过REST API调用”getRemoteControllerInfo”获取。

KeyIRCC Code (Base64 Encoded)
PowerAAAAAQAAAAEAAAAVAw==
InputAAAAAQAAAAEAAAAlAw==
SyncMenuAAAAAgAAABoAAABYAw==
Hdmi1AAAAAgAAABoAAABaAw==
Hdmi2AAAAAgAAABoAAABbAw==
Hdmi3AAAAAgAAABoAAABcAw==
Hdmi4AAAAAgAAABoAAABdAw==
Num1AAAAAQAAAAEAAAAAAw==
Num2AAAAAQAAAAEAAAABAw==
Num3AAAAAQAAAAEAAAACAw==
Num4AAAAAQAAAAEAAAADAw==
Num5AAAAAQAAAAEAAAAEAw==
Num6AAAAAQAAAAEAAAAFAw==
Num7AAAAAQAAAAEAAAAGAw==
Num8AAAAAQAAAAEAAAAHAw==
Num9AAAAAQAAAAEAAAAIAw==
Num0AAAAAQAAAAEAAAAJAw==
Dot(.)AAAAAgAAAJcAAAAdAw==
CCAAAAAgAAAJcAAAAoAw==
RedAAAAAgAAAJcAAAAlAw==
GreenAAAAAgAAAJcAAAAmAw==
YellowAAAAAgAAAJcAAAAnAw==
BlueAAAAAgAAAJcAAAAkAw==
UpAAAAAQAAAAEAAAB0Aw==
DownAAAAAQAAAAEAAAB1Aw==
RightAAAAAQAAAAEAAAAzAw==
LeftAAAAAQAAAAEAAAA0Aw==
ConfirmAAAAAQAAAAEAAABlAw==
HelpAAAAAgAAAMQAAABNAw==
DisplayAAAAAQAAAAEAAAA6Aw==
OptionsAAAAAgAAAJcAAAA2Aw==
BackAAAAAgAAAJcAAAAjAw==
HomeAAAAAQAAAAEAAABgAw==
VolumeUpAAAAAQAAAAEAAAASAw==
VolumeDownAAAAAQAAAAEAAAATAw==
MuteAAAAAQAAAAEAAAAUAw==
AudioAAAAAQAAAAEAAAAXAw==
ChannelUpAAAAAQAAAAEAAAAQAw==
ChannelDownAAAAAQAAAAEAAAARAw==
PlayAAAAAgAAAJcAAAAaAw==
PauseAAAAAgAAAJcAAAAZAw==
StopAAAAAgAAAJcAAAAYAw==
FlashPlusAAAAAgAAAJcAAAB4Aw==
FlashMinusAAAAAgAAAJcAAAB5Aw==
PrevAAAAAgAAAJcAAAA8Aw==
NextAAAAAgAAAJcAAAA9Aw==