全部產品
Search
文件中心

IoT Platform:什麼是RRPC

更新時間:Jun 30, 2024

MQTT協議基於PUB/SUB的非同步通訊模式,不適用於服務端控制裝置端並同步擷取返回結果的情境。物聯網平台基於MQTT協議給使用者服務端提供了RRPC介面,實現使用者服務端下發RRPC訊息資料並同步等待裝置響應資料。

名詞解釋

名詞

說明

RRPC

是Revert-RPC的簡稱。RPC(Remote Procedure Call)是指採用客戶機/伺服器模式,您不需要瞭解底層技術協議,即可遠程請求服務。RRPC則可以實現由服務端請求裝置端,並能夠使裝置端響應的功能。

RRPC訂閱Topic

裝置端訂閱RRPC訊息時傳遞的Topic,含有萬用字元。

RRPC請求訊息

物聯網平台下發給裝置端的訊息。

RRPC響應訊息

裝置端回複給物聯網平台的訊息。

RRPC訊息ID

物聯網平台為每次RRPC調用,產生的唯一訊息ID,可標識不同RRPC訊息。

RRPC原理

RRPC

具體流程如下:

  1. (可選)裝置端訂閱RRPC相關Topic。

    物聯網平台根據MQTT協議,僅定製了RRPC訊息的請求和響應機制。裝置端若要擷取物聯網平台下發的RRPC訊息資料,並做應對處理,需要在裝置端先訂閱Topic,然後開發資料處理邏輯。

    • 裝置可通過發送SUB指令訂閱指定Topic,實現從物聯網平台擷取訊息。開發方法,請參見Link SDK中訂閱Topic的程式碼範例。

    • 在裝置端開發處理RRPC訊息資料的方法,請參見RRPC功能開發樣本

  2. 使用者服務器調用物聯網平台的RRpc介面。

  3. 物聯網平台收到伺服器端RRPC調用請求,向裝置下發一條RRPC請求訊息。訊息體為使用者傳入的資料,Topic為物聯網平台定義的Topic,且攜帶RRPC訊息ID。

  4. 裝置收到下行訊息後,按照指定Topic格式(包含之前物聯網平台下發的唯一RRPC訊息ID),回複一條RRPC響應訊息給物聯網平台。

  5. 物聯網平台提取RRPC訊息ID,和之前的RRPC請求訊息匹配。

  6. 物聯網平台將響應結果返回給使用者服務器。

  7. (可選)裝置對已訂閱Topic的訊息進行處理。

說明

調用RRpc介面時,可能出現以下情況:

  • 裝置不線上,物聯網平台會向使用者服務器,返回裝置離線的錯誤資訊。

  • 裝置未在逾時時間(8秒)內回複RRPC響應訊息,物聯網平台會向使用者服務器,返回逾時的錯誤資訊。

使用Topic

不同Topic格式使用方法不同:

RRPC調用實踐樣本,請參見遠端控制樹莓派伺服器