CAYIN SDK v2.0
鎧應數位看板系統提供強大的軟體開發套件(SDK),讓您能藉由HTTP為基礎的API,創造自己的管理工具。以下分為五個主要部分說明:
啟用/停用CAYIN SDK
登入CMS的管理畫面,然後前往系統 > 服務 > SDK設定頁。
CAYIN SDK提供三種模式:
- 停用SDK
- 啟用SDK但不使用認證金鑰(authentication key)
- 啟用SDK並使用認證金鑰
- 手動輸入金鑰
- 點擊隨機由系統產生一個金鑰。(請儲存該金鑰以備後續使用)
注意 |
---|
認證金鑰為4至64個英文字母與數字組成 |
CAYIN SDK的使用方式
SDK的使用方式為寄一個HTTP GET或POST要求至SMP或CMS的內部網頁伺服器。您可以使用幾乎任一種現代程式語言來撰寫程式寄送要求。若您希望先測試一下,最簡單的測試方式是開啟一個瀏覽器,然後在地址欄(Address bar)輸入該指令,來寄送一個HTTP GET要求。
以下為指令格式的範例:
http://<ip>/cysdk/?cmd1=value1&cmd2=value2
或
http://<ip>/cysdk/?cmd1=attribute1:value1;attribute2:value2
注意 |
---|
上述ip是指SMP或CMS的IP位址(或網域名稱)。 |
API介面:
- 支援HTTP GET與POST兩種方法
- 一個指令可以包含多組屬性
- 以分號 ‘;’ 做分隔不同屬性
- 以冒號 ‘:’ 分隔屬性的名稱與屬性的值
- 以 ‘&’ 符號分隔不同指令
- 指令先進先執行
範例:以CySDK 指令設定螢幕解析度
http://<ip>/cysdk/?k=0000&dpyOutput=mode:distinct;rotate:left
&dpy1Setting=output:HDMI1;size:1920x1080@60&dpy2Setting=output:auto;size:1024x768
- 認證: k=0000 (若您選擇不啟動認證功能,則可以忽略此部分。)
- 指令 1: dpyOutput=mode:distinct;rotate:left
- 屬性 1: mode:distinct
- 屬性 2: rotate:left
- 指令 2: dpy1=output:HDMI1;size:1920x1080@60
- 屬性 1: output:HDMI1
- 屬性 2: size:1920x1080@60
- 指令 3: dpy2=output:auto;size:1024x768
- 屬性 1: output:auto
- 屬性 2: size:1024x768
指令執行結果
功能 1~8:
SMP/CMS會回傳HTTP狀態碼給用戶端或呼叫的程式。
- 成功:傳回狀態碼200 的空白網頁
- 失敗:傳回狀態碼500 (內部伺服器錯誤)
注意 |
---|
更多關於HTTP狀態碼的相關資訊,請參閱Wiki網頁:https://en.wikipedia.org/wiki/List_of_HTTP_status_codes |
功能 9~28:
所有指令的回應皆以json格式置於HTTP Body裡,您可以使用json資源庫來解碼,或進一步處理執行結果。
回到頂端
CAYIN SDK的功能
CAYIN SDK能讓你操控下列功能:
- 安全認證 (認證金鑰)
- 金鑰: 4 - 64 個英文字母與數字
- 管理介面: 系統->服務->SDK ->認證
- 系統控制 (SMP與CMS)
- 顯示設定 (僅適用SMP)
- 影音輸入設定 (僅適用SMP)
- 聲音設定 (僅適用SMP)
- 時間設定 (SMP與CMS)
- 播放控制 (僅適用SMP)
- 前面“11”代表紅色的意思
- 中間“8A”代表綠色的意思
- 最後“3F”代表藍色的意思
- 前面“11”代表紅色的意思
- 中間“8A”代表綠色的意思
- 最後“3F”代表藍色的意思
- 前面“11”代表紅色的意思
- 中間“8A”代表綠色的意思
- 最後“3F”代表藍色的意思
- 前面“11”代表紅色的意思
- 中間“8A”代表綠色的意思
- 最後“3F”代表藍色的意思
- RTB設定 (僅適用CMS)
- 登入/登出指令 (僅適用CMS)
- 讀取SMP清單 (僅適用CMS)
- 讀取CMS/SMP紀錄檔 (僅適用CMS)
- 讀取SMP硬碟狀態 (例如: CPU使用率等) (僅適用CMS)
- 讀取CMS/SMP修補檔資訊 (僅適用CMS)
- 上傳修補檔至SMP (僅適用CMS)
- 改變SMP群組 (僅適用CMS)
- 改變緊急排程並啟動群組 (僅適用CMS)
- 讀取群組清單 (僅適用CMS)
- 修改群組屬性 (僅適用CMS)
- 取得面板排程 (僅適用CMS)
- 設定主要CMS (僅適用CMS)
- 設定備份CMS (僅適用CMS)
- 讀取CMS備援設定 (僅適用CMS)
- 讀取CMS緊急排程狀態 (僅適用CMS)
- 手動設定站台伺服器的緊急排程 (僅適用CMS)
- 新增使用者帳號並設定存取權限 (僅適用CMS)
- 移除帳號 (僅適用CMS)
- 修改帳號屬性 (僅適用CMS)
- 讀取面板版型 (僅適用CMS)
- Wifi 設定 (僅適用SMP)
- 批次啟用或停用所有CMS系統的緊急排程功能。
- 控制COM Port播放(僅適用SMP)
執行碼 | 屬性 | 數值 | 說明 |
---|---|---|---|
k | 英文字母與數字 |
範例
用金鑰保護CAYIN SDK指令的執行http://<ip>/cysdk/?k=0123456789abcdef&play=skin:skin-1
不用金鑰保護CAYIN SDK指令的執行
http://<ip>/cysdk/?play=skin:skin-1
執行碼 | 屬性 | 數值 | 說明 |
---|---|---|---|
sysRestart | 0, 1 |
0: 無動作 1: 重新啟動播放器/伺服器 |
範例
重新啟動系統http://<ip>/cysdk/?sysRestart=1
執行碼 | 屬性 | 數值 | 說明 |
---|---|---|---|
dpyOutput | mode | single, clone, extended, distinct |
|
model1 model2 model3 model4 |
1x1, 2x2, 2x1, 1x2, 3x1, 1x3, 4x1, 1x4 | SMP-2100/2200/2300 延伸模式: 1x2, 2x1 分開模式: 1x1 SMP-2210/2310 延伸模式: 1x3, 3x1, 1x2, 2x1 分開模式: 1x1, 2x1, 1x2 SMP-8000/8000QD 延伸模式: 2x2, 1x4, 4x1, 1x3, 3x1, 1x2, 2x1 分開模式: 1x1, 2x1, 1x2, 3x1, 1x3 |
|
dpy1 dpy2 |
output | Auto, VGA, DVI, HDMI1, HDMI2, DP1, DP2, DP3, DP4 | 設定顯示輸出 VGA, DVI, HDMI (SMP-6000) |
size | WxH[i][@R] | 設定螢幕解析度與更新頻率 W: 寬度 H: 高度 i: 交錯式掃描Interlace (選用) @R: 更新頻率 (選用) 例如: 1920x1080@auto |
|
rotate | 0, 1, 2 | 旋轉螢幕: 0: 沒有旋轉 (橫式) 1: 90度順時鐘旋轉 (垂直) 2: 90度逆時鐘旋轉 (垂直) |
|
dpyPwSave | on off |
設定螢幕開關 on: 開啟螢幕 off: 關閉螢幕 |
範例
設定顯示畫面為複製模式,顯示器1由HDMI輸出螢幕解析度為1920x1080i的訊號
http://<ip>/cysdk/?dpyOutput=mode:clone&dpy1=output:HDMI;size:1920x1080i@60;rotate:0執行碼 | 屬性 | 數值 | 說明 |
---|---|---|---|
videoIn | src | internal, 1, 2 |
internal: 內建影像擷取卡 1, 2: 外接USB UVC設備 |
std | NTSC, PAL | 影音標準 | |
bri | 0, 1, …, 100 | 亮度 | |
con | 0, 1, …, 100 | 對比 | |
sat | 0, 1, …, 100 | 飽和度Saturation | |
overScan | 0, 1, …, 100 | 過度掃描Over scan |
範例
設定 Video-in訊號源為內部影音擷取卡,NTSC格式
http://<ip>/cysdk/?videoIn=src:internal;std:NTSC;bri:50;con:50;sat:50;overScan:0執行碼 | 屬性 | 數值 | 說明 |
---|---|---|---|
sndOutput | analog digital |
analog: Stereo out (phone jack或RCA) digital: HDMI數位音訊 |
|
sound | 0 – 100 | 僅適用類比輸出(analog output) |
範例
改變聲音輸出為類比輸出
http://<ip>/cysdk/?sndOutput=analog
執行碼 | 屬性 | 數值 | 說明 |
---|---|---|---|
timeSetting | date | YYYYMMDDhhmmss, YYYYMMDD, hhmmss |
例如: 設定日期: 20150209 設定時間: 101530 設定日期與時間: 20150209101530 |
timezone | 城市或地區名 | 有效的城市名稱請詳見附錄 |
範例
http://<ip>/cysdk/?timeSetting=timezone:Eastern Time
http://<ip>/cysdk/?timeSetting=timezone:London
http://<ip>/cysdk/?timeSetting=timezone:Taipei
執行碼 | 屬性 | 數值 | 說明 |
---|---|---|---|
play | skin | [Skin Name] | 面板(Skin)名 |
program | [Program Name] | 節目(Program)名 | |
playlist | [Playlist Name] | 播放清單名 | |
centralctl | 1 | 中央排程 | |
display | 1, 2 | 選擇於螢幕1或螢幕2播放 | |
pbVo1Play pbVo2Play |
src | file://file mms://url http://url rtb://ip:port rtp://ip:port src://local-all src://video-in src://central-schedule |
|
ratio | auto (預設), 4:3, 16:9 | ||
mute | 0, 1 | ||
random | 0, 1 | ||
display | 1, 2 | 於螢幕1或螢幕2設定區塊 | |
pbIm1Play pbIm2Play |
src | file://file src://local-all src://central-schedule |
|
duration | 1-999 | 每一張圖片顯示的時間長度 | |
sequence | forward backward random |
順序 | |
scale_fit | 0 1 (預設) 2 |
依顯示區塊縮放 0: 關閉功能 1: 依顯示區塊縮放(等比例) 2: 依顯示區塊縮放(不等比例) |
|
transition_effect | 0 1 2 3 4 … 255 |
0: 無效果(預設) 1: 向右擦去(舊名:從左至右) 2: 向左擦去(舊名:從右至左) 3: 向下擦去(舊名:從上至下) 4: 向上擦去(舊名:從下至上) … 255: 啟用已選擇的效果隨機播放 請參閱線上手冊查看過場效果的完整清單 |
|
display | 1, 2 | 於螢幕1或螢幕2設定區塊 | |
pbTk1Play pbTk2Play |
src | text://file http://rss-feed rss://url src://file src://central-schedule |
|
direction | 1,2 | 1: 由左至右 2: 由右至左 |
|
font | [font name] | ||
fsize | 10 to 800 | ||
fcolor | [font color] | 預設文字顏色: 0xFFFFFF 例如: 0x118A3F |
|
bcolor | [background color] | 預設的背景顏色: 0x000000 例如: 0x118A3F |
|
seffect | 1, 2, 3, 4 | 文字跑動效果 1: 靜止 2: 水平跑動 3: 由下往上 4: 由下往上+水平跑動 |
|
speed | 1, 2, 3, 4, 5, 6 | ||
pause | 0, 0.5, 1, 1.5, 2, 2.5, 3 | 暫停 | |
spacing | 0, 0.25, 0.5, 1, 1.25, 1.5 | 行距 | |
display | 1, 2 | 於螢幕1或螢幕2設定區塊 | |
pbHtm1Play pbHtm2Play pbHtm3Play |
src | file://file http://url https://url twitter://user weather://id central-schedule |
|
template | 0, 1, … , 12 | ||
title | [title] | ||
subject | [subject] | ||
size | 250x75 285x170 550x320 760x500 1000x650 |
天氣 | |
fcolor | [foreground color] | 天氣 預設文字顏色: 0xFFFFFF 例如: 0x118A3F |
|
bcolor | [background color] | 天氣 設的背景顏色: 0x000000 例如: 0x118A3F |
|
effect | 0, 1 | 天氣 | |
units | 0, 1 | 天氣 0:攝氏(℃)、1:華氏(℉) |
|
pause | 0-9 | 天氣 | |
icons | 0, 1 | 天氣 | |
display | 1, 2 | 於螢幕1或螢幕2設定區塊 | |
pbAttr | scrollbar | auto, hide | |
hwaccel | 0, 1 | 0: Opengl、1: Vaapi/Vdpau | |
autoUpdate | 1-999 disable |
檢查HTML檔案/遠端URL時間間隔 |
範例
將播放器改為播放面板skin-1
http://<ip>/cysdk/?play=skin:skin-1;display:1
設定圖片區塊1播放存放於多媒體檔案夾(Media Folder)裡,指定資料夾裡的指定檔案
http://<ip>/cysdk/?pbIm1Play=src:file://file1.jpg;src:file://folder/;duration:1
設定文字跑馬燈區塊1播放RSS
http://<ip>/cysdk/?pbTk1Play=rss://url;seffect:1
設定HTML區塊1播放多媒體檔案夾(Media Folder)裡的一個檔案
http://<ip>/cysdk/?pbHtm1Play=src:file://file1.html
將Adobe Flash播放器的版本改為9
http://<ip>/cysdk/?pbAttr=flashver:9
執行碼 | 屬性 | 數值 | 說明 |
---|---|---|---|
rtb | channel | 1, 2 | 輸入埠 |
active | enable disable |
||
port | UDP port number | 8100, 8102, ..., 8226 | |
input | composite s-video |
||
std | NTSC, PAL | ||
bri | 0,1…,100 | ||
con | 0,1…,100 | ||
sat | 0,1…,100 | ||
format | mpeg2, mpeg4 | ||
bit | 256k, 512k, 1M, 2M, 3M, 4M, 5M | ||
bocast | 1/enable 0/disable |
1: 啟動 0: 關閉 |
|
mtcast | ip, disable | Multicast | |
uncast | ip, enable, disable | Unicast |
範例
啟動頻道1為MPEG-4@512k bps輸出頻率,以unicast即時影音串流至192.168.1.2
http://<ip>/cysdk/?rtb=channel:1;active:enable;input:composite;format:mpeg4;bit:512k;uncast:192.168.1.2
指令 | 認證 (非必要) |
屬性 | 數值 | 說明 |
---|---|---|---|---|
login | k=your_authencation_key | user | [User name] | 登入為某個特定的使用者 |
pass | [Password] |
結果 | Body | 說明 |
---|---|---|
{ |
結果: 0: 成功 其他: 失敗 |
範例
http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&login=user:administrator;pass:admin
指令 | 認證 (非必要) |
屬性 | 數值 | 說明 |
---|---|---|---|---|
logout | k=your_authencation_key | session | [Session id] | Logout |
結果 | Body | 說明 |
---|---|---|
N/A |
範例
http://CMS_IP/cysdk/?k=UXWdFUURPmLbF &logout=session:session-id
注意 |
---|
請使用登入(login)指令來取得交談識別碼 (session id),這個識別碼在後續SDK指令(第10-28項)中將會用到。 |
指令 | 認證 (非必要) |
屬性 | 數值 | 說明 |
---|---|---|---|---|
query | k=your_authencation_key | get | smplist | 讀取連接到該台CMS伺服器的SMP播放器清單 |
結果 | Body | 說明 |
---|---|---|
{ "result":"string", "client":[ { "hostname":"string", "model":"string", "version":"string", "IP":"string", "mac":"string", "group":"string", "cms":"string", "connect":"string" }, {client2….}, {client3….} ] } |
結果: 0: 成功 其他: 失敗 |
範例
查詢 | http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&query=get:smplist; |
---|---|
回應 | { "Result":"0", "client":[ { "hostname":"1F-001", "model":"SMP-2100", "version":"2.1", "group":"groupA", "connect":"1", "IP":"10.0.0.10", "mac":"00:30:18:CD:10:01", "cms":"hostname" }, { "hostname":"1F-002", "model":"SMP-2100", "version":"2.1", "group":"groupA", "connect":"1", "IP":"10.0.0.11", "mac":"00:30:18:CD:10:02", "cms":"hostname" }, {client3….}, {client4…}, {client5…} ] } |
指令 | 認證 (非必要) |
屬性 | 數值 | 說明 |
---|---|---|---|---|
query | k=your_authencation_key | get | log | |
target | mac_address | SMP或CMS的MAC位址 |
||
retrivefrom | YYYYMMDDhhmmss | 例如: 從日期20170629120000的紀錄檔 (非必要) |
結果 | Body | 說明 |
---|---|---|
{ |
結果: 0: 成功 其他: 失敗 |
範例
查詢 | http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&query=get:log; target:4C02890A25C7;retrivefrom:20170629120000 |
---|---|
回應 | { "Result":"0", "logs":[ { "time":"Mon Jun 26 15:33:44 2017", "type":"INFORMATION", "category":"SYSTEM", "msg":"[SMP-2100]: SYSTEM: System start up." }, {log2….}, { log3….} ] } |
指令 | 認證 (非必要) |
屬性 | 數值 | 說明 |
---|---|---|---|---|
query | k=your_authencation_key | get | hwinfo | |
target | mac_address | SMP或CMS的MAC位址 |
結果 | Body | 說明 |
---|---|---|
{ "result":"string", "client":{ "cpu":{"usage": "string", "temp": INT, "fan": INT}, "mem":{"total": "string", "used": "string", "usage": "string"}, "disk":{ "system":["string", "string", "string"], "resource":["string", "string", "string"], "media":["string", "string", "string"], "external": ["string", "string", "string"] }, "sys":{"temp":INT, "fan":INT} } } |
結果: 0: 成功 其他: 失敗 |
範例
查詢 | http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&query=get:hwinfo; target:4C02890A25C7 |
---|---|
回應 | { "result":"0", "client":{ "cpu":{"usage":"0.7%", "temp":-1, "fan":-1}, "mem":{"total": "3.72GB", "used":"768.14MB", "usage":"20.2%"}, "disk":{ "drive":["26.42GB", "522.99MB", "1.9%"], "system":["1.91GB", "318.22MB", "16.3%"], "resource":["3.81GB", "160.85MB", "4.1%"], "media":["20.70GB", "43.92MB","0.2%"], "external": ["20.70GB", "43.92MB","0.2%"] }, "sys":{"temp":-1, "fan":-1} } } |
指令 | 認證 (非必要) |
屬性 | 數值 | 說明 |
---|---|---|---|---|
query | k=your_authencation_key | get | patchlist | |
target | mac_address | SMP或CMS的MAC位址 |
結果 | Body | 說明 |
---|---|---|
{ |
結果: 0: 成功 其他: 失敗 |
範例
查詢 | http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&query=get:patchlist; target:4C02890A25C7 |
---|---|
回應 | { "Result":"0", "patch":[ "P17684: Fix a problem causing player not booting due to log locked by system" ] } |
指令 | 認證 (非必要) |
屬性 | 數值 | 說明 |
---|---|---|---|---|
action | k=your_authencation_key | do | upPatch | |
target | mac_address | SMP或CMS的MAC位址 | ||
group | 群組名 | 上傳修補檔到某個特定群組的播放器 | ||
file | smb, http, or ftp URL | 修補檔的網址 |
結果 | Body | 說明 |
---|---|---|
{ |
結果: 0: 成功 其他: 失敗 |
注意 |
---|
您無法在一個指令裡同時使用target與group屬性。 |
範例
查詢 | http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&action=do:upPatch; target:4C02890A25C7;file:smb://account:password@172.16.0.7/temp/P17699.psu |
---|
指令 | 認證 (非必要) |
屬性 | 數值 | 說明 |
---|---|---|---|---|
action | k=your_authencation_key | do | chGroup | |
target | mac_address | SMP的MAC位址 | ||
toGroup | 群組名 | 您想要改變的目標群組 |
結果 | Body | 說明 |
---|---|---|
{ |
結果: 0: 成功 其他: 失敗 |
範例
查詢 | http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&action=do:chGroup; target:4C02890A25C7;toGroup:mygroup |
---|
指令 | 認證 (非必要) |
屬性 | 數值 | 說明 |
---|---|---|---|---|
emergency | k=your_authencation_key | skin | 面板名 | |
program | 節目名 | |||
playlist | 播放清單名 | |||
playback | all, 1, 2, 3, 4 | 播放ID all: 所有播放 (預設) 1: 播放1 2: 播放2 3: 播放3 4: 播放4 |
||
group | 群組名 | |||
trigger | 0, 1 | 0: 關閉 1: 啟動 |
結果 | Body | 說明 |
---|---|---|
{ |
結果: 0: 成功 其他: 失敗 |
注意 |
---|
您無法同時用面板(Skin)、節目(Program)與播放清單(Playlist)屬性。 |
範例
查詢 | http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&emergency=skin:skin1; playback:all;group:groupA;trigger:1 |
---|---|
回應 | {"result":"0", "cms":[ {"hostname":"CMS-40-Hub","IP":"172.16.100.250","mac":"00:90:0B:26:CD:3A", "result":"0"}, {"hostname":"CMS-40-Backup","IP":"172.16.12.59","mac":"00:90:0B:27:CC:FC", "result":"0"}, {"hostname":"CMS-40-site2","IP":"172.16.100.251","mac":"00:0C:29:0F:AA:E2", "result":"0"}, {"hostname":"CMS-40-site1","IP":"172.16.12.186","mac":"00:0C:29:03:1E:4F", "result":"0"} ] } |
注意 |
---|
回應包括所有在主伺服器、站台伺服器與備份伺服器的結果。 |
指令 | 認證 (非必要) |
屬性 | 數值 | 說明 |
---|---|---|---|---|
query | k=your_authencation_key | get | grouplist | 取得CMS伺服器的完整群組清單 |
結果 | Body | 說明 |
---|---|---|
{ |
結果: 0: 成功 其他: 失敗 |
範例
查詢 | http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&query=get:grouplist |
---|---|
回應 | { "result": "0", "group": [{ "name": "A_layer1", "folder": "folder_1", "child": [{ "name": "A_layer2", "folder": "folder_2", "child": [{ "name": "A_layer3", "folder": "folder_3", }] }] }, { "name": "B_layer1", "folder": "folder_4", }] } |
指令 | 認證 (非必要) |
屬性 | 數值 | 說明 |
---|---|---|---|---|
action | k=your_authencation_key | do | modgroup | |
group | 群組名 | 欲修改的群組 | ||
newgroup | 新群組名 | 改變群組名 | ||
parent | 父群組名 | 改變該群組的父群組名 | ||
top | 1 | 將該群組改至最上層(無父群組) |
結果 | Body | 說明 |
---|---|---|
{ |
結果: 0: 成功 其他: 失敗 |
範例
查詢 | http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&action=do:modgroup; group:group_a;newgroup:group_c |
---|---|
回應 | { "result": "0", } |
注意 |
---|
Top屬性無法與parent屬性共用。 |
取得某一特定群組、目前面板的排程。
指令 | 認證 (非必要) |
屬性 | 數值 | 說明 |
---|---|---|---|---|
action | k=your_authencation_key | get | skinlist | |
group | 群組名 | 欲查詢的群組 |
結果 | Body | 說明 |
---|---|---|
{ |
結果: 0: 成功 其他: 失敗 |
範例
查詢 | http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&query=get:skinlist; group:my_group |
---|---|
回應 | { "result": "0", "skin": [ {"name":"skin1", "group": "A_layer3", "currentSchedule":"0"}, {"name":"skin2", "group": "A_layer3", "currentSchedule":"0"}, {"name":"skin4", "group": "A_layer2", "currentSchedule":"0"}, {"name":"skin5", "group": "A_layer1", "currentSchedule":"1"}, ] } |
設定CMS為主伺服器以及相關選項。
指令 | 認證 (非必要) |
屬性 | 數值 | 說明 |
---|---|---|---|---|
redundancy | k=your_authencation_key | mode | 1 | |
mCode | 認證碼 | 主伺服器與備份伺服器之間的認證碼。 | ||
port | 埠號 | |||
backupIP | 備份伺服器IP | |||
reverseSync | 0, 1 | 0: 關閉反向同步 1: 開啟反向同步 |
結果 | Body | 說明 |
---|---|---|
{ |
結果: 0: 成功 其他: 失敗 |
範例
查詢 | http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&&redundancy=mode:1; mCode:1234567890;port:40001;backupIP:IP;reverseSync:0 |
---|---|
回應 | { "result":"0", "mode":"1" } |
設定CMS為備份服器以及相關選項。
指令 | 認證 (非必要) |
屬性 | 數值 | 說明 |
---|---|---|---|---|
redundancy | k=your_authencation_key | mode | 2 | |
bCode | 認證碼 | 主伺服器與備份伺服器之間的認證碼。 | ||
connectIp | IP位址 | 主伺服器的IP位址 | ||
updateFirst | 0, 1 | 1: 立即同步 | ||
freqType | 0 | 每幾分鐘與主伺服器同步 | ||
period | 分鐘 |
結果 | Body | 說明 |
---|---|---|
{ "result":"0", "mode":"2" } |
結果: 0: 成功 其他: 失敗 |
範例
查詢 | http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&redundancy=mode:2; bCode:1234567890;connectIp:192.168.1.8;updateFirst:1;freqType:0;period:5 |
---|---|
回應 | { "result":"0", "mode":"2" } |
指令 | 認證 (非必要) |
屬性 | 數值 | 說明 |
---|---|---|---|---|
query | k=your_authencation_key | get | redundancy |
結果 | Body | 說明 |
---|---|---|
{ "result":"0", "self": { "hostname": "string", "mac": "string", "IP": "string", "mode": "string" }, "another": { "status": "string", "hostname": "string", "mac": "string", "IP": "string", "mode": "string" } } |
結果: 0: 成功 其他: 失敗 |
範例
查詢 | http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&query=get:redundancy |
---|---|
回應 | { "result":"0", "self": { "hostname": "cms-main", "mac": "00:0C:29:0F:AA:E2", "IP": "172.16.12.59", "mode": "1" }, "another": { "status": "1", "hostname": "cms-backup", "mac": "00:0C:29:0F:AA:E2", "IP": "172.16.12.59", "mode": "2" } } |
指令 | 認證 (非必要) |
屬性 | 數值 | 說明 |
---|---|---|---|---|
query | k=your_authencation_key | get | emergency |
結果 | Body | 說明 |
---|---|---|
{ "result":"0", "group": [{ "name": "string", "trigger": "string", "playback": [ { "enable": "string", "type": "string", "name": "string", "playbackOutput": "string" } ] } ] } |
結果: 0: 成功 其他: 失敗 |
範例
查詢 | http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&query=get:emergency |
---|---|
回應 | { "result":"0", "group": [{ "name": "aaaaa", "trigger": "1", "playback": [ {"enable": "1", "type": "skin", "name": "Basic-2", "playbackOutput": "1"}, {"enable": "1", "type": "skin", "name": "Basic-3" , "playbackOutput": "2"}, {"enable": "0", "type": "playlist", "name": "playlist1", "playbackOutput": "3"}, {"enable": "0", "type": "program", "name": "program1", "playbackOutput": "4"} ] } ] } |
指令 | 認證 (非必要) |
屬性 | 數值 | 說明 |
---|---|---|---|---|
query | k=your_authencation_key | trigger | 0, 1 | 0: 關閉 1: 啟動 |
group | 群組名 | |||
playback | 1, 2, 3, 4 | |||
skin | 面板名 | |||
program | 節目名 | |||
playlist | 播放清單名 | |||
manually | 0, 1 | 0: 由主伺服器控制 1: 由站台伺服器手動觸發 |
結果 | Body | 說明 |
---|---|---|
{ "result":"0", "cms":[ {"hostname":"string","IP":"string","mac":"string","result":"0"} ] } |
結果: 0: 成功 其他: 失敗 |
注意 |
---|
您無法同時用面板(Skin)、節目(Program)與播放清單(Playlist)屬性。 |
範例
查詢 | http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&emergency=trigger:1; group:SMP-8000;playback:1;skin:Basic-2;manually:1 |
---|---|
回應 | { "result":"0", "cms":[ {"hostname":"station_cms","IP":"172.16.100.250","mac":"00:90:0B:26:CD:3A","result":"0"} ] } |
指令 | 認證 (非必要) |
屬性 | 數值 | 說明 |
---|---|---|---|---|
action | k=your_authencation_key | do | addacc | |
acc | 使用者名稱 | 使用者名稱 | ||
pass | 密碼 | 帳號的密碼 | ||
group | 群組名 | 可以指定多個群組名,每個群組名以","分隔。 | ||
r_group | 存取權十六進制編碼 (Hex code) | 參閱以下表格。使用bit或選擇多屬性。 (例如: 0x01011) | ||
r_lib | ||||
r_sch | ||||
r_mbyftp | ||||
r_emergsch |
結果 | Body | 說明 |
---|---|---|
{ "result":"0" } |
結果: 0: 成功 其他: 失敗 |
範例
查詢 | http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&action=do:addacc; acc:user_a;pass:12345;group:aaaaa,bbbbb,ccccc;r_group:0x11;r_lib:0x111111; r_sch:0x1111111;r_mbyftp:0x1;r_emergsch:0x1 |
---|---|
回應 | { "result":"0" } |
新增帳號存取權的屬性碼
屬性 | 功能 | 碼 |
---|---|---|
r_group | 存取-檔案夾 | 0x01 |
存取-群組 | 0x10 | |
r_lib | 資源庫-檔案 | 0x000001 |
資源庫-字型 | 0x000010 | |
資源庫-時鐘 | 0x000100 | |
資源庫-面板 | 0x001000 | |
資源庫-節目 | 0x010000 | |
資源庫-播放清單 | 0x100000 | |
r_sch | 排程-播放 | 0x00000001 |
排程-影片 | 0x00000010 | |
排程-圖片投影片 | 0x00000100 | |
排程-跑馬燈 | 0x00001000 | |
排程-HTML | 0x00010000 | |
排程-音量 | 0x00100000 | |
排程-面板 | 0x01000000 | |
排程-播放清單 | 0x10000000 | |
r_mbyftp | FTP存取多媒體檔案夾 | 0x1 |
r_emergsch | 啟動緊急排程 | 0x1 |
指令 | 認證 (非必要) |
屬性 | 數值 | 說明 |
---|---|---|---|---|
action | k=your_authencation_key | do | rmacc | |
acc | 使用者名稱 |
結果 | Body | 說明 |
---|---|---|
{ "result":"0" } |
結果: 0: 成功 其他: 失敗 |
範例
查詢 | http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&action=do:rmacc; acc:user_a |
---|---|
回應 | { "result":"0" } |
指令 | 認證 (非必要) |
屬性 | 數值 | 說明 |
---|---|---|---|---|
action | k=your_authencation_key | do | modacc | |
acc | 使用者名稱 | |||
pass | 密碼 | 帳號的密碼 | ||
newacc | 使用者名稱 | 改變使用者名稱 | ||
newpass | 密碼 | 改變密碼 | ||
r_group | 群組名 | 可以指定多個群組名,每個群組名以","分隔。 | ||
r_lib | 存取權十六進制編碼 (Hex code) | 改變存取權。使用bit或選擇多屬性。 (例如: 0x01011) | ||
r_sch | ||||
r_mbyftp | ||||
r_emergsch |
結果 | Body | 說明 |
---|---|---|
{ "result":"0" } |
結果: 0: 成功 其他: 失敗 |
範例
查詢 | http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&action=do:modacc; acc:user_a;pass:12345;newacc:user_b;newpass:67890;group:aaaaa,bbbbb,ccccc; r_group:0x11;r_lib:0x111111;r_sch:0x1111111 |
---|---|
回應 | { "result":"0" } |
指令 | 認證 (非必要) |
屬性 | 數值 | 說明 |
---|---|---|---|---|
query | k=your_authencation_key | get | skin | |
skin | 面板名 | |||
group | 群組名 |
結果 | Body | 說明 |
---|---|---|
{ "result":"0" "skin":[ { "name":"string", "layout":[ { "w":INT,"h":INT, "zones": INT, "zone":[ {"type":"string","loc":{"x":INT,"y":INT,"w":INT, "h":INT,"z":INT}}, {"type":"string","loc":{"x":INT,"y":INT,"w":INT, "h":INT,"z":INT}} ] } ] }] } |
結果: name: 面板名 w: 面板寬 h: 面板高 zones: 區塊的數量 zone: 區塊資訊 type: 多媒體類型 loc: 區塊座標與尺寸 |
範例
查詢 | http://CMS_IP/cysdk/?k=UXWdFUURPmLbF&session=session_id&query=get:skin; skin:Skin-1;group:group_a |
---|---|
回應 | { "result":"0" "skin":[ { "name":"Skin18", "layout":[ { "w":1920,"h":1080, "zones": 3, "zone":[ {"type":"video","loc":{"x":67,"y":62,"w":609,"h":385,"z":1}}, {"type":"image","loc":{"x":1037,"y":44,"w":677,"h":484,"z":7}}, {"type":"html","loc":{"x":2,"y":514,"w":842,"h":492,"z":7}} ] } ] }] } |
執行碼 | 屬性 | 數值 | 說明 |
---|---|---|---|
scan_ssid | 0, 1 | 0: 關閉(連接一般WiFi) 1: 啟用(連接隱藏ssid的WiFi) |
範例
http://<ip>/cysdk/?scan_ssid=0http://<ip>/cysdk/?scan_ssid=1
http://<ip>/cysdk/?emAction=trigger_all
http://<ip>/cysdk/?emAction=stop_all
http://<ip>/cysdk/?emAction=trigger&group={group's name}
http://<ip>/cysdk/?emAction=stop&group={group's name}
執行碼 | 屬性 | 數值 | 說明 |
---|---|---|---|
send_cs | dev | com1 com2 |
對Web UI裡設定的com1或com2發指令 |
cmd | 0, 1, 2… | 0: 指令1 1: 指令2 2: 指令3 |
範例
執行COM Port 1的指令1
http://<ip>/cysdk/cysdk.cgi?exe=send_cs&dev=com1&cmd=0
附錄A:時區設定的城市清單
(GMT-12:00) | Eniwetok, Kwajalein |
---|---|
(GMT-11:00) | MidwayIsland, Samoa |
(GMT-10:00) | Hawaii |
(GMT-09:00) | Alaska |
(GMT-08:00) | Pacific Time (US & Canada); Tijuana |
(GMT-07:00) | Arizona |
(GMT-07:00) | Mountain Time (US & Canada) |
(GMT-06:00) | Central Time (US & Canada) |
(GMT-06:00) | Mexico City, Tegucigalpa |
(GMT-06:00) | Saskatchewan |
(GMT-05:00) | Bogota, Lima, Quito |
(GMT-05:00) | Eastern Time (US & Canada) |
(GMT-05:00) | Indiana (East) |
(GMT-04:00) | Atlantic Time (Canada) |
(GMT-04:00) | Caracas, La Paz |
(GMT-04:00) | Santiago |
(GMT-03:30) | Newfoundland |
(GMT-03:00) | Brasilia |
(GMT-03:00) | Buenos Aires, Georgetown |
(GMT-02:00) | Mid-Atlantic |
(GMT-01:00) | Azores, Cape Verde Is. |
(GMT) | Casablanca, Monrovia |
(GMT) | Greenwich Mean Time: Dublin, Edinburgh, Lisbon, London |
(GMT+01:00) | Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna |
(GMT+01:00) | Belgrade, Bratislava, Budapest, Ljubljana, Prague |
(GMT+01:00) | Brussels, Copenhagen, Madrid, Paris, Vilnius |
(GMT+01:00) | Sarajevo, Skopje, Sofija, Warsaw, Zagreb |
(GMT+02:00) | Athens, Istanbul, Minsk |
(GMT+02:00) | Bucharest |
(GMT+02:00) | Cairo |
(GMT+02:00) | Harare, Pretoria |
(GMT+02:00) | Helsinki, Riga, Tallinn |
(GMT+02:00) | Israel |
(GMT+03:00) | Baghdad, Kuwait, Riyadh |
(GMT+03:00) | Moscow, St. Petersburg, Volgograd |
(GMT+03:00) | Nairobi |
(GMT+03:30) | Tehran |
(GMT+04:00) | Abu Dhabi, Muscat |
(GMT+04:00) | Baku, Tbilisi |
(GMT+04:30) | Kabul |
(GMT+05:00) | Eekaterinburg |
(GMT+05:00) | Islamabad, Karachi, Tashkent |
(GMT+05:30) | Bombay, Calcutta, Madras, New Delhi |
(GMT+06:00) | Almaty, Dhaka |
(GMT+06:00) | Colombo |
(GMT+06:30) | Myanmar |
(GMT+07:00) | Bangkok, Hanoi, Jakarta |
(GMT+08:00) | Beijing, Chongqing, Hong Kong, Urumqi |
(GMT+08:00) | Perth |
(GMT+08:00) | Singapore |
(GMT+08:00) | Taipei |
(GMT+09:00) | Osaka, Sapporo, Tokyo |
(GMT+09:00) | Seoul |
(GMT+09:00) | Yakutsk |
(GMT+09:30) | Adelaide |
(GMT+09:30) | Darwin |
(GMT+10:00) | Brisbane |
(GMT+10:00) | Canberra, Melbourne, Sydney |
(GMT+10:00) | Guam, Port Moresby |
(GMT+10:00) | Hobart |
(GMT+10:00) | Vladivostok |
(GMT+11:00) | Magadan, Solomon Is., New Caledonia |
(GMT+12:00) | Auckland, Wellington |
(GMT+12:00) | Fiji, Kamchatka, Marshall Is. |
範例
http://<ip>/cysdk/?timeSetting=timezone:Eastern Time
http://<ip>/cysdk/?timeSetting=timezone:London
http://<ip>/cysdk/?timeSetting=timezone:Taipei
回到頂端
附錄B:SDK結果碼(Result Code)
-1 | : | 逾時。預設的逾時值為30秒。 |
0 | : | 成功。 |
1 | : | 確認您的帳號與密碼為正確的。 |
2 | : | 無法登出。 |
3 | : | 此session無效。 |
4 | : | 動作指令的關鍵值無效。 |
5 | : | query指令的屬性關鍵字無效。 |
6 | : | query指令的get屬性值無效。 |
7 | : | 無法取得CMSList。 |
8 | : | 無法取得SMPList。 |
9 | : | SMP或CMS的目標物未連線。 |
10 | : | 找不到SMP或CMS的目標物。 |
11 | : | 無法取得SMP的HWInfo。 |
12 | : | 無法取得SMP或CMS的PatchList。 |
13 | : | 無法取得SMP或CMS的紀錄檔。 ( 此狀況發生於紀錄檔為空白的時候。) |
14 | : | 目前有其他人正在讀取相同的目標物的紀錄檔。 |
15 | : | 動作指令的屬性關鍵字無效。 |
16 | : | 動作指令的屬性do的值無效。 |
17 | : | 無法改變SMP的群組。 |
18 | : | 請輸入修補檔。 |
19 | : | 無法下載此修補檔。 |
20 | : | 不支援此修補檔的格式,正確的副檔名為.psu。 |
21 | : | 此群組無效。 |
22 | : | 您不可以同時輸入一個目標與群組。 |
23 | : | 請輸入一個目標或群組。 |
24 | : | 請稍等一下,修正檔正在上傳。 |
25 | : | 無法上傳修正檔。 |
26 | : | Query指令的屬性關鍵字無效。 |
27 | : | Emergency指令的播放屬性值無效。 |
28 | : | Emergency指令的群組屬性值無效,或此帳號無法管理該群組。 |
29 | : | 只能選擇一項資源。 |
30 | : | 選擇的資源無效。 |
31 | : | Emergency指令的trigger屬性無效。 |
32 | : | 您的帳號沒有緊急排程的存取權。 |
33 | : | 無法啟動緊急排程。 |
34 | : | 無法寄送通知。 |
35 | : | 此群組無效。 |
36 | : | 您無法把群組移至最上層因為該群組底下有子群組。 |
37 | : | 此群組名已存在,您無法新增/修改相同的名字。 |
38 | : | 群組名無效。名稱應包括英文字母 (a~z or A~Z)、數字 (0-9)、底線 (_)、與連字號 (-)。 |
39 | : | 父群組名無效或不存在。 |
40 | : | 此群組無效。 |
41 | : | 您新增的帳號名無效。名稱應包括英文字母 (a~z)、數字 (0-9)與底線 (_)。 |
42 | : | 此帳號已經存在。 |
43 | : | 密碼無效。 |
44 | : | 部分的群組無效。 |
45 | : | 帳號無效。 |
46 | : | 無法修改帳號。 |
47 | : | 帳號名無效或不存在。 |
48 | : | 帳號密碼無效。 |
49 | : | 帳號名無效。 |
50 | : | 此新帳號已經存在。 |
51 | : | 新密碼無效。 |
52 | : | 部分群組無效。 |
53 | : | 群組不存在或無效。 |
54 | : | 該面板不存在於此群組中。 |
回到頂端