B.2 Event Master series processor JSON RPC 远程控制

综述

JSON(JavaScript 对象表示法)是一种用于交换数据的轻量级格式。它基于 JavaScript 语言子集:对象在 JavaScript 中的构建方式。

JSON 介绍

JSON 基于两种结构:

以下是 JSON 数据示例:

{
     "firstName": "John",
     "lastName": "Smith",
     "address": {
         "streetAddress": "21 2nd Street",
         "city": "New York",
         "state": "NY",
         "postalCode": 10021
     },
     "phoneNumbers": [
         "212 555-1234",
         "646 555-4567"
     ]
 }
JSON 如何与 Event Master 处理器交互

JSON 使用 JSON RPC(基于 REST)与 Event Master 处理器(如 E2、S3-4K 和 EX)进行交互。JSON-RPC 是以 JSON 编码的远程过程调用协议。

JSON-RPC 通过向实现此协议的服务器发送请求来运行。在这种情况下,客户端通常是计划用于调用远程系统的单个方法的软件。可将多个输入参数作为数组或对象传递给远程方法,而方法本身也可以返回多个输出数据。

定义了 JSON RPC 以在 Event Master 处理器上执行任务。用户需要通过其应用程序或开源应用程序发送 JSON 请求。

这些应用程序应在运行 Event Master 处理器的 IP 和固定端口 9999 发送请求( Event Master 处理器的 Webserver 端口 9999 上运行)。

从 Web 应用程序使用 JSON

要从 Web 应用程序使用 JSON API,请在菜单导航栏选择设置图标,然后从 Web 应用仪表板选择JSONRPC API

图像 B–1 从 Web 应用程序使用 JSON
JSON API

以下是为控制 Event Master 处理器定义的部分 JSON API。如果您已设置了一台主要/从属 Event Master,则必须向主要设备发送 JSON。此节阐释了 RPC 调用中传递或调用的参数,对所有请求适用。如果 参数 对象为空,即表示 API 不需要参数。

备注: 请求去请求区分大小写。

allTrans

cut

resetFrameSettings

powerStatus

listPresets

listDestinationsForPreset

savePreset

renamePreset

activatePreset

recallNextPreset

deletePreset

listDestinations

listSources

listContent

activateCue

activateDestGroup

listCues

3dControl

changeContent

freezeDestSource

listStill

deleteStill

takeStill

getFrameSettings

listAuxContent

changeAuxContent

订阅和取消订阅

从基于 JSON 的应用程序完成订阅后,如果用户订阅的应用程序所在的 IP 端口发生了更改,则会向运行应用程序的 IP 端口发送通知。

实际通知作为 HTTP Post 异步发送,采用以下结构:{result: {method:

"notification",notificationType: "ScreenDestChanged",change: { add: [2],

remove: [], update: [0, 1, 2] }}}.

更改字段包含已添加/删除或更新的屏幕的 XmlId。

备注: 重新启动 Event Master 处理器后,所有订阅都将丢失,如果需要,必须再次订阅。

subscribe

 

unsubscribe