呼叫Smart打開指定專案
# TaskRunner 自定程式 - 呼叫Smart打開指定專案
# 1. 說明
- 任務運行器 TaskRunner 通過自定程式,呼叫 Smart 打開指定的程式專案。
- 自定程式的運行依賴於物聯網開發工具 Smart,請先安裝 Smart 再執行下列操作。以下假設 Smart 安裝于預設目錄
C:\Program Files (x86)\IsoFace\TARS
。
# 2. 設計程式
TaskRunner 的初始示例已包含 呼叫 Smart 打開指定專案
自定程式。下面介紹建立自定程式的流程。
- 點選
自定程式
選項卡,在自定程式界面中點選新建
按鈕,打開新建程式界面。 - 在新建程式界面,填寫要設計的自定程式的基本資訊。如下圖所示。填寫完成點選
儲存
按鈕。
- 返回自定程式列表界面,選擇剛才建立的
JS003
自定程式,點選功能表欄中的設計
按鈕,打開程式設計器界面。 - 在程式設計器界面中輸入自定程式程式碼,程式碼示例如下。完成後,點選
儲存
按鈕。
{
var id;
id = UGParams.Values["id"];
//結束Smart程序
UGCM.KillTask("Smart.exe");
//運行指定模板檔案,請指定id ,id為模板檔名帶副檔名,檔案需在 Samples 目錄下的位置,需指定相對位置
if (id!="")
ShellExecute("C:\\Program Files (x86)\\IsoFace\\Smart\\Smart.exe",id,0);
else
ShellExecute("C:\\Program Files (x86)\\IsoFace\\Smart\\Smart.exe","media\\S-EQ-DEM-2053_Chatroom.sdb -r",0);
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
- 如需要測試效果,可在程式設計器界面中點選
運行
按鈕進行測試。
程式中定義的參數說明如下:
名稱 | 說明 | 是否必填 | 預設值 |
---|---|---|---|
id | 要打開的專案名稱 | 否 | media\S-EQ-DEM-2053_Chatroom.sdb -r |
# 3. 呼叫執行
設計完成的自定程式可使用以下方式來呼叫執行。
# 3.1. RestAPI
使用瀏覽器或RestAPI 客戶端,訪問以下地址,執行自定程式呼叫。請將 {ip}
修改爲運行 TaskRunner 主機的IP地址,{port}
修改爲 TaskRunner WebSocket 服務端監聽的地址。
http://{ip}:{port}?restapi=script&taskname=JS003
1
如需要自行指定 Smart 打開的專案檔案,參照以下方式執行。請將 {id}
替換為 Smart Sample
目錄下的檔名稱,在下級目錄中的檔案需帶上目錄名稱。
http://{ip}:{port}?restapi=script&taskname=JS003&id={id}
1
# 3.2. WebSocket
使用WebSocket客戶端,連線至 TaskRunner 中的 WebSocket 服務端。向 WebSocket 服務端發送以下文字實現自定程式的呼叫。
{"action":"script","taskname":"JS003"}
1
如需要自行指定 Smart 打開的專案檔案,請在發送的內容中指定 id
參數,參數格式請參照以下內容。請將 {id}
替換為 Smart Sample
目錄下的檔名稱,在下級目錄中的檔案需帶上目錄名稱。
{"action":"script","taskname":"JS003","params":[{"name":"id","value":"{id}"}]}
1
# 3.3. MQTT
使用 MQTT 客戶端,連線至 TaskRunner 連線的 MQTT 伺服器。MQTT 客戶端向 TaskRunner 訂閱的主題發送以下文字實現自定程式的呼叫。
{"action":"script","taskname":"JS003"}
1
如需要自行指定 Smart 打開的專案檔案,請在發送的內容中指定 id
參數,參數格式請參照以下內容。請將 {id}
替換為 Smart Sample
目錄下的檔名稱,在下級目錄中的檔案需帶上目錄名稱。
{"action":"script","taskname":"JS003","params":[{"name":"id","value":"{id}"}]}
1