AWS IOT解決方案分析
一、IOT能干什么?
IOT喊了這么多年,終于慢慢要落地了。新技術(shù)關(guān)鍵還是要有應(yīng)用驅(qū)動才會成熟。IOT在典型的應(yīng)用有,車聯(lián)網(wǎng),梯(電梯)聯(lián)網(wǎng),現(xiàn)在比較火的共享單車也是一個典型的IOT應(yīng)用。
我們來看看其中一個梯聯(lián)網(wǎng)的案例,來理解一下IOT在其中發(fā)揮的作用:
電梯這個行業(yè),和別的行業(yè)不太一樣。其實賣電梯并不會賺特別多的錢,但是維護電梯確對一個電梯公司非常重要。就像我們說的美女,是七分姿色,三分保養(yǎng)。電梯也一樣,維護非常重要。中國一部分電梯事故,是為了省錢,沒有找專業(yè)資質(zhì)的公司來維護造成的。
全球目前有 1500 萬部電梯,前 4 大廠商手里都維護有超過 100 萬部電梯。每部電梯平均每年有 2 天的時間是不工作的。這兩天,可能是因為故障,也可能是因為保養(yǎng),對一部電梯來說,兩天可能不算什么,但是乘以 1500 萬,大家知道這個數(shù)字是多么大。
另外,每部電梯每個月要進行 2 次例行的巡檢,這個數(shù)字好像也不大,我們把這兩次巡檢乘以 12 個月,再乘以 1500 萬,這個量就很大了。
所以說如果我們能用一種新的技術(shù)手段,把這個東西效率提高了,節(jié)省的費用是大大的。所以這個就用到了IOT解決方案。通過傳感器把數(shù)據(jù)收集到云上去,實時監(jiān)控和分析電梯,發(fā)現(xiàn)問題,節(jié)省人工成本。
二、AWS的IOT解決方案
IOT很多廠商都在投入,我們看看AWS提供了什么IOT解決方案。
IOT解決方案核心是要解決無數(shù)的設(shè)備怎么連接到平臺上進行處理,下面看看AWS給出的解決方案都能做些什么?下面是AWS給出的IOT解決方案的參考架構(gòu)圖:
圖上主要涉及到的組件和功能如下:
1. AWS IoT 設(shè)備 SDK
AWS IoT 提供有 SDK,使用提供的SDK集成到IOT設(shè)備和移動應(yīng)用程序中,設(shè)備和程序就不用關(guān)心數(shù)據(jù)是怎么發(fā)送以及發(fā)送到哪里去。AWS支持MQTT、HTTP 或 WebSockets 協(xié)議連接和驗證 AWS IoT 并與之交換消息。MQTT比較有意思,1999年IBM發(fā)明的,核心是開銷小,支持使用發(fā)布/訂閱消息模式,提供一對多的消息發(fā)布,解除應(yīng)用程序耦合,非常適合IOT場景。
2. 設(shè)備網(wǎng)關(guān)
設(shè)備網(wǎng)關(guān)是IOT設(shè)備連接和管理的入口,負責管理IOT設(shè)備的連接。
AWS IoT 設(shè)備網(wǎng)關(guān)支持設(shè)備安全高效地與 AWS IoT 進行通信。設(shè)備網(wǎng)關(guān)可以使用發(fā)布/訂閱模式交換消息,從而支持一對一和一對多的通信。憑借此一對多的通信模式,AWS IoT 將支持互連設(shè)備向多名給定主題的訂閱者廣播數(shù)據(jù)。設(shè)備網(wǎng)關(guān)支持 MQTT、WebSocket 和 HTTP 1.1 協(xié)議。設(shè)備網(wǎng)關(guān)可自動擴展,以支持 10 億多臺設(shè)備,而無需預(yù)配置基礎(chǔ)設(shè)施。
3. 身份驗證和授權(quán)
安全是基本需求,在IOT設(shè)備認證和鑒權(quán)的能力是基本能力。
AWS IoT 支持 AWS 身份驗證方法(稱為“SigV4”)以及基于身份驗證的 X.509 證書。使用 HTTP 的連接可以使用任一方法,使用 MQTT 的連接可以使用基于證書的身份驗證,使用 WebSockets 的連接可以使用 SigV4。
4. 注冊表
注冊表將創(chuàng)建設(shè)備標識并跟蹤元數(shù)據(jù),如設(shè)備的屬性和功能。注冊表向格式一致的每臺設(shè)備分配唯一的標識,而不管設(shè)備的類型和連接方式為何。此外,它還支持描述設(shè)備功能的元數(shù)據(jù),例如傳感器是否報告溫度,以及數(shù)據(jù)是華氏度還是攝氏度。
5. 設(shè)備影子
憑借 AWS IoT,您可以創(chuàng)建每臺設(shè)備的持久虛擬版(或“影子”),它包含設(shè)備的最新狀態(tài),因此應(yīng)用程序或其他設(shè)備可以讀取消息并與此設(shè)備進行交互。設(shè)備影子保留每臺設(shè)備的最后報告狀態(tài)和期望的未來狀態(tài),即便設(shè)備處于離線狀態(tài)。您可以通過 API 或使用規(guī)則引擎,獲取設(shè)備的最后報告狀態(tài)或設(shè)置期望的未來狀態(tài)。
設(shè)備影子提供始終可用的 REST API,使得構(gòu)建與您的設(shè)備進行交互的應(yīng)用程序更加輕松。此外,應(yīng)用程序可以設(shè)置設(shè)備的期望未來狀態(tài),而無需說明設(shè)備的當前狀態(tài)。AWS IoT 將比較期望未來狀態(tài)和最后報告狀態(tài)之間的差異,并命令設(shè)備“彌補差異”。
AWS IoT 設(shè)備 SDK 使您的設(shè)備能夠輕松地同步其狀態(tài)及其影子,并響應(yīng)通過影子設(shè)置的期望的未來狀態(tài)。
6. 規(guī)則引擎
規(guī)則引擎對大量的IOT設(shè)備上來的數(shù)據(jù)進行最初的過濾和處理,更復(fù)雜是數(shù)據(jù)分析送到后端的云服務(wù)去處理。
規(guī)則引擎可以構(gòu)建 IoT 應(yīng)用程序,這些應(yīng)用程序?qū)⑹占?、處理和分析互連設(shè)備在全局范圍內(nèi)生成的數(shù)據(jù)并根據(jù)數(shù)據(jù)執(zhí)行操作,且無需管理任何基礎(chǔ)設(shè)施。規(guī)則引擎評估發(fā)布到 AWS IoT 的入站消息,并根據(jù)您定義的業(yè)務(wù)規(guī)則轉(zhuǎn)換這些消息并將它們傳輸?shù)搅硪慌_設(shè)備或云服務(wù)。規(guī)則可以應(yīng)用至一臺或多臺設(shè)備中的數(shù)據(jù),并且它可以并行執(zhí)行一個或多個操作。
規(guī)則引擎還可以將消息路由到 AWS 終端節(jié)點,包括 AWS Lambda、Amazon Kinesis、Amazon S3、Amazon Machine Learning、Amazon DynamoDB、Amazon CloudWatch 和內(nèi)置 Kibana 集成的 Amazon Elasticsearch Service。外部終端節(jié)點可以使用 AWS Lambda、Amazon Kinesis 和 Amazon Simple Notification Service (SNS) 進行連接。
您可以在管理控制臺中或者使用類似 SQL 的語句編寫規(guī)則。規(guī)則可以編寫為采用不同的方式表示,具體取決于消息內(nèi)容。例如,如果溫度讀數(shù)超出特定閾值,則它可以觸發(fā)規(guī)則以便將數(shù)據(jù)傳輸?shù)?AWS Lambda。規(guī)則還可以編寫為考慮云中的其他數(shù)據(jù),例如其他設(shè)備中的數(shù)據(jù)。例如,您可以在規(guī)則中編寫,如果此溫度超出其他 5 臺設(shè)備的平均值 15%,則應(yīng)采取措施。
三、IOT的前景
從IOT產(chǎn)業(yè)鏈廠商(運營商,云服務(wù),IOT廠家)來看,IOT慢慢逐漸成熟落地的時機已經(jīng)到了,越來越多的IOT應(yīng)用會出來,實際服務(wù)和解決生活中的具體問題。
【本文為51CTO專欄作者“大數(shù)據(jù)和云計算”的原創(chuàng)稿件,轉(zhuǎn)載請通過微信公眾號獲取聯(lián)系和授權(quán)】