物联网平台构架系列 (四):Amazon, Microsoft, IBM IoT 解决方案导论 之 平台
最近研究了一些物聯(lián)網(wǎng)平臺技術(shù)資料,以做選型參考。腦子里積累大量信息,便想寫出來做一些普及。作為科普文章,力爭通俗易懂,不確保概念嚴(yán)謹(jǐn)性。我會給考據(jù)癖者提供相關(guān)英文鏈接,以便深入研究。
? ? ? —— 馮立超 HiwebFrank
4. 平 臺
? ? 由于物聯(lián)網(wǎng)的地域分布廣、設(shè)備數(shù)量眾多的特點(diǎn),物聯(lián)網(wǎng)解決方案必須借助公有云平臺來實(shí)現(xiàn)。
? ? 物聯(lián)網(wǎng)解決方案須具備如下功能:
? ? ?- 從設(shè)備收集數(shù)據(jù)
? ? ?- 分析運(yùn)行中的數(shù)據(jù)流
? ? ?- 存儲和查詢大型數(shù)據(jù)集
? ? ?- 實(shí)時和歷史數(shù)據(jù)可視化
? ? ?- 與后端業(yè)務(wù)系統(tǒng)集成
? ? ?- 管理設(shè)備
? ? 我們用一個簡單的圖示來說明物聯(lián)網(wǎng)解決方案構(gòu)架,下圖是微軟給出的一個與廠商無關(guān)的物聯(lián)網(wǎng)解決方案通用示意構(gòu)架:
? ? 該簡化構(gòu)架包括?設(shè)備連接、數(shù)據(jù)處理與分析、信息呈現(xiàn)?三個層面。
? ? 該構(gòu)架中,物聯(lián)網(wǎng)設(shè)備收集數(shù)據(jù)并與云網(wǎng)關(guān)交互;云網(wǎng)關(guān)使其它后端服務(wù)可以處理這些數(shù)據(jù),從云網(wǎng)關(guān),數(shù)據(jù)提交給其它業(yè)務(wù)應(yīng)用程序或儀表板操作人員及其它展示設(shè)備。
設(shè)備連接
? ? 如何讓設(shè)備安全可靠地連接到解決方案后端,是物聯(lián)網(wǎng)解決方案所面臨的巨大挑戰(zhàn),相比于其它系統(tǒng),物聯(lián)網(wǎng)設(shè)備有如下一些特點(diǎn):
? ? ?- 通常是無人操作的嵌入式系統(tǒng)甚至是沒有操作系統(tǒng)的設(shè)備
? ? ?- 可能部署到物理訪問成本高昂的遠(yuǎn)程位置等各種部署場景
? ? ?- 可能無法通過其他方式來與設(shè)備交互,而只能通過解決方案后端來訪問
? ? ?- 供電及運(yùn)算資源可能都有限
? ? ?- 網(wǎng)絡(luò)連接可能不穩(wěn)定、緩慢或高成本
? ? ?- 可能需要使用專屬、自定義或行業(yè)特定的應(yīng)用層協(xié)議
? ? ?- 可以使用大量常見的硬件和軟件平臺來創(chuàng)建
? ? 除上述特點(diǎn)之外,物聯(lián)網(wǎng)解決方案還必須考慮可擴(kuò)展性、安全性和可靠性。傳統(tǒng)的技術(shù)如Web容器或消息傳送代理等不足以支撐這樣的需求。
? ? 為此,物聯(lián)網(wǎng)平臺廠商都提出自己的解決方法,如微軟的 Azure IoT Hub 及 Azure IoT SDK 等。關(guān)于 Azure IoT Hub 請參見上一講相關(guān)內(nèi)容。
? ?有關(guān)設(shè)備連接的多種情況,微軟給出的概念構(gòu)架圖如下:
?
數(shù)據(jù)處理與分析
? ? 在物聯(lián)網(wǎng)解決方案中,數(shù)據(jù)處理與分析主要交由在公有云上的后端服務(wù)進(jìn)行,包括設(shè)備數(shù)據(jù)篩選、匯總、路由到其他服務(wù)等等。后端服務(wù)主要負(fù)責(zé)如下工作:
? ? ?- 接收來自設(shè)備的大規(guī)模數(shù)據(jù),并確定如何處理和存儲這些數(shù)據(jù)
? ? ?- 必要時可以從云端向設(shè)備發(fā)送數(shù)據(jù)或指令
? ? ?- 設(shè)備注冊、預(yù)配置及安全連接控制
? ? ?- 跟蹤設(shè)備狀態(tài)并監(jiān)控設(shè)備活動
? ? ?- 存儲和分析設(shè)備歷史數(shù)據(jù),從而實(shí)現(xiàn)設(shè)備預(yù)見性維護(hù)
? ? ?- 與設(shè)備進(jìn)行交互,實(shí)現(xiàn)反饋控制等
? ? 當(dāng)然,并不是所有的業(yè)務(wù)都必須交由云端處理,例如一些必須及時響應(yīng)的操作比如緊急剎車,這些處理及操作都必須在設(shè)備端直接進(jìn)行;另外,設(shè)備也可以進(jìn)行一些預(yù)處理,從而提高效率、降低數(shù)據(jù)傳輸量。
? ? 為此,設(shè)備本身應(yīng)該具備一些處理能力。
? ? 微軟的 Windows 10 IoT Core,提供了強(qiáng)大的設(shè)備端計(jì)算能力;
? ? 而亞馬遜的 Greengrass,則使物聯(lián)網(wǎng)設(shè)備可以運(yùn)行 AWS Lambda 函數(shù)、同步設(shè)備數(shù)據(jù)以及與其他設(shè)備安全通信,甚至無需連接互聯(lián)網(wǎng)。Greengrass 可確保物聯(lián)網(wǎng)設(shè)備快速響應(yīng)本地事件、運(yùn)行時采用間歇性連接,并最大程度地降低將物聯(lián)網(wǎng)數(shù)據(jù)傳輸?shù)皆频某杀尽?/span>
? ? 華為的 LiteOS,則強(qiáng)調(diào)輕量級、低功耗(一個紐扣電池用好幾年)、快速啟動(毫秒級)及響應(yīng)(納秒級)、多種連接協(xié)議(廣域/局域)等特性。
? ? 另外,一些物聯(lián)網(wǎng)設(shè)備,也可以通過完全自主研發(fā)的芯片,實(shí)現(xiàn)相關(guān)數(shù)據(jù)采集與處理。
? ? 比如圖像火災(zāi)監(jiān)測設(shè)備,可以將圖像火災(zāi)分析算法集成在設(shè)備芯片中,由設(shè)備芯片中的算法進(jìn)行判斷,僅將是否發(fā)生火災(zāi)的判定結(jié)果傳輸?shù)皆贫恕?/span>
? ? 而對于較復(fù)雜的圖像、或者誤判圖像,則將圖像數(shù)據(jù)及其設(shè)備端判定結(jié)果傳到云端,通過機(jī)器學(xué)習(xí),逐步改進(jìn)算法,提高圖像處理能力,并通過物聯(lián)網(wǎng)對設(shè)備進(jìn)行升級操作。
信息呈現(xiàn)和業(yè)務(wù)連接
? ? 信息呈現(xiàn)和業(yè)務(wù)連接層 用于展示和操控從設(shè)備收集的數(shù)據(jù)。它可讓用戶查看和分析從其設(shè)備收集的數(shù)據(jù)。 這些視圖可以采用儀表板或 BI 報(bào)表的格式,以顯示歷史數(shù)據(jù)和/或接近實(shí)時的數(shù)據(jù)。
? ? 此層還可實(shí)現(xiàn)物聯(lián)網(wǎng)解決方案與現(xiàn)有業(yè)務(wù)應(yīng)用程序的集成,以連接企業(yè)業(yè)務(wù)流程或工作流。 例如,圖像火災(zāi)監(jiān)測系統(tǒng),在發(fā)現(xiàn)監(jiān)測設(shè)備故障信息后,通過與維護(hù)服務(wù)商現(xiàn)有的運(yùn)維計(jì)劃系統(tǒng)集成,可以預(yù)約工程師到現(xiàn)場進(jìn)行檢查。
? ? 下圖是微軟提供的一個物聯(lián)網(wǎng)工廠的應(yīng)用界面樣例。
? ? 在該界面中,儀表板左側(cè)展示了生產(chǎn)線細(xì)節(jié)信息。如儀表板左側(cè)第一條,提示機(jī)械臂嚴(yán)重警告,而在儀表板中部的模擬界面中,同樣用紅色標(biāo)出機(jī)械臂警告位置。在右側(cè)的報(bào)警欄,列出不同時間點(diǎn)的警告信息,如機(jī)械臂溫度警告等。而在儀表板下方,則展示該條生產(chǎn)線的整體效率信息。
? ??
微軟物聯(lián)網(wǎng)解決方案構(gòu)架
? ? 下圖是微軟物聯(lián)網(wǎng)解決方案的較詳細(xì)的構(gòu)架圖:
? ? 微軟的物聯(lián)網(wǎng)解決方案平臺,通過微軟的公有云 Azure 實(shí)現(xiàn),即 微軟物聯(lián)網(wǎng)套件 Azure IoT Suite。設(shè)備通過 Azure IoT Hub 注冊和接入,然后可以使用微軟公有云 Azure 的各種強(qiáng)大的數(shù)據(jù)處理、存儲、分析、機(jī)器學(xué)習(xí)能力,構(gòu)建所需的各類物聯(lián)網(wǎng)業(yè)務(wù)。
? ? 微軟物聯(lián)網(wǎng)解決方案通常至少會使用到如下服務(wù):
? ? ?- Azure IoT Hub: 該服務(wù)提供設(shè)備到云和云到設(shè)備的消息傳送功能,并充當(dāng)云和其他主要 IoT 套件服務(wù)的網(wǎng)關(guān)。 該服務(wù)使得可以從大量設(shè)備接收消息,并將命令發(fā)送給設(shè)備。 使用該服務(wù),還能夠管理設(shè)備,例如,可以配置、重啟連接到 Azure IoT Hub 的設(shè)備,或?qū)ζ鋱?zhí)行恢復(fù)出廠設(shè)置操作。
? ? ?- Azure Stream Anzlytics: 流分析提供運(yùn)行數(shù)據(jù)分析。 該服務(wù)處理傳入遙測數(shù)據(jù)、執(zhí)行聚合以及檢測事件。 以及處理包含元數(shù)據(jù)或來自設(shè)備的命令響應(yīng)的信息消息。 解決方案使用流分析來處理設(shè)備消息,并將這些消息傳送給其他服務(wù)。
? ? ?- Azure Storage 和 Azure DocumentDB: Azure 存儲和 Azure DocumentDB 提供數(shù)據(jù)存儲功能。 解決方案使用 Blob Storage 來存儲設(shè)備遙測數(shù)據(jù)并使其可用于分析;使用 DocumentDB 來存儲設(shè)備元數(shù)據(jù),以及啟用解決方案的設(shè)備管理功能。
? ? ?- Azure Web App 和 Microsoft Power BI: 提供數(shù)據(jù)可視化功能。 借助 Power BI 的靈活性,可以快速生成針對具體業(yè)務(wù)要求的交互式儀表板。
? ? 微軟還給出了一些預(yù)配置解決方案和相關(guān)演示案例,有興趣的讀者可以點(diǎn)擊如下鏈接,通過實(shí)際操作了解上面截圖中的工廠物聯(lián)網(wǎng)使用場景:http://www.microsoftazureiotsuite.com/demos/connectedfactory?。
亞馬遜物聯(lián)網(wǎng)解決方案構(gòu)架
? ? 而亞馬遜給出的構(gòu)架如下圖所示:
? ? 亞馬遜物聯(lián)網(wǎng)解決方案當(dāng)然強(qiáng)調(diào)其公有云平臺 AWS,而最受其推崇的,自然是當(dāng)下正熱的 Serverless 構(gòu)架的 AWS Lambda。
? ? 亞馬遜物聯(lián)網(wǎng)解決方案至少用到如下 AWS 服務(wù):
? ? ?- Amazon Simple Storage Service:亞馬遜簡單存儲服務(wù),簡稱 Amazon S3,提供可擴(kuò)展的存儲服務(wù)。
? ? ?- Amazon DynamoDB:提供受管理的 NoSQL 數(shù)據(jù)庫服務(wù)。
? ? ?- Amazon Kinesis:提供大規(guī)模流數(shù)據(jù)實(shí)時處理能力。
? ? ?- AWS Lambda:在亞馬遜公有云平臺發(fā)布運(yùn)行自定義代碼。
? ? ? ?ZStack創(chuàng)始人張鑫的文章《Serverless,后端小程序的未來》 比較透徹地講解了 AWS Lambda 及 Serverless 的原理、構(gòu)架、應(yīng)用場景、優(yōu)勢和不足,并講述了Serverless與PaaS的區(qū)別、與容器技術(shù)的區(qū)別及聯(lián)系等,推薦一讀。
? ? ?- Amazon Simple Notification Service:亞馬遜簡單通知服務(wù),簡稱 Amazon SNS,負(fù)責(zé)處理通知發(fā)送與接收。
? ? ?- Amazon Simple Queue Service:亞馬遜簡單隊(duì)列服務(wù),簡稱 Amazon SQS,將數(shù)據(jù)存儲到隊(duì)列,由應(yīng)用程序獲取。
? ? (看看人家,做那么大的生意,本星球/本星系第一啊,啥都謙稱為 Simple 簡單啥啥啥,另外,包括現(xiàn)在 IT 運(yùn)維領(lǐng)域最重要的 SNMP 簡單網(wǎng)絡(luò)管理協(xié)議、電子郵件的 SMTP 簡單郵件傳輸協(xié)議......;看看我們,動輒 ×××、擎天、至尊,汗顏啊!慚愧啊!)
IBM 物聯(lián)網(wǎng)解決方案構(gòu)架
? ? IBM 的物聯(lián)網(wǎng)解決方案名為 Watson IoT Platform,(永遠(yuǎn)的沃森)。其構(gòu)架圖如下所示:
? ? IBM 物聯(lián)網(wǎng)解決方案基于 IBM 公有云平臺 Bluemix,涉及到的服務(wù)至少包括:
? ? ?- IBM Cloudant NoSQL DB:用于存儲和訪問設(shè)備數(shù)據(jù)。
? ? ?- IBM Message Hub:為實(shí)時數(shù)據(jù)提供低延遲、可擴(kuò)展的、高吞吐量的消息總線。
? ? ?- IBM Blockchain 集成:對于特定領(lǐng)域,可以集成 IBM 區(qū)塊鏈服務(wù),以符合特定的商業(yè)規(guī)則要求。
? ? ?- 儀表板:利用 Bulemix 提供的數(shù)據(jù)可視化儀表板,可以可視化展示設(shè)備狀態(tài)數(shù)據(jù),提供 BI 功能。
? ? IBM給出了一個簡單教程,可以快速搭建物聯(lián)網(wǎng)測試環(huán)境,可以參見https://console.ng.bluemix.net/docs/services/IoT/getting_started/quickstart/index.html#quickstart?
? ? 本講是本系列文檔的核心,用了比較多的篇幅講了業(yè)界領(lǐng)先的廠商的物聯(lián)網(wǎng)平臺。下一講,我們探討安全。
轉(zhuǎn)載于:https://blog.51cto.com/hiweb/1923406
總結(jié)
以上是生活随笔為你收集整理的物联网平台构架系列 (四):Amazon, Microsoft, IBM IoT 解决方案导论 之 平台的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【ionic App问题总结系列】ion
- 下一篇: 浅谈神经网络(一)