物聯網技術已經火了很多年了,業界各大廠商都有各自成熟的解決方案。我們公司主要搞新能源汽車充電,充電樁就是物聯網技術的最大應用,車聯網、物聯網、網際網路三網合一。2017年的時候重點研究過Azure IoT技術架構和使用,
隨著業界技術的發展,近期又重新關注並研究了最新的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最新的技術架構:
下面,我們詳細介紹一下這個架構組成:
一、 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智慧、更加體系。分享給大家。
周國慶
2020/6/7