REST API 基本使用方法与设置
事先准备
显示器和红外控制器

准备好你购买的显示器和遥控器
本地网络连接

连接到同一网络。支持有线LAN和无线LAN。
记录显示器的IP地址以便参考。
操作步骤:[设置] → [网络和互联网] → [本地网络设置]
使用方法
入门指南
使用display_control.html的试用方法
本节说明如何在PC的Web浏览器中使用display_control.html发送IP控制命令。
1. 试用所需显示器设置
确认并记录显示器的IP地址。
操作步骤:[設定] → [网络和互联网] → [本地网络设置]
在 [验证] 中启用 [预共享密钥] 并将预共享密钥设置为 “1234”
操作步骤:[设置] → [网络和互联网] → [本地网络设置] → IP控制] → [验证]
详情请参阅此处。
切换到 HDMI 1 输入
使用遥控器的 [输入切换] 选择 [HDMI 1]。
为了顺利进行试用,以下说明均以 [HDMI 1] 为前提。
2. 控制执行
在PC浏览器中打开display_control.html并输入以下内容:
Display IP:已记录的显示器IP地址
PSK:Pre-Shared Key(显示器中临时设置的1234)


在[Input]字段中选择[HDMI 2]并点击[Go]。显示器输入从HDMI 1切换到HDMI 2。


试用中的JSON-RPC通信示例
显示器和PC之间交换了以下JSON-RPC格式的请求和响应。
请求(PC → 显示器)
POST /sony/avContent HTTP/1.1
HOST: 192.168.0.1
X-Auth-PSK: 1234
Content-Type: application/json; charset=UTF-8
{ method: "setPlayContent",
version: "1.0", id: 1,
params: [{uri: "extInput:hdmi?port=2"}]
}响应(显示器 → PC)
// HTTP 200
OK { "result":,
"id": 1
}如何使用Chrome DevTools进行试用
除了display_control.html,还可以使用Google Chrome DevTools,按以下javascript示例发送REST API命令。
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://192.168.0.1/sony/avContent');
xhr.setRequestHeader('X-Auth-PSK', '1234');
xhr.send(JSON.stringify(
{method: "setPlayContent",
version: "1.0",
id: 1,
params: [{uri: "extInput:hdmi?port=2"}]}
));使用REST API所需的显示器设置
待机状态恢复措施
如果显示器意外进入待机状态,HTTP 服务器将停止,REST API 通信将不可用。在这种情况下,需要启用 Wake-on-LAN(WoL:通过网络远程启动)来恢复显示器电源。
1.启用 Wake-on-LAN
操作步骤:[设置]→[网络和互联网]→[远程控制]
2.使用Wake-on-LAN从待机状态恢复
建议多次发送magic packet。
查看使用WoL魔术数据包恢复待机状态的步骤
获取 MAC 地址
WoL magic packet必须发送到目标设备的MAC地址。调用getSystemInformation获取显示器的MAC地址。
创建 WoL Magic Packet
WoL魔术数据包是一个UDP数据包,其内容为重复16次的“FF FF FF FF FF FF”+MAC地址。该数据根据显示的MAC地址生成。
发送 Magic Packet
通过UDP端口9或7向网络上的目标显示器广播地址多次发送魔法数据包。多次发送有助于确保显示器稳定运行。
确认电源开启状态
发送 Magic Packet 后,等待 REST API 通信恢复可用。
“普通模式”环境
电源开启后,需要进一步调用 setPowerStatus 切换到屏幕显示状态。
“Pro模式”环境
屏幕会自动开启。
使用 REST API 执行控制
通信恢复可用后,可通过 REST API 控制电源、输入及其他功能。
预共享密钥
预共享密钥(Pre-Shared Key)必须作为HTTP请求中的自定义标头”X-Auth-PSK”发送到REST API。
X-Auth-PSK 头部(预共享密钥:1234)
httpPOST /sony/system HTTP/1.1
Host: 192.168.1.100:80
Content-Type: application/json
X-Auth-PSK: 1234
Content-Length: 65