基於Azure IoT開發.NET物聯網應用系列-全新的Azure IoT架構
- 2020 年 6 月 8 日
- 筆記
- .NET Core, .NET Research, Azure IoT
物聯網技術已經火了很多年了,業界各大廠商都有各自成熟的解決方案。我們公司主要搞新能源汽車充電,充電樁就是物聯網技術的最大應用,車聯網、物聯網、互聯網三網合一。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