- 圖解物聯(lián)網(wǎng)
- NTT DATA集團 (日)河村雅人等
- 4680字
- 2019-01-05 10:13:10
1.3 實現(xiàn)物聯(lián)網(wǎng)的技術(shù)要素
要實現(xiàn)物聯(lián)網(wǎng),需要很多技術(shù)要素。除了傳感器等電子零件和電子電路以外,還包括Web應(yīng)用中經(jīng)常用到的技術(shù),以及數(shù)據(jù)分析等。本書將會為大家整體解說這些技術(shù)。個別詳細內(nèi)容在第2章及以后的章節(jié)中會提到,這里我們先來總覽一下本書將會講解的全部內(nèi)容。
1.3.1 設(shè)備
物聯(lián)網(wǎng)與以往的Web服務(wù)不同,設(shè)備在其中擔(dān)任著重要的作用。設(shè)備指的是一種“物”,它上面裝有一種名為傳感器的電子零件,并與網(wǎng)絡(luò)相連接。比如大家拿著的智能手機和平板電腦就是設(shè)備的一種。家電產(chǎn)品、我們時刻戴著的手表以及傘等,只要能滿足上述條件,就是設(shè)備(圖1.6)。

圖1.6 與網(wǎng)絡(luò)連接的設(shè)備
這些設(shè)備起著兩個作用:感測和反饋。下面我們分別說明它們各自的作用。
?感測的作用
感測指的是搜集設(shè)備本身的狀態(tài)和周邊環(huán)境的狀態(tài)并通知系統(tǒng)(圖1.7)。這里說的狀態(tài)包括房門的開閉狀態(tài)、房間的溫度和濕度、房間里面有沒有人,等等。設(shè)備是利用傳感器這種電子零件來實現(xiàn)感測的。

圖1.7 感測的作用
打個比方,如果傘上有用于檢測其開合的傳感器并具備連接網(wǎng)絡(luò)的功能,那么多把傘的開合狀態(tài)就可以被檢測到。利用這一點就能調(diào)查出是否在下雨。在這種情況下,如果一個地區(qū)有多把傘打開,就可以推測出該地區(qū)正在下雨。反過來,就能推斷出大多數(shù)傘都合著的地區(qū)沒有在下雨。此外,通過感測設(shè)備周邊的環(huán)境還能搜集溫度和濕度等信息。
?反饋的作用
設(shè)備的另外一個作用是接收從系統(tǒng)發(fā)來的通知,顯示信息或執(zhí)行指定操作(圖1.8)。系統(tǒng)會基于從傳感器處搜集到的信息進行一些反饋,并針對現(xiàn)實世界采取行動。

圖1.8 反饋的作用
反饋有多種方法。大體分成如圖1.9所示的3種方法,分別是可視化、通知,以及控制。

圖1.9 反饋的3種方法
比方說,用戶通過“可視化”就能使用電腦和智能手機上的Web瀏覽器瀏覽物聯(lián)網(wǎng)服務(wù)搜集到的信息。雖然最終采取行動的是用戶,不過這是最簡單的一個反饋的例子。只要把房間的當(dāng)前溫度和濕度可視化,人就能將環(huán)境控制在最適宜的條件下。
利用“推送通知”,系統(tǒng)就能檢測到“物”的狀態(tài)和某些活動,并將其通知給設(shè)備。例如從服務(wù)器給用戶的智能手機推送通知,使其顯示消息。近年來,F(xiàn)acebook和Twitter等SNS社交應(yīng)用就在貼心地向我們的智能手機頻繁推送朋友們吃飯和旅行的消息。如果你去逛超市時,推送通知能告訴你冰箱的牛奶過了保質(zhì)期,洗滌用品賣完了,這個世界豈不就更方便了嗎?
利用“控制”,系統(tǒng)就可以直接控制設(shè)備的運轉(zhuǎn),而無需借助人工。假設(shè)在某個夏天的傍晚,你正在從離家最近的車站往家走,你的智能手機會用GPS確定你現(xiàn)在的位置和前進的方向,用加速度傳感器把你的步速通知給物聯(lián)網(wǎng)服務(wù)。這樣一來,服務(wù)就能分析出你正在回家的路上,進而從你的移動速度預(yù)測你到家的時間,然后發(fā)出指示調(diào)節(jié)家里空調(diào)的溫度并令其開始運轉(zhuǎn)。這樣當(dāng)你回到家的時候,家里就已經(jīng)很舒服了。
1.3.2 傳感器
要想像前文說的那樣搜集設(shè)備和環(huán)境的狀態(tài),就需要利用一個叫作傳感器的電子零件。
傳感器負責(zé)把物理現(xiàn)象用電子信號的形式輸出。例如有的傳感器可以把溫度和濕度作為電子信號輸出,還有的傳感器能把超聲波和紅外線等人類難以感知的現(xiàn)象轉(zhuǎn)換成電子信號輸出。
數(shù)碼相機上使用的圖像傳感器也能把進入鏡頭的光線捕捉成3種顏色的光源,并將其轉(zhuǎn)換成電子信號。因此它也可以歸在傳感器的分類里。傳感器的種類如圖1.10所示。關(guān)于這些傳感器的種類和它們各自的結(jié)構(gòu),我們會在第3章詳細介紹。

圖1.10 具有代表性的傳感器的種類
通過傳感器輸出的電子信號,系統(tǒng)就能夠獲取現(xiàn)實世界的“物”的狀態(tài)和環(huán)境的狀態(tài)。
人們很少單獨利用這些傳感器,通常都是將它們置入各種各樣的“物”里來加以利用。最近的智能手機和平板電腦就內(nèi)置了很多傳感器,例如用于檢測畫面傾斜度的陀螺儀傳感器和加速度傳感器,采集語音的麥克風(fēng),用于拍攝照片的相機,具備指南針功能的磁場傳感器。
還有一種東西叫作傳感器節(jié)點,它把傳感器本身置入環(huán)境中搜集信息。傳感器節(jié)點是集藍牙和Wi-Fi等無線通信裝置與電池為一體的傳感器。我們把這些傳感器連接到一種叫作網(wǎng)關(guān)的專用無線路由器來進行傳感器數(shù)據(jù)的搜集(圖1.11)。

圖1.11 傳感器節(jié)點和網(wǎng)關(guān)
比如,在農(nóng)場測量栽培植物的環(huán)境時,或是檢測家里房間的溫度和濕度時,就可以利用這些傳感器節(jié)點。除此之外,市面上還有各種各樣用于醫(yī)療保健的可穿戴設(shè)備,這些設(shè)備上裝有加速度傳感器和脈搏計,人們可以利用這些設(shè)備管理自己的生活節(jié)奏和健康狀況。
這樣一來,物聯(lián)網(wǎng)服務(wù)就能利用傳感器獲取設(shè)備、環(huán)境、人這些“物”的狀態(tài)。自己想實現(xiàn)的服務(wù)都需要哪些信息,為此應(yīng)該利用哪種傳感器和設(shè)備,這些都需要我們仔細分析。
1.3.3 網(wǎng)絡(luò)
在把設(shè)備連接到物聯(lián)網(wǎng)服務(wù)時,網(wǎng)絡(luò)是不可或缺的。不僅要把設(shè)備連接到物聯(lián)網(wǎng)服務(wù),還得把設(shè)備連接到其他設(shè)備。物聯(lián)網(wǎng)使用的網(wǎng)絡(luò)大體上分為兩種:一種是把設(shè)備連接到其他設(shè)備的網(wǎng)絡(luò),另一種是把設(shè)備連接到物聯(lián)網(wǎng)服務(wù)的網(wǎng)絡(luò)(圖1.12)。

圖1.12 用于物聯(lián)網(wǎng)的兩種網(wǎng)絡(luò)
把設(shè)備連接到其他設(shè)備的網(wǎng)絡(luò)
無法直接連接到互聯(lián)網(wǎng)的設(shè)備也是存在的。我們通過把設(shè)備連接到其他設(shè)備,就能通過其他設(shè)備把這些不能連接到互聯(lián)網(wǎng)的設(shè)備連接到互聯(lián)網(wǎng)。前面我們介紹的傳感器節(jié)點和網(wǎng)關(guān)正是兩個典型的例子。此外,還有通過智能手機把可穿戴設(shè)備采集到的數(shù)據(jù)發(fā)送給物聯(lián)網(wǎng)服務(wù)這一辦法。
藍牙和ZigBee是兩種具有代表性的網(wǎng)絡(luò)標(biāo)準(zhǔn)。它們是用無線連接的,利用的通信協(xié)議也是固定的。這些協(xié)議的特征有采用擅長近距離通信的無線連接、低功耗、易于嵌入嵌入式設(shè)備等。
要把設(shè)備連接到其他設(shè)備,除了1對1之外,還可以采用1對N、N對N的方式連接。特別是N對N連接的情況,我們稱這種情況為網(wǎng)狀網(wǎng)絡(luò)(圖1.13)。

圖1.13 設(shè)備之間的網(wǎng)絡(luò)連接
有一種與網(wǎng)狀網(wǎng)絡(luò)對應(yīng)的通信標(biāo)準(zhǔn),名為ZigBee。通過采用N對N的通信方式,設(shè)備可以一邊接管其他的設(shè)備,一邊進行遠程通信。除此之外它還有一個優(yōu)點,那就是即使有一臺設(shè)備發(fā)生故障無法通信,其他設(shè)備也會代替它來執(zhí)行通信。
關(guān)于上述設(shè)備的通信規(guī)格我們會在第3章講解。
把設(shè)備連接到服務(wù)器的網(wǎng)絡(luò)
把設(shè)備連接到物聯(lián)網(wǎng)服務(wù)的網(wǎng)絡(luò)時,會用到互聯(lián)網(wǎng)線路。3G和LTE等移動線路最為常用。
除了現(xiàn)在Web服務(wù)中廣泛使用的HTTP和WebSocket協(xié)議以外,還有一些專為機器對機器通信和物聯(lián)網(wǎng)而產(chǎn)生的輕量級協(xié)議,如MQTT等。關(guān)于該協(xié)議,我們會在第2章進行詳細說明。
1.3.4 物聯(lián)網(wǎng)服務(wù)
物聯(lián)網(wǎng)服務(wù)有兩個作用:一是從設(shè)備接收數(shù)據(jù)以及發(fā)送數(shù)據(jù)給設(shè)備;二是處理和保存數(shù)據(jù)(圖1.14)。

圖1.14 Web系統(tǒng)的作用
我們來具體看一下這兩個作用。
數(shù)據(jù)交換
通常的Web服務(wù)會根據(jù)Web瀏覽器發(fā)送的HTTP請求發(fā)送HTML,然后用Web瀏覽器顯示。物聯(lián)網(wǎng)服務(wù)則不采用Web瀏覽器,而是接收從設(shè)備直接發(fā)來的數(shù)據(jù)。設(shè)備發(fā)來的數(shù)據(jù)內(nèi)容包括設(shè)備搭載的傳感器所采集到的信息,以及用戶對設(shè)備進行的操作。設(shè)備和物聯(lián)網(wǎng)服務(wù)的通信方法大致分為兩種:同步傳輸和異步傳輸(圖1.15)。
在同步傳輸?shù)那闆r下,設(shè)備發(fā)送數(shù)據(jù)時會把數(shù)據(jù)發(fā)送給物聯(lián)網(wǎng)服務(wù)。接下來直到物聯(lián)網(wǎng)服務(wù)接收完數(shù)據(jù)之前,不管設(shè)備向物聯(lián)網(wǎng)服務(wù)發(fā)送多少次數(shù)據(jù),都算作一次傳輸。反過來,物聯(lián)網(wǎng)服務(wù)在執(zhí)行對設(shè)備的反饋時,則是先由設(shè)備向物聯(lián)網(wǎng)服務(wù)發(fā)送請求消息,然后物聯(lián)網(wǎng)服務(wù)會響應(yīng)請求并將消息發(fā)送給設(shè)備。就這種方法而言,直到設(shè)備發(fā)送請求之前,物聯(lián)網(wǎng)服務(wù)都不能把消息發(fā)送給設(shè)備。但是這種方法只適用于不知道設(shè)備IP地址的情況,因為就算不知道設(shè)備的IP地址,只要設(shè)備發(fā)送了請求,物聯(lián)網(wǎng)服務(wù)就能把消息發(fā)送給設(shè)備。
在異步傳輸中,設(shè)備會把數(shù)據(jù)發(fā)送給物聯(lián)網(wǎng)服務(wù),每發(fā)送一次,就算作一次傳輸。此外,從物聯(lián)網(wǎng)服務(wù)向設(shè)備進行傳輸時,無需等待設(shè)備發(fā)來的請求,可以在任意時間點執(zhí)行發(fā)送。采用這個方法能在物聯(lián)網(wǎng)服務(wù)規(guī)定的任意一個時刻發(fā)送消息。但是,物聯(lián)網(wǎng)服務(wù)需要預(yù)先知道發(fā)送消息的設(shè)備的IP地址。

圖1.15 Web系統(tǒng)和設(shè)備的通信
第2章會用一些實際使用的協(xié)議來講解這種通信。
處理和保存數(shù)據(jù)
就如大家在圖1.14看到的那樣,處理和保存數(shù)據(jù)的操作包括把從設(shè)備接收到的數(shù)據(jù)保存到數(shù)據(jù)庫,以及從接收到的數(shù)據(jù)來判斷如何控制設(shè)備。
從設(shè)備接收到的數(shù)據(jù)不只有能用計算機簡單處理的數(shù)值型數(shù)據(jù),根據(jù)要實現(xiàn)的內(nèi)容,還包含圖像、語音、自然語言這些很難直接用計算機處理、沒有被結(jié)構(gòu)化的數(shù)據(jù)。我們把這種數(shù)據(jù)叫作非結(jié)構(gòu)化數(shù)據(jù)。處理時,有時也會把那些易于用計算機處理的數(shù)據(jù)從非結(jié)構(gòu)化數(shù)據(jù)中提取出來,例如把表示圖像和語音特征的值提取出來。這些信息會被保存到數(shù)據(jù)庫中。
設(shè)備按照所提取數(shù)據(jù)的判斷邏輯來決定反饋的內(nèi)容,例如基于某個房間的溫度數(shù)據(jù)來決定空調(diào)的開關(guān)狀態(tài)和目標(biāo)溫度。這些處理和保存的方法大體上分為兩種:一種是對保存的數(shù)據(jù)定期進行采集和處理的批處理,另一種是將收到的數(shù)據(jù)逐次進行處理的流處理(圖1.16)。

圖1.16 保存和處理數(shù)據(jù)的時機
根據(jù)房間的溫度變化來調(diào)整空調(diào)的運轉(zhuǎn)時,從向空調(diào)發(fā)出指示到溫度發(fā)生變化,這中間會需要一段時間。這種情況下就適合采用批處理來持續(xù)記錄每隔一定時間的溫度值,并定期執(zhí)行處理。此外,如果希望回到房間之后再打開空調(diào),那么就適合采用能立即執(zhí)行操作的流處理。
1.3.5 數(shù)據(jù)分析
前一節(jié)我們以“溫度傳感器和空調(diào)運轉(zhuǎn)的關(guān)系”為例進行了說明。那么我們能像這個例子那樣,輕松實現(xiàn)“根據(jù)房間溫度控制空調(diào)”這一目的嗎?
要實現(xiàn)這一目的,需要決定控制空調(diào)開/關(guān)的房間溫度值,也就是決定溫度的閾值。這種情況下,閾值會根據(jù)使用者目的而有所不同。舉個例子,把空調(diào)的功耗降到最小所需要的閾值和保持令人體感舒適的溫度所需要的閾值就是兩個不同的值。此外,為了能準(zhǔn)確判斷房間里有沒有人,需要從多個傳感器的值所包含的關(guān)聯(lián)性來判斷人在或不在房間里。人類很難光憑經(jīng)驗去摸索和決定這種值。這就凸顯出了數(shù)據(jù)分析的重要性。
數(shù)據(jù)分析的代表性方法有兩種,分別是統(tǒng)計分析和機器學(xué)習(xí)。這里就來看看我們用這兩種方法能辦到什么(圖1.17)。

圖1.17 數(shù)據(jù)分析的兩種方法
統(tǒng)計分析
統(tǒng)計分析是用數(shù)學(xué)手法通過搜集到的大量數(shù)據(jù)來明確事物的聯(lián)系性的方法。比如為了實現(xiàn)給空調(diào)節(jié)能的目的,我們調(diào)查了空調(diào)在某個固定的溫度下運轉(zhuǎn)時,房間的溫度和空調(diào)的耗電量,并將這些數(shù)據(jù)制成了表格(圖1.18)。

圖1.18 空調(diào)的電力和室溫的關(guān)系示例
從這個關(guān)系中可以推導(dǎo)出在室溫下把空調(diào)溫度設(shè)定在多少才能最省電,由此就能決定閾值了。
上述示例采用的是先填表再分析的方法,除此之外還有一種叫作回歸分析的統(tǒng)計方法,此方法我們會在第6章詳細說明。
機器學(xué)習(xí)
統(tǒng)計分析基于大量數(shù)據(jù)之間的聯(lián)系性,明確當(dāng)前數(shù)據(jù)間形成的關(guān)聯(lián)。機器學(xué)習(xí)則不僅僅能進行分析,還能預(yù)測今后的發(fā)展?fàn)顩r。
機器學(xué)習(xí)就如它的字面意思一樣,計算機會按照程序決定的算法,機械性地學(xué)習(xí)所給數(shù)據(jù)之間的聯(lián)系性。當(dāng)給出未知數(shù)據(jù)時,也會輸出與其對應(yīng)的值。
機器學(xué)習(xí)分為兩個階段:學(xué)習(xí)階段和識別階段(圖1.19)。在學(xué)習(xí)階段,一個名為學(xué)習(xí)器的程序會基于一些訓(xùn)練數(shù)據(jù),機械性地掌握這些數(shù)據(jù)之間的聯(lián)系。作為學(xué)習(xí)階段的結(jié)果,計算機會根據(jù)機器學(xué)習(xí)的算法輸出參數(shù),然后以這個參數(shù)為基礎(chǔ)創(chuàng)建叫作鑒別器(discriminator)的程序。只要把未知的數(shù)據(jù)給這個鑒別器,就能輸出最適合這個值的結(jié)果。

圖1.19 機器學(xué)習(xí)示例
舉個例子,假設(shè)我們想使用若干種傳感器來識別房間里有沒有人。這種情況下需要準(zhǔn)備兩種數(shù)據(jù),即房間里有人時的傳感器數(shù)據(jù)(正面例子)和房間里沒人時的傳感器數(shù)據(jù)(反面例子)。計算機通過把這兩種數(shù)據(jù)分別交給學(xué)習(xí)器,可以獲取制作鑒別器用的參數(shù)。對于以參數(shù)為基準(zhǔn)制作的鑒別器而言,只要輸入從各個感測設(shè)備接收到的數(shù)據(jù),鑒別器就能輸出結(jié)果,告訴我們現(xiàn)在房間里是否有人。
上述內(nèi)容屬于機器學(xué)習(xí)的示例之一,被稱作分類問題。在用于執(zhí)行數(shù)據(jù)分類的機器學(xué)習(xí)算法中有很多途徑,如用于垃圾郵件過濾器的貝葉斯過濾器和用于分類文檔及圖像的支持向量機(Support Vector Machine, SVM)等。此外,除了分類問題以外,機器學(xué)習(xí)還能解決很多領(lǐng)域的問題。
- Application Development with Qt Creator(Second Edition)
- Django 2 by Example
- 面向物聯(lián)網(wǎng)的嵌入式系統(tǒng)開發(fā):基于CC2530和STM32微處理器
- 區(qū)塊鏈輕松上手:原理、源碼、搭建與應(yīng)用
- 數(shù)字調(diào)制解調(diào)技術(shù)的MATLAB與FPGA實現(xiàn):Altera/Verilog版(第2版)
- Spring 5.0 Projects
- 通信原理及MATLAB/Simulink仿真
- 網(wǎng)絡(luò)環(huán)境中基于用戶視角的信息質(zhì)量評價研究
- React Cookbook
- 互聯(lián)網(wǎng)安全的40個智慧洞見(2016)
- 華為HCIA-Datacom認(rèn)證指南
- Laravel Application Development Cookbook
- 學(xué)術(shù)虛擬社區(qū)用戶社會化交互行為研究
- CDN技術(shù)詳解
- OpenShift Cookbook