天天看點

基于Azure IoT開發.NET物聯網應用系列-全新的Azure IoT架構

物聯網技術已經火了很多年了,業界各大廠商都有各自成熟的解決方案。我們公司主要搞新能源汽車充電,充電樁就是物聯網技術的最大應用,車聯網、物聯網、網際網路三網合一。2017年的時候重點研究過Azure IoT技術架構和使用,

Azure IoT 技術研究系列1-入門篇

随着業界技術的發展,近期又重新關注并研究了最新的Azure  IoT架構,現在将結合着.NET Core技術和Azure IoT 做一些物聯網應用,将研究的成果分享給大家。

關于IoT的一些基本概念,重新梳理一下,分享給大家:

  • IoT:Internet of Things,即萬物互聯。
  • IoT Devices:物聯網裝置。
  • IoT Edge Devices:物聯網邊緣計算裝置。
  • IoT Gateway:IoT網關,負責IoT物聯網裝置的接入、管理和控制、通訊(上行和下行)
  • 通訊協定:TCP、MQTT、AMQP、HTTPS、zgebee等等
  • Azure IoT Central。 IoT Central 是完全托管的 IoT物聯網 SaaS(軟體即服務)服務
  • 目前Azure仍然提供了Azure IoT Hub:直譯為Azure的物聯網中心。
  • Azure IoT Hub為物聯網裝置提供注冊、管理、溝通互動的雲服務。可用于管理數十億物聯網裝置,提供可靠和安全的雲端與裝置之間的雙向通信支援,每月可處理數以萬億計消息,并簡化了與其他Azure服務之間的內建,包括Azure機器學習以及
  • Azure流分析等。它是微軟Azure IoT Suite的重要組成部分,也是微軟物聯網戰略的重要基礎。

接下來,我們看一下Azure IoT最新的技術架構:

基于Azure IoT開發.NET物聯網應用系列-全新的Azure IoT架構

   下面,我們詳細介紹一下這個架構組成:

   一、 Things(物聯網裝置側)

  1. IoT devices:前面已經介紹過了,泛指各類物聯網裝置。裝置可以安全地注冊到雲中,并且可以連接配接到雲之後,發送和接收資料。

  2. IoT edge devices:物聯網邊緣計算裝置,某些裝置可能會是在裝置本身上或在現場網關中執行一些資料處理的邊緣裝置。舉個大家平時常見的裝置:充電樁,作為IoT邊緣計算裝置,其自身有嵌入式作業系統、AI智能晶片,可以實作一些簡單的邊緣計算場景

  3. Cloud Gateway:雲網關,雲網關提供一個雲中心,以便裝置安全地連接配接到雲并發送資料。 它還提供裝置管理功能,包括裝置的指令和控制。

      對于雲網關,Azure 建議使用Azure  IoT 中心。Azure IoT 中心是從裝置引入事件的托管雲服務,充當裝置與後端服務之間的消息代理。 同時提供安全連接配接、事件引入、雙向通信和裝置管理。

      當然,我們也可以自建雲網關,支援各類物聯網裝置的接入、管理和控制。

  4. Bulk devices provisioning:裝置批量設定,統一管理設定海量裝置。 對于注冊和連接配接許多組裝置。可以使用 IoT 中心裝置預配服務 (DPS)。 DPS 可用于大規模配置設定裝置并将裝置注冊到特定 Azure IoT 中心終結點。

二、Insights(洞察、洞見,可以了解為裝置接入管理、資料處理、資料持久化、資料分析、可視化)

  1. Streaming Processing:流式資料處理

  Azure提供了專門的流分析服務。 流分析可以使用時間開窗函數、流聚合和外部資料源聯接大規模執行複雜分析。假如說我們自建系統做物聯網資料流式分析的話,可以使用Kafka、Flink、Spark等主流的大資料流式分析技術。

  2. Data transformation:資料轉換操作或聚合遙測資料流。

  常見的場景包括通訊協定轉換,例如,将二進制資料轉換為 JSON,或者合并資料點。 如果資料在到達 IoT 中心之前必須轉換,可以使用協定網關(一個可以轉換資料的網關)。 同時,資料可以在到達 IoT 中心後轉換。

  在這種情況下,可以使用 Azure Functions 函數計算,Azure Functions内置了與 IoT 中心、Cosmos DB 和 Blob 存儲的內建。

  3. Warm path store:熱存儲

  熱存儲,存儲實時物聯網裝置上傳下發的資料,這些資料必須可按裝置實時查詢,以用于報告和可視化。舉個實際的業務場景:充電樁實時上傳的電壓、電流、SOC等實時裝置資料,這些資料的實時性要求高,可以存儲在熱存儲中。

  4. Cold path store:冷存儲

  如果所有的物聯網裝置資料全部存儲在熱存儲中,其硬體成本會很高。資料具備一定的時效性,因為,當資料失去了一定的時效性要求後,可以存儲在冷存儲中,降低存儲的成本。

  這些資料會保留較長時間,用于批處理。 對于冷路徑存儲,可以使用 Azure Blob 存儲。 資料可無限期地以較低成本在 Blob 存儲中存檔,并且可以輕松通路以進行批處理。

  5. UI Reporting and tools:可視化展現

  可視化展現方面,通常包含:IoT裝置管理UI、裝置控制UI、趨勢圖、連接配接狀态圖表、資料分析圖表等等,這個地方可以使用各類UI展現技術實作了。

三、 Action(運維管理、操作)

  1. Machine Learning:機器學習

   大家會問,用機器學習幹什麼?通過曆史遙測資料執行模型訓練,實作IoT裝置的預測性維護,同時還能做什麼?還可以對上報的資料建立不同的模型,實時進行訓練,智能控制裝置。比如說充電樁的例子,動态調控充電功率,實作最大充電效率。

  2. Business integration:業務流程內建

   業務流程內建根據來自裝置資料執行各類後續操作。 可以包括:存儲實時消息、引發警報、發送電子郵件或短信,或者與 CRM 內建。舉個實際的業務場景:當需要裝置運維時,發出一個運維工單到産品運維部門,實作IoT裝置的智能運維和派單處理。

  3. User Management:使用者管理

   使用者管理限制哪些使用者或組可以在裝置上執行操作,例如更新固件。 它還定義應用程式中的使用者功能。

  綜上是Azure IoT架構的詳細介紹和說明,比2017年時,産品更加SaaS化,更加AI智能、更加體系。分享給大家。

  參考連結:  https://docs.microsoft.com/en-us/azure/iot-hub/?WT.mc_id=DX-MVP-5003606

                      https://docs.microsoft.com/en-us/azure/iot-hub/about-iot-hub?WT.mc_id=DX-MVP-5003606

周國慶

2020/05

繼續閱讀