ThingWorx 擴充性 > 延伸功能 > 遠端存取 > ThingWorx Remote Access Client (RAC)
ThingWorx Remote Access Client (RAC)
Remote Access Client (RAC) 提供的機制是從自訂混搭或 ThingWorx Asset AdvisorRemote Access and Control 模組使用 ThingWorx 遠端存取功能。若要使任何使用者均能連接至遠端裝置,使用者需在本機電腦與遠端裝置之間建立一條通道。RAC 可啟用該通道。您可從 ThingWorx 遠端存取用戶端下載頁下載 RAC
本主題包含下列各節:
快速入門
1. ThingWorx Composer 中設定物件,然後將其連接至 ThingWorx Platform。在設定物件時,請確保其符合下列遠端存取條件:
a. 物件必須已套用 RemoteAccessible 物形式。Axeda eMessage Agent 物件會自動套用此形式。
b. 物件必須在 RemoteAccessProvider 內容中配置適當的 RemoteAccessProvider
c. 物件必須報告。即 isReporting 內容的值必須為 true,其以核取標記圖示表示。「報告」物件通常是繫結至 ThingWorx Platform 的遠端裝置。
d. 物件必須已配置通道端點。以下通訊協定是適合測試的良好候選項目範例:
SSH - 適用於沒有桌面元件的電腦,TCP 埠 22
VNC - 適用於具有桌面的電腦,TCP 埠 5900
* 
根據設計,只要兩端都沒有中斷連線,RAC 所建立的通道就會保持使用中狀態。因此,ThingWorx Edge 通道不支援與 Edge 建立多個連線及與其中斷連線的通訊協定,例如使用瀏覽器來存取 HTTP 伺服器。例如,當您使用錯誤的認證,並連線至不受電腦信任的 RDP 伺服器時,RDP 觸發器會中斷連線。為了達到最好的效果,請務必瞭解您正嘗試轉發之通訊協定的連線與中斷連線行為。
2. ThingWorx Remote Access Client (RAC)ThingWorx 遠端存取用戶端下載 頁下載
3. 導覽至封裝的儲存位置,並執行它來安裝 RAC。例如,在 Windows 中執行 .exe 檔案。在 Linux 與 OS X 中,安裝封裝。
4. RAClientLinker 小器具新增至混搭。如需詳細資訊,請參閱 新增小器具至混搭
5. 透過您的混搭,以您在步驟 1 中設定及連接的 Edge 物件啟動遠端工作階段。隨後會相繼發生下列事件:
a. ThingWorx Platform 中的所選物件會透過在物件上呼叫 StartSession 服務來請求遠端工作階段。
b. RAC 應用程式 (tw-ra-client) 即會啟動。
c. RAC 應用程式會與遠端存取伺服器建立連接並顯示工作階段資訊。
* 
RAC 應用程式預設會連線至 WebSocket Secure (WSS)。如果您必須透過純文字 HTTP 端點 (不建議) 存取混搭,必須將 RAC 用戶端配置為允許連線至未加密的 WebSocket (WS)。欲執行此操作,請修改 config.xml 檔案以包含 { "secure": false } 元素。有關該檔案在您作業系統中所在的位置,請參閱 「遠端存取的管理員設定任務」主題中的步驟 10 中的項目符號清單。禁用加密不但不安全,而且也不是一種好的作法,因此除非絕對必要,否則請勿使用此方法。請記住,RAC 應用程式可以連線至 WSS 或 WS 端點,但無法同時連線至這兩者。
6. 將用戶端應用程式連接至本機連接埠。RAC 應用程式會將用戶端資料轉發至遠端存取伺服器 (以及遠端裝置),反之亦然。
探索 ThingWorx Remote Access Client (RAC)
可以啟動的用戶端稱為 ThingWorx Remote Access Client (RAC)。當您在 RAClientLinker 小器具上呼叫 LaunchClient 服務時,此用戶端將啟動。本節的剩餘部份將介紹此用戶端的使用者介面。
從混搭啟動時,RAC 使用者介面在工作階段啟動時可能如下所示:
在上面的螢幕擷取畫面中,與 RAC 相連接物件的名稱為 ra-test-agent。訊息視窗會顯示目前的狀況,其在上述範例中為 Server ready: connect client to <localhost:38367。訊息視窗上方右側顯示的圖示說明如下:
- 連線狀況指示器。黃色表示其正在連接。指示器會以動畫形式顯示,以指示用戶端正在執行某項作業。
狀況訊息下方的參數清單包括:
Remote Entity - 表示 ThingWorx 中遠端裝置之物件的名稱。上述範例中的物件名稱為 ra-test-agent
Remote Server - 用於建立遠端工作階段之 RemoteAccessProvider 的名稱。在上述範例中,遠端伺服器是 Axeda Global Access Server (GAS),名稱為 gas.ptciot.io
Remote Endpoint - 此遠端工作階段之遠端介面的類型。上述範例中的遠端介面類型為 TERMINAL,這所指的是 SSH 或 Telnet 介面。
Created By - 啟動此遠端工作階段之使用者的名稱。上述範例中的使用者名稱為 Administrator。
Start Time - 遠端伺服器啟動遠端工作階段的星期幾、日期、時間和時區。在上述範例中,工作階段於 GMT 時區的 2018 年 11 月5日星期一,17:16:14 (5:16:14 PM) 啟動。
Duration - 遠端工作階段從初始化到中斷連接持續的小時數、分鐘數和秒數。在上述範例中,工作階段已建立了六秒。
「已傳輸的位元組」 - 在遠端裝置與從中啟動 RAC 的電腦之間交換的位元組數。對於 ThingWorxInternal 通道,當裝置端伺服器就緒時,值最初為非零值。在上述範例中,遠端裝置正在執行 Axeda eMessage Agent。工作階段已就緒,但尚未與 Axeda eMessage Agent 一起完全建立,因此此編號為 0。
工作階段就緒時,此指示器會變更為以綠色背景顯示使用中的連接埠號碼,以及遠端存取服務器已準備好連接至裝置的訊息:
* 
您可透過按一下來複製連接埠號碼並將其貼入用戶端應用程式。
- 如果您要停止目前的工作階段,請按一下實心方形圖示。
- 按一下此圖示可從螢幕中移除工作階段。如果您尚未停止工作階段,則按一下此圖示可停止工作階段,然後將其從螢幕中移除。
頂端列的右側包括如下內容:
- 此圖示用於表示您與 ThingWorx Platform 的連接狀況。當勾選符號出現在綠色雲中時,表示您已連接。
- 按一下此圖示可顯示 RAC 的選單:
欲停止所有工作階段,請從選單中選取 Stop All Sessions 選項。請注意,每個工作階段的資訊均會保持可見狀態,直至您按一下 來將其移除為止。
如果您必須在電腦和遠端裝置之間使用 Proxy 伺服器,那麼您可透過從選單中選取 Proxy Settings 選項來指定要使用的主機名稱和連接埠號碼:
* 
請特別注意,您可以在沒有引數的情況下啟動 RAC 來進行 Proxy 設定。儲存設定之後,RAC 將繼續使用在由 ThingWorx 混搭啟動時所配置的 Proxy 設定。
欲顯示有關 RAC 的版本資訊,請在選單上選取 About 選項:
當您準備好關閉用戶端時,請選取選單上的 Exit 選項。如果有使用中工作階段,退出時會提示您結束所有的這些工作階段。
透過 UI 配置 Proxy 設定
如果「未」將 Proxy 組態指定為查詢參數,ThingWorx Remote Access Client (RAC) 支援修改及儲存 Proxy 設定。
* 
RAC 目前不支援已驗證的 Proxy。
您可以透過 RAC 使用者介面配置設定,如下所示:
1. 在本機或從 ThingWorx 啟動 RAC。
* 
如果在本機啟動,它不會連接至 ThingWorx,但您仍可配置 Proxy 設定並予以儲存。
2. 選取選單圖示 (三個點):
3. 從選單中選取 Proxy Settings
4. 當設定的視窗出現時,請指定要使用的「主機」名稱和「連接埠」號碼:
5. 按一下「儲存」
RAC 代理的連接
如果在 RAC 中指定 Proxy 組態,則會透過 Proxy 伺服器對下列輸出連線進行通道傳輸:
ThingWorx Platform (使用 AlwaysOn 協定)。
Axeda Global Access Server (GAS) (使用 TCP)。
ThingWorx Internal Remote Access Provider (使用 AlwaysOn 協定)。
遠端工作階段的狀況
「遠端存取用戶端」(RAC) 可偵測在遠端工作階段狀況中對 CLOSE_REQUESTED 進行的變更。當 RemoteAccessSubsystem 確定遠端工作階段已超過其可保持使用中的最長時間時,便會發生此變更。
為了為遠端工作階段重新整理 lastActivityTime,RAC 會定期 (每 20 秒) 更新工作階段,以針對符合下列條件的任何工作階段重新整理 bytesTransferred
由 RAC 追蹤的傳輸位元組大於 0
自從上次更新工作階段以來,由 RAC 追蹤的傳輸位元組已變更
工作階段狀況不是 TERMINATED
如果工作階段更新因工作階段不再存在而失敗,則工作階段狀況會強制變為 TERMINATED 狀態。此變更會有效停止重新整理位元組處理。
* 
只有 ThingWorxInternalRemoteAccessProvider 的用戶端會啟用/需要此計時器。由於 Axeda 全域存取伺服器 (GAS) 會將週期性狀況更新傳送至 ThingWorx eMessage 連接器,因此 GASRemoteAccessProvider 的用戶端不需要此計時器。GAS 用戶端工作階段的 lastActivityTime 會自動重新整理。