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