NI Remote-Ability 支援使用 gRPC Remote Procedure Calls (gRPC) 技術與 NI 儀器進行遠端互動。NI 投資力求讓我們的產品能使用 gRPC,為的是能夠支援客戶遠端操作 NI 產品,用於執行高品質、低潛時的量測作業。NI Remote-Ability 能讓工程師靈活運用現有的測試工作流程。
NI 軟體 Remote-Ability 能遠端操作 NI 硬體與服務,用於進行高品質、低潛時的量測作業。NI 軟體 Remote-Ability 以完整且不受作業系統限制的方式運用預先定義的獨立應用程式和/或 API 和/或指令,並且善用用戶端/伺服器架構發揮槓桿作用。
NI Remote-Ability 所採用的基礎技術是 gRPC。使用 gRPC 架構的伺服器,支援您透過多種不同的程式設計環境、平台與作業系統,存取與控制測試與量測設備。
gRPC 採用的訊息交換格式是 Protocol Buffer (Proto3)。下圖說明在 gRPC 伺服器與存根 (Stub) 之間傳送原型要求與回應的方式。
圖 1: gRPC 伺服器的要求與回應
Windows、Linux 和 Mac 均支援 NI Remote-Ability,其適用範圍概括許多程式設計語言。如需可支援語言及其作業系統的完整清單,請參閱我們的 gRPC 支援資源。
gRPC 是一種開放原始碼遠端程序呼叫 (RPC) 架構,能在任何位置執行。這個架構支援用戶端和應用程式保持透明通訊,也更易於在遠端建構連線系統。
在 gRPC 中,用戶端應用程式可以直接呼叫不同機器上伺服器應用程式的方法,就像呼叫本地端物件一樣,建立起分散式應用程式與服務更加輕鬆。在伺服器端,伺服器會執行這個介面並執行 gRPC 伺服器,用於處理用戶端呼叫。 在用戶端上,用戶端有一個「存根」(Stub,有些語言將 Stub 稱為用戶端),用於提供與伺服器相同的方法。
使用 gRPC 的其中一大原因,在於它不挑用戶端的作業系統和語言,能發揮彈性,而且可以依據專案目前所用的作業系統或程式設計語言進行調整。
NI 運用 gRPC 開發 NI Remote-Ability,形同加入 Google、Netflix 和 Square 等其他大型公司的行列。gRPC 有強大的功能,這些是 RPyC、SCPI 及 HiSLIP 等其他同類型產品所不能及的。
NI Remote-Ability 使用 gRPC 的預設授權機制。伺服器端 TLS 或相互 TLS (零信任) 能確實加密兩方通訊,而用戶端/伺服器也是可以信任的,因此能保障連線安全。只要整合授權伺服器,就能更新伺服器並加入自訂授權。
NI Remote-Ability 能協助您在進行高品質量測時確實降低潛時。以下範例示範自裝有 NI-9207 C 系列模組的 cDAQ-9179 模擬機箱讀取類比輸入電壓時的效能指標。
伺服器將資料串流至用戶端:
Linux Localhost
Windows 10 Localhost:4 GB/s1
Linux 對 Linux:11 MB/s
Thunderbolt 3 Link 區域網路
1 請注意 CISO AMP
NI-DAQmx 加上 cDAQ-9179 模擬機箱與 NI-9207 模組:
如這些基準所示,gRPC 呼叫可媲美原生驅動程式呼叫,而且潛時最短。gRPC 能支援 NI 客戶在遠端與 NI 產品互動,用於執行高品質、低潛時的量測作業,同時能充分善用既有的測試工作流程。