基於 Pub/Sub 的同步 RRPC 呼叫實戰
1.同步呼叫場景
1.1 背景
MQTT協議是基於PUB/SUB的非同步通訊模式,無法實現服務端下發指令給裝置端,同時需要裝置端返回響應結果的場景。
IoT物聯網平臺基於MQTT協議制定了一套請求和響應的同步機制,無需改動MQTT協議即可實現同步通訊。應用伺服器通過POP API發起RRPC呼叫,IoT裝置端只需要在Timeout內,按照固定的格式回覆Pub訊息,服務端即可同步獲取IoT裝置端的響應結果。
具體流程如下:
1.2 Topic格式約定
2.同步呼叫RRPC示例
2.1 裝置端程式碼
2.2 服務端POP呼叫Rrpc
rrpc響應:
3.物模型-服務同步呼叫
InvokeThingService示例
注意:物模型 服務呼叫 POP介面
是InvokeThingService,不是RRPC
3.1 物模型- 同步服務定義
3.2 裝置端實現
注意:裝置端響應的payload要滿足物模型定義的出參結構
3.3 物模型-服務呼叫
POP介面 InvokeThingService
服務呼叫返回結果: