1. 程式人生 > >物聯網平臺構架系列 (四):Amazon, Microsoft, IBM IoT 平臺導論 之 平臺

物聯網平臺構架系列 (四):Amazon, Microsoft, IBM IoT 平臺導論 之 平臺

物聯網; iot; aws; 亞馬遜; greengrass;microsoft; azure;ibm; watson; bluemix

最近研究了一些物聯網平臺技術資料,以做選型參考。腦子裏積累大量信息,便想寫出來做一些普及。作為科普文章,力爭通俗易懂,不確保概念嚴謹性。我會給考據癖者提供相關英文鏈接,以便深入研究。

—— 馮立超 HiwebFrank


4. 平 臺


由於物聯網的地域分布廣、設備數量眾多的特點,物聯網解決方案必須借助公有雲平臺來實現。

物聯網解決方案須具備如下功能:

- 從設備收集數據

- 分析運行中的數據流

- 存儲和查詢大型數據集

- 實時和歷史數據可視化

- 與後端業務系統集成

- 管理設備


我們用一個簡單的圖示來說明物聯網解決方案構架,下圖是微軟給出的一個與廠商無關的物聯網解決方案通用示意構架:


技術分享



該簡化構架包括 設備連接數據處理與分析信息呈現 三個層面。

該構架中,物聯網設備收集數據並與雲網關交互;雲網關使其它後端服務可以處理這些數據,從雲網關,數據提交給其它業務應用程序或儀表板操作人員及其它展示設備。


  • 設備連接

如何讓設備安全可靠地連接到解決方案後端,是物聯網解決方案所面臨的巨大挑戰,相比於其它系統,物聯網設備有如下一些特點:

- 通常是無人操作的嵌入式系統甚至是沒有操作系統的設備

- 可能部署到物理訪問成本高昂的遠程位置等各種部署場景

- 可能無法通過其他方式來與設備交互,而只能通過解決方案後端來訪問

- 供電及運算資源可能都有限

- 網絡連接可能不穩定、緩慢或高成本

- 可能需要使用專屬、自定義或行業特定的應用層協議

- 可以使用大量常見的硬件和軟件平臺來創建


除上述特點之外,物聯網解決方案還必須考慮可擴展性、安全性和可靠性。傳統的技術如Web容器或消息傳送代理等不足以支撐這樣的需求。

為此,物聯網平臺廠商都提出自己的解決方法,如微軟的 Azure IoT Hub 及 Azure IoT SDK 等。關於 Azure IoT Hub 請參見上一講相關內容。


有關設備連接的多種情況,微軟給出的概念構架圖如下:

技術分享


  • 數據處理與分析

在物聯網解決方案中,數據處理與分析主要交由在公有雲上的後端服務進行,包括設備數據篩選、匯總、路由到其他服務等等。後端服務主要負責如下工作:

- 接收來自設備的大規模數據,並確定如何處理和存儲這些數據

- 必要時可以從雲端向設備發送數據或指令

- 設備註冊、預配置及安全連接控制

- 跟蹤設備狀態並監控設備活動

- 存儲和分析設備歷史數據,從而實現設備預見性維護

- 與設備進行交互,實現反饋控制等


當然,並不是所有的業務都必須交由雲端處理,例如一些必須及時響應的操作比如緊急剎車,這些處理及操作都必須在設備端直接進行;另外,設備也可以進行一些預處理,從而提高效率、降低數據傳輸量。


為此,設備本身應該具備一些處理能力。


微軟的 Windows 10 IoT Core,提供了強大的設備端計算能力;

而亞馬遜的 Greengrass,則使物聯網設備可以運行 AWS Lambda 函數、同步設備數據以及與其他設備安全通信,甚至無需連接互聯網。Greengrass 可確保物聯網設備快速響應本地事件、運行時采用間歇性連接,並最大程度地降低將物聯網數據傳輸到雲的成本。

華為的 LiteOS,則強調輕量級、低功耗(一個紐扣電池用好幾年)、快速啟動(毫秒級)及響應(納秒級)、多種連接協議(廣域/局域)等特性。


另外,一些物聯網設備,也可以通過完全自主研發的芯片,實現相關數據采集與處理。

比如圖像火災監測設備,可以將圖像火災分析算法集成在設備芯片中,由設備芯片中的算法進行判斷,僅將是否發生火災的判定結果傳輸到雲端。

而對於較復雜的圖像、或者誤判圖像,則將圖像數據及其設備端判定結果傳到雲端,通過機器學習,逐步改進算法,提高圖像處理能力,並通過物聯網對設備進行升級操作。


  • 信息呈現和業務連接

信息呈現和業務連接層 用於展示和操控從設備收集的數據。它可讓用戶查看和分析從其設備收集的數據。 這些視圖可以采用儀表板或 BI 報表的格式,以顯示歷史數據和/或接近實時的數據。

此層還可實現物聯網解決方案與現有業務應用程序的集成,以連接企業業務流程或工作流。 例如,圖像火災監測系統,在發現監測設備故障信息後,通過與維護服務商現有的運維計劃系統集成,可以預約工程師到現場進行檢查。


下圖是微軟提供的一個物聯網工廠的應用界面樣例。

在該界面中,儀表板左側展示了生產線細節信息。如儀表板左側第一條,提示機械臂嚴重警告,而在儀表板中部的模擬界面中,同樣用紅色標出機械臂警告位置。在右側的報警欄,列出不同時間點的警告信息,如機械臂溫度警告等。而在儀表板下方,則展示該條生產線的整體效率信息。


技術分享



  • 微軟物聯網解決方案構架

下圖是微軟物聯網解決方案的較詳細的構架圖


技術分享


微軟的物聯網解決方案平臺,通過微軟的公有雲 Azure 實現,即 微軟物聯網套件 Azure IoT Suite。設備通過 Azure IoT Hub 註冊和接入,然後可以使用微軟公有雲 Azure 的各種強大的數據處理、存儲、分析、機器學習能力,構建所需的各類物聯網業務。


微軟物聯網解決方案通常至少會使用到如下服務:

- Azure IoT Hub: 該服務提供設備到雲和雲到設備的消息傳送功能,並充當雲和其他主要 IoT 套件服務的網關。 該服務使得可以從大量設備接收消息,並將命令發送給設備。 使用該服務,還能夠管理設備,例如,可以配置、重啟連接到 Azure IoT Hub 的設備,或對其執行恢復出廠設置操作。

- Azure Stream Anzlytics: 流分析提供運行數據分析。 該服務處理傳入遙測數據、執行聚合以及檢測事件。 以及處理包含元數據或來自設備的命令響應的信息消息。 解決方案使用流分析來處理設備消息,並將這些消息傳送給其他服務。

- Azure Storage 和 Azure DocumentDB: Azure 存儲和 Azure DocumentDB 提供數據存儲功能。 解決方案使用 Blob Storage 來存儲設備遙測數據並使其可用於分析;使用 DocumentDB 來存儲設備元數據,以及啟用解決方案的設備管理功能。

- Azure Web App 和 Microsoft Power BI: 提供數據可視化功能。 借助 Power BI 的靈活性,可以快速生成針對具體業務要求的交互式儀表板。



微軟還給出了一些預配置解決方案和相關演示案例,有興趣的讀者可以點擊如下鏈接,通過實際操作了解上面截圖中的工廠物聯網使用場景:http://www.microsoftazureiotsuite.com/demos/connectedfactory 。


  • 亞馬遜物聯網解決方案構架

而亞馬遜給出的構架如下圖所示:

技術分享

亞馬遜物聯網解決方案當然強調其公有雲平臺 AWS,而最受其推崇的,自然是當下正熱的 Serverless 構架的 AWS Lambda。

亞馬遜物聯網解決方案至少用到如下 AWS 服務:

- Amazon Simple Storage Service:亞馬遜簡單存儲服務,簡稱 Amazon S3,提供可擴展的存儲服務。

- Amazon DynamoDB:提供受管理的 NoSQL 數據庫服務。

- Amazon Kinesis:提供大規模流數據實時處理能力。

- AWS Lambda:在亞馬遜公有雲平臺發布運行自定義代碼。

ZStack創始人張鑫的文章《Serverless,後端小程序的未來》 比較透徹地講解了 AWS Lambda 及 Serverless 的原理、構架、應用場景、優勢和不足,並講述了Serverless與PaaS的區別、與容器技術的區別及聯系等,推薦一讀。

- Amazon Simple Notification Service:亞馬遜簡單通知服務,簡稱 Amazon SNS,負責處理通知發送與接收。

- Amazon Simple Queue Service:亞馬遜簡單隊列服務,簡稱 Amazon SQS,將數據存儲到隊列,由應用程序獲取。


(看看人家,做那麽大的生意,本星球/本星系第一啊,啥都謙稱為 Simple 簡單啥啥啥,另外,包括現在 IT 運維領域最重要的 SNMP 簡單網絡管理協議、電子郵件的 SMTP 簡單郵件傳輸協議......;看看我們,動輒 皇家、擎天、至尊,汗顏啊!慚愧啊!)


  • IBM 物聯網解決方案構架

IBM 的物聯網解決方案名為 Watson IoT Platform,(永遠的沃森)。其構架圖如下所示:
技術分享


IBM 物聯網解決方案基於 IBM 公有雲平臺 Bluemix,涉及到的服務至少包括:

- IBM Cloudant NoSQL DB:用於存儲和訪問設備數據。

- IBM Message Hub:為實時數據提供低延遲、可擴展的、高吞吐量的消息總線。

- IBM Blockchain 集成:對於特定領域,可以集成 IBM 區塊鏈服務,以符合特定的商業規則要求。

- 儀表板:利用 Bulemix 提供的數據可視化儀表板,可以可視化展示設備狀態數據,提供 BI 功能。


IBM給出了一個簡單教程,可以快速搭建物聯網測試環境,可以參見https://console.ng.bluemix.net/docs/services/IoT/getting_started/quickstart/index.html#quickstart



本講是本系列文檔的核心,用了比較多的篇幅講了業界領先的廠商的物聯網平臺。下一講,我們探討安全。



本文出自 “Hiweb Cloud BigData IoT” 博客,請務必保留此出處http://hiweb.blog.51cto.com/3355462/1923406

物聯網平臺構架系列 (四):Amazon, Microsoft, IBM IoT 平臺導論 之 平臺