即時 IoT 更新

Azure Functions
Azure IoT Edge
Azure IoT 中樞
Azure 地圖服務
Azure SignalR 服務

本指南概述網頁或行動裝置應用程式等客戶端即時接收更新的方式。 雲端應用程式不再提交 HTTP 要求以取得最新資訊。 相反地,Azure SignalR Service 會在內容可供使用時立即將內容推送至用戶端。 作為受控服務,Azure SignalR Service 可簡化將即時通訊新增至應用程式的程式。

架構

顯示 Azure SignalR Service 如何讓用戶端如網頁和行動應用程式使用即時 IoT 資料更新的架構圖表。

下載此架構的 Visio 檔案

工作流程

  1. 網頁、行動應用程式和其他用戶端會向無伺服器計算平臺 Azure Functions 要求 Azure SignalR 服務端點和令牌。 除了整合各種來源的數據之外,Functions 也會管理用戶端群組的 Azure SignalR 服務端點和資訊。

  2. 用戶端會使用端點和令牌來連線到 Azure SignalR 服務。

  3. IoT 裝置會將遙測傳送至 Azure IoT Edge 並 Azure IoT 中樞。 IoT Edge 會將已處理的 IoT 裝置遙測傳送至 IoT 中樞。

  4. 遙測會觸發 Azure Functions 中的函式。 函式會完成下列工作:

    • 執行您在遙測上程式的任何計算。
    • 以您程序設計的任何方式轉換數據。
    • 使用受控服務 Azure SignalR Service 來廣播數據。
  5. Azure SignalR Service 支援數種即時應用程式所使用的技術,例如 WebSocket,這是慣用的傳輸通訊協定。 但 Azure SignalR 服務會使用伺服器傳送事件 (SSE) 和 WebSocket 無法使用時長時間輪詢等技術。 Azure SignalR Service 會根據伺服器和客戶端支援的功能,自動偵測並初始化適當的傳輸通訊協定。

  6. Azure SignalR 服務訊息會向特定用戶端或用戶端群組傳送。 用戶端會使用數據來更新應用程式。

案例詳細資料

物聯網 (IoT) 應用程式通常需要來自IoT裝置的實時數據。 例如,某些應用程式會顯示他們從裝置取得的遙測或警示數據。 透過傳統的輪詢方法,這些用戶端應用程式會要求裝置變更狀態。

本指南概述網頁或行動裝置應用程式等客戶端即時接收更新的方式。 雲端應用程式不再提交 HTTP 要求以取得最新資訊。 相反地,Azure SignalR Service 會在內容可供使用時立即將內容推送至用戶端。 作為受控服務,Azure SignalR Service 可簡化將即時通訊新增至應用程式的程式。

例如,零售商可能會有儀錶板應用程式,以顯示市集中目前的客戶數目。 透過本指南的解決方案,應用程式不會要求最新的客戶計數。 相反地,當總變更時,Azure SignalR Service 會將該資訊饋送給應用程式。

潛在的使用案例

除了零售行業,其他領域也可以受益於此解決方案:

  • 伺服器將即時數據推送至用戶端以用於視覺效果和應用程式的任何案例。
  • 豐富且高度互動式的應用程式,例如自定義的使用者介面和地圖。

提供即時資料更新的特定範例包括:

  • 車隊監測地圖車輛位置(汽車)。
  • 遠端監視製造流程的溫度、壓力和狀態(也適用於能源行業)。
  • 鑽研使用遙測的控制系統,例如每分鐘革命、扭力和鉤子負載,以將程序優化。
  • 警示機制。

考量

當您使用此模式時,請考慮下列幾點:

  • 如果您的系統有嚴格的延遲需求,請注意可能會大幅增加延遲的因素:

    • 在即時案例中,雲端應用程式訊號可能會增加最多 10 秒的延遲。
    • 您新增至解決方案的任何資料轉換步驟都可能會增加延遲。
  • Azure SignalR Service 會定義七個層級,以容納各種效能容量。 了解影響這些值的因素,以判斷案例的輸入和輸出容量。 然後選取最符合您需求的階層。 如需詳細資訊,請參閱 Azure SignalR 服務的效能指南。

  • Azure SignalR 會以 SignalR 通訊協定為基礎,並在將訊息廣播至用戶端時遵循發佈-訂閱模式。 當您需要在將訊息發佈至多個客戶端時保證訊息傳遞時,請考慮有自己的訊息通知 (ACK) 機制。

  • 當您在Power BI 視覺效果中顯示即時資料時,請考慮 在Power BI 中即時串流作為此解決方案的替代方案。

下一步

若要瞭解相關解決方案,請參閱此資訊:

IoT 架構指南

IoT 模式

IoT 架構