將一臺(tái)設(shè)備或傳感器連接到互聯(lián)網(wǎng)不是件容易的事—在嵌入式系統(tǒng)設(shè)計(jì)中沒(méi)什么事是容易的。不過(guò),那些存在于網(wǎng)上(云端)、供客戶使用的優(yōu)秀分析工具能夠擴(kuò)展客戶設(shè)備功能,而且還能增加便利性,并通過(guò)互聯(lián)網(wǎng)實(shí)現(xiàn)計(jì)算成本的節(jié)省。然而,你必須搭建一種通道,以便讓設(shè)備或傳感器的數(shù)據(jù)到達(dá)云端的應(yīng)用程序,使數(shù)據(jù)在那里得到分析和使用。對(duì)許多嵌入式系統(tǒng)設(shè)計(jì)團(tuán)隊(duì)來(lái)說(shuō),這是一個(gè)全新領(lǐng)域。本文將介紹Web服務(wù)在機(jī)器到機(jī)器(M2M)應(yīng)用中的工作原理,并探討在互聯(lián)網(wǎng)上創(chuàng)建“設(shè)備云”所要完成的主要任務(wù)。
你在什么云上?
迄今為止,我們中的大多數(shù)人都被灌輸過(guò)“云端”和“云計(jì)算”等術(shù)語(yǔ)。除了生成雨、雪和暴風(fēng)雨等自然氣候現(xiàn)象外,“云”的真正含義是什么?對(duì)這個(gè)問(wèn)題的簡(jiǎn)單的回答是,不要太執(zhí)迷于所謂的云術(shù)語(yǔ);而應(yīng)該認(rèn)識(shí)到,軟件應(yīng)用程序、連接和存儲(chǔ)可以存在于本地設(shè)備(如PC)或某個(gè)網(wǎng)絡(luò)中的服務(wù)器上。各種基于Web的應(yīng)用就是一些最佳例子,例如電子郵件和其它集中智能點(diǎn)(如映射)。云端計(jì)算的好處在于,云端通常是聯(lián)網(wǎng)的,因此可以被連接擴(kuò)展互聯(lián)網(wǎng)的每個(gè)人所共享。擴(kuò)展互聯(lián)網(wǎng)這個(gè)術(shù)語(yǔ)意味著物體可以通過(guò)互聯(lián)網(wǎng)連接到物體,而不僅是人到人。機(jī)器到機(jī)器(M2M)連接可通過(guò)設(shè)備云中的擴(kuò)展互聯(lián)網(wǎng)來(lái)實(shí)現(xiàn)。
駐留數(shù)據(jù)
共享數(shù)據(jù)是問(wèn)題的根本。然而,這些數(shù)據(jù)需要駐留在可以得到正確消化的地方。為了將設(shè)備或傳感器連接到互聯(lián)網(wǎng),你首先需要知道哪里可以“駐留”數(shù)據(jù)。大多數(shù)現(xiàn)代工具依賴于Web服務(wù)直接連接擴(kuò)展互聯(lián)網(wǎng),因此你需要知道: Web服務(wù)是什么?如何使用Web服務(wù)?如何將Web服務(wù)應(yīng)用到遠(yuǎn)端設(shè)備或傳感器?
為了設(shè)計(jì)能與云端交互的嵌入式系統(tǒng),你需要一組功能將設(shè)備連接到位于云端的應(yīng)用程序。記住,設(shè)備可以是任何東西,從儀表或自動(dòng)調(diào)溫器到發(fā)動(dòng)機(jī)或機(jī)器;也可以是固定的某些東西,如用于存儲(chǔ)和分配的大箱子或大容器。另一方面,應(yīng)用程序可以是用于處理數(shù)據(jù)的任何系統(tǒng)。它可以是智能手機(jī)上安裝的移動(dòng)應(yīng)用程序、基于Web的儀表板類型入口程序、企業(yè)資源規(guī)劃系統(tǒng)或?qū)<蚁到y(tǒng)。不管是哪種情況,挑戰(zhàn)在于將有關(guān)設(shè)備或資產(chǎn)的重要信息傳送給應(yīng)用程序。為了實(shí)現(xiàn)這個(gè)目標(biāo),我們首先需要定義創(chuàng)建這條數(shù)據(jù)傳送通道所必需的三大功能組件。
創(chuàng)建通道
首先你需要如圖1所示的功能以便開(kāi)始設(shè)計(jì)工作。
圖1:一種設(shè)備云的系統(tǒng)架構(gòu)。
1. 傳感和連接。這個(gè)功能具有有限的智能,專門用于獲取信息,包括無(wú)線電模塊、簡(jiǎn)單邏輯以及與即時(shí)需求有關(guān)的傳感技術(shù)。
2. 匯聚和轉(zhuǎn)換。在將數(shù)據(jù)點(diǎn)通過(guò)大型網(wǎng)絡(luò)(如互聯(lián)網(wǎng))發(fā)送出去之前,需要以一種有意義的方式,有效總結(jié)或匯聚這些數(shù)據(jù)點(diǎn)。這個(gè)功能的另外一個(gè)關(guān)鍵部分是,將信息放入通用表述性語(yǔ)言。因此,這個(gè)功能一般包括規(guī)則框架、協(xié)議轉(zhuǎn)換和映射,一般還包括通往IP網(wǎng)絡(luò)的一條通道。
3. 設(shè)備云。設(shè)備云是擴(kuò)展互聯(lián)網(wǎng)的組成部分,通常感知所有連接到遠(yuǎn)端站的設(shè)備。一般來(lái)說(shuō)這是一個(gè)用作通道和數(shù)據(jù)存儲(chǔ)的主機(jī)系統(tǒng)。設(shè)備云也匯聚來(lái)自所有遠(yuǎn)端站點(diǎn)的信息,其方式與匯聚和轉(zhuǎn)換功能匯合各個(gè)設(shè)備的差異信息基本相同。
為了更好地理解這種環(huán)境,可以把云架構(gòu)看作是一組的服務(wù)(如圖2所示),其定義為:
圖2:作為一組服務(wù)的云架構(gòu)。
1. 基礎(chǔ)設(shè)施即服務(wù)(IaaS)。在最底層的IaaS是云端的“基礎(chǔ)”。它包括網(wǎng)絡(luò)連接、物理服務(wù)器、防火墻、磁盤和路由器等。
2. 平臺(tái)即服務(wù)(PaaS)。包括了形成場(chǎng)景通信鏈路和管理功能的所有軟件,同時(shí)提供頂層賴以生存的環(huán)境。
3. 軟件即服務(wù)(SaaS)。頂層是實(shí)際的應(yīng)用程序,可以是網(wǎng)頁(yè)、映射、分析或其它軟件,也是最終智能處理工作實(shí)施的地方。通過(guò)這種方式,設(shè)備云可以提供使用通用語(yǔ)言的設(shè)備場(chǎng)景化表述,并幫助基于Web的應(yīng)用程序完成實(shí)際的工作。