Azure IoT解決方案
前面寫了一篇AWS的IoT解決方案: AWS IOT解決方案分析。
今天來看下Azure的IoT的解決方案是怎么實現(xiàn)的。
一、體系結(jié)構(gòu)
下面圖是微軟給出的IoT解決方案的體系結(jié)構(gòu):
在此體系結(jié)構(gòu)中,IoT 設(shè)備收集其發(fā)送到云網(wǎng)關(guān)的數(shù)據(jù)。 云網(wǎng)關(guān)讓其他后端服務(wù)可通過儀表板或其他呈現(xiàn)設(shè)備,從數(shù)據(jù)傳遞到其他企業(yè)運營應(yīng)用程序或操作員的位置處理數(shù)據(jù)。
1.1設(shè)備連接
在此 IoT 解決方案體系結(jié)構(gòu)中,設(shè)備將遙測數(shù)據(jù)(例如抽水站的傳感器讀數(shù))發(fā)送到云中進(jìn)行存儲和處理。 在預(yù)測性維護(hù)方案中,解決方案后端可以使用傳感器數(shù)據(jù)流來判斷特定的泵何時需要維護(hù)。設(shè)備還可以通過讀取來自云終結(jié)點的消息,接收和響應(yīng)云到設(shè)備的消息。 例如,在預(yù)見性維護(hù)方案中,解決方案后端可將消息發(fā)送到抽水站中的其他水泵,以便在維護(hù)應(yīng)開始之前先重新路由流量。此過程將確保維護(hù)工程師到場后即可開始工作。
IoT 項目面臨的***挑戰(zhàn)之一是如何可靠且安全地將設(shè)備連接到解決方案后端。相比于其他客戶端(例如瀏覽器和 Mobile Apps),IoT 設(shè)備有不同的特征。 IoT 設(shè)備:
- 通常是無人操作的嵌入式系統(tǒng)。
- 可以部署到物理訪問昂貴的遠(yuǎn)程位置。
- 可能只能通過解決方案后端來訪問。無法通過其他方式來與設(shè)備交互。
- 能力和處理資源可能都有限。
- 網(wǎng)絡(luò)連接可能不穩(wěn)定、緩慢或昂貴。
- 可能需要使用專屬、自定義或行業(yè)特定的應(yīng)用程序協(xié)議。
- 可以使用大量常見的硬件和軟件平臺來創(chuàng)建。
除了上述需求之外,所有 IoT 解決方案還必須提供可擴(kuò)展性、安全性和可靠性。 使用傳統(tǒng)技術(shù)(例如 Web 容器和消息傳送代理)時,所產(chǎn)生的一系列連接需求不僅難以實現(xiàn),而且實現(xiàn)起來非常耗時。使用 Azure IoT 中心和 Azure IoT 設(shè)備 SDK 可以更輕松地實現(xiàn)符合這些要求的解決方案。
設(shè)備可以直接與云網(wǎng)關(guān)終結(jié)點通信;如果設(shè)備無法使用任何云網(wǎng)關(guān)支持的協(xié)議,則可以通過中間網(wǎng)關(guān)進(jìn)行連接。例如,AzureIoT 協(xié)議網(wǎng)關(guān)可以在設(shè)備不能使用 IoT 中心支持的任何協(xié)議時執(zhí)行協(xié)議轉(zhuǎn)換。
1.2數(shù)據(jù)處理和分析
在云中,IoT 解決方案后端負(fù)責(zé)大部份數(shù)據(jù)的處理,例如篩選及匯總遙測數(shù)據(jù)并將其路由到其他服務(wù)。IoT 解決方案后端:
- 接收大規(guī)模來自設(shè)備的遙測數(shù)據(jù),并確定如何處理和存儲該數(shù)據(jù)。
- 可能允許你從云向特定設(shè)備發(fā)送命令。
- 提供可讓你預(yù)配設(shè)備并控制哪些設(shè)備能夠連接到基礎(chǔ)結(jié)構(gòu)的設(shè)備注冊功能。
- 可讓你跟蹤設(shè)備狀態(tài)并監(jiān)視其活動。
在預(yù)見性維護(hù)方案中,解決方案后端存儲歷史遙測數(shù)據(jù)。解決方案后端可以使用此數(shù)據(jù)來識別可指示特定水泵已達(dá)到維護(hù)時間的模式。
IoT 解決方案可以包含自動反饋循環(huán)。例如,解決方案后端中的分析模塊可從遙測數(shù)據(jù)中識別出特定設(shè)備的溫度超出正常工作級別。 然后,解決方案可以將命令發(fā)送到該設(shè)備,指示它采取糾正措施。
1.3呈現(xiàn)和業(yè)務(wù)連接
呈現(xiàn)和業(yè)務(wù)連接層可讓最終用戶與 IoT 解決方案及設(shè)備交互。 它可讓用戶查看和分析從其設(shè)備收集的數(shù)據(jù)。 這些視圖可以采用儀表板或 BI 報表的格式,以顯示歷史數(shù)據(jù)和/或接近實時的數(shù)據(jù)。 例如,操作員可檢查特定抽水站的狀態(tài),并查看系統(tǒng)引發(fā)的任何警報。此層還可集成 IoT 解決方案與現(xiàn)有業(yè)務(wù)線應(yīng)用程序,以鏈接企業(yè)業(yè)務(wù)流程或工作流。 例如,預(yù)測性維護(hù)解決方案可集成計劃系統(tǒng),以在解決方案識別出需要維護(hù)的泵時預(yù)約工程師到抽水站檢查。
二、具體服務(wù)
前面是一個抽象的體系結(jié)構(gòu),再來看下微軟提供了那些具體服務(wù),在Azure的物聯(lián)網(wǎng)分類里面一共有下面6個服務(wù):
流分析,機(jī)器學(xué)習(xí),通知中心,Time Series Insights都比較容易理解。IoT中心和事件中心兩個服務(wù)比較容易混淆。分別來看下。
2.1 IoT中心
首先看IoT 中心,核心是設(shè)備
Azure IoT 中心是一項完全托管的服務(wù),可在數(shù)百萬個 IoT 設(shè)備和一個解決方案后端之間實現(xiàn)安全可靠的雙向通信。 Azure IoT 中心:
- 提供了多個設(shè)備到云和云到設(shè)備的通信選項,包括單向消息傳遞、文件傳輸和請求-答復(fù)方法。
- 將內(nèi)置的聲明性消息路由到其他 Azure 服務(wù)。
- 為設(shè)備元數(shù)據(jù)和同步的狀態(tài)信息提供可查詢存儲。
- 使用每個設(shè)備的安全密鑰或 X.509 證書來實現(xiàn)安全的通信和訪問控制。
- 可廣泛監(jiān)視設(shè)備連接性和設(shè)備標(biāo)識管理事件。
- 包含***語言和平臺的設(shè)備庫。
2.2 事件中心
事件中心在解決方案體系結(jié)構(gòu)中扮演的常見角色是充當(dāng)事件管道的“前門”,通常稱為“事件引入器”。 事件引入器是位于事件發(fā)布者與事件使用者之間的組件或服務(wù),可以將事件流的生成與這些事件的使用分離開來。 下圖顯示了此體系結(jié)構(gòu):
Azure 事件中心是一種事件處理服務(wù),用于提供云規(guī)模的事件與遙測引入,具有較低的延遲和較高的可靠性。 事件中心提供消息流處理功能,其特征不同于傳統(tǒng)的企業(yè)消息傳送。事件中心功能圍繞高吞吐量和事件處理方案而構(gòu)建。 因此,事件中心未實現(xiàn)適用于消息傳送實體(例如主題)的某些消息傳送功能。
事件中心在命名空間級別創(chuàng)建,使用 AMQP 和 HTTP 作為其主要的API 接口。
2.3 兩者定位對比
IoT 中心是專為 IoT 設(shè)備連接設(shè)計的服務(wù),事件中心主要用于大規(guī)模事件引入。在同一解決方案中同時使用IoT 中心和事件中心并不少見。 IoT 中心處理設(shè)備到云的通信,而事件中心處理的是將后期事件引入實時處理引擎。
【本文為51CTO專欄作者“大數(shù)據(jù)和云計算”的原創(chuàng)稿件,轉(zhuǎn)載請通過微信公眾號獲取聯(lián)系和授權(quán)】