各種生活中看似尋常的對(duì)象,正被嘗試賦予連網(wǎng)的能力,而能和外在環(huán)境互動(dòng),提供許多有趣的應(yīng)用可能性,然而,要建構(gòu)出各種應(yīng)用、落實(shí)在生活中,還是得倚靠軟件
物聯(lián)網(wǎng)(Internet of Things)」是最近另一火紅的名詞。在市場(chǎng)上,有愈來愈多的裝置、設(shè)備,打著物聯(lián)網(wǎng)的名號(hào),紛紛快速推出。什么是物聯(lián)網(wǎng)呢?簡(jiǎn)單來說,傳統(tǒng)的互聯(lián)網(wǎng),連上網(wǎng)的都是計(jì)算機(jī),不論是大型還是小型,通通都是計(jì)算機(jī),所以基本上是個(gè)計(jì)算機(jī)網(wǎng)絡(luò)。
隨著技術(shù)進(jìn)步,大家都知道連移動(dòng)電話也都具備上網(wǎng)能力了,這是因?yàn)楝F(xiàn)在的智能電話,里子其實(shí)也都是計(jì)算機(jī),這都是拜計(jì)算機(jī)技術(shù)進(jìn)步之賜。之后,連電視也上網(wǎng),所以我們有了智能電視這個(gè)名詞,而本質(zhì)上,智能電視也是計(jì)算機(jī)。
透過各種裝置連網(wǎng)的機(jī)會(huì),已經(jīng)大幅提升
即使這些外觀上不是計(jì)算機(jī)的連網(wǎng)裝置本質(zhì)上都是計(jì)算機(jī),也因此得到了連網(wǎng)的能力,但是在普遍的認(rèn)知上,他們還是我們所熟悉的生活中的常見對(duì)象。透過一些對(duì)象漸漸獲得了連網(wǎng)能力后,只有計(jì)算機(jī)才能連網(wǎng)的概念及界線逐漸變得模糊。
而接下來,幾乎可以預(yù)測(cè)的是,會(huì)有更多更多在我們生活中的對(duì)象或裝置,都會(huì)被賦予連網(wǎng)的能力,而且透過連網(wǎng)的能力,可以因此創(chuàng)造出更多有潛力的生活應(yīng)用。
舉例來說,在醫(yī)院中做一些基本的健康檢查,會(huì)需要量測(cè)身高、體重、血壓、……等等數(shù)據(jù)。傳統(tǒng)的方式,由護(hù)理人員量測(cè)后,記錄于紙本之上。但是試著想象一下,當(dāng)這些量測(cè)儀器都具備連網(wǎng)、連網(wǎng)傳送數(shù)據(jù)的能力之后,當(dāng)受檢者完成檢驗(yàn)的同時(shí),這些數(shù)據(jù)已經(jīng)自動(dòng)傳送至中央數(shù)據(jù)庫中,并且和受檢者的身份關(guān)聯(lián)在一起。少去了人工操作,不但整個(gè)程序更快速、也不容易出錯(cuò)。
各種在我們生活中現(xiàn)在看似尋常的對(duì)象,像是電燈、電器開關(guān),在獲得了連網(wǎng)能力,并且足以和外在環(huán)境互動(dòng)時(shí),的確極有可能提供許多有趣的應(yīng)用可能性。也因此,在「物聯(lián)網(wǎng)」口號(hào)喊的震天價(jià)響的同時(shí),也正有各種不同型態(tài)的對(duì)象,正被嘗試賦予連網(wǎng)的能力,同時(shí)構(gòu)思進(jìn)階的應(yīng)用。
物聯(lián)網(wǎng)的大方向看起來是確切了,在過去的幾年里,連網(wǎng)手持裝置數(shù)量的大幅提升,讓在消費(fèi)市場(chǎng)中為主的個(gè)人計(jì)算機(jī),在消費(fèi)者生活中逐漸的不再居于中心的位置。許多人除非工作,否則已經(jīng)不太使用個(gè)人計(jì)算機(jī),因?yàn)椋麄兊男枨螅^大多數(shù)都可以被平板計(jì)算機(jī)或是手機(jī)所滿足。這是使得平板計(jì)算機(jī)及手機(jī)銷售數(shù)量持續(xù)提升的原因。
在過去,個(gè)人計(jì)算機(jī)是我們接觸信息、操作所有設(shè)備的中心點(diǎn),漸漸的,這個(gè)角色已經(jīng)被手持連網(wǎng)裝置所取代。
例如,假設(shè)你家里有 Apple TV,過去你的音樂檔案可能儲(chǔ)存在計(jì)算機(jī)里,然后想要播放時(shí),再?gòu)挠?jì)算機(jī)連至 Applet TV 播放出去。但現(xiàn)在,很有可能你常聽的音樂都在手機(jī)上了,你會(huì)想直接從手機(jī)送至 Apple TV 播放,而不會(huì)再想打開計(jì)算機(jī)。
除了手持裝置的數(shù)量大幅提升、而且愈來愈重要之外,另一個(gè)可以看到的變化是,連網(wǎng)裝置的數(shù)量也會(huì)開始持續(xù)增加。伴隨著個(gè)人計(jì)算機(jī)數(shù)量成長(zhǎng)的消退,手持裝置會(huì)成為用戶要操作這些連網(wǎng)裝置時(shí)的主要接口之一。
物聯(lián)網(wǎng)對(duì)于軟件應(yīng)用架構(gòu)的沖擊
物聯(lián)網(wǎng)的重心僅在硬件裝置嗎?其實(shí),在物聯(lián)網(wǎng)的應(yīng)用里軟件也很重要。雖然,物聯(lián)網(wǎng)實(shí)體上必須倚靠諸般硬件裝置部署到使用端去,但要建構(gòu)出各種應(yīng)用、落實(shí)在生活中,還是得倚靠軟件。而在物聯(lián)網(wǎng)的應(yīng)用架構(gòu)下,對(duì)于軟件開發(fā)的生態(tài),又會(huì)有什么樣的改變呢?我想這是身為程序設(shè)計(jì)者會(huì)關(guān)心的議題。
首先,在連網(wǎng)的對(duì)象端,我想,初期許多小型的對(duì)象都不會(huì)擁有實(shí)際連上 Internet 的能力,而是透過另一個(gè)網(wǎng)關(guān)(gateway)裝置來連網(wǎng),這些小型對(duì)象并不直接連上 Internet,因?yàn)橐B上Internet 所需的計(jì)算資源太過沉重了,所以真正連接 Internet 的能力,會(huì)被放在網(wǎng)關(guān)裝置里,而諸般小型物件,則以一個(gè)更輕量級(jí)的通訊協(xié)議(例如,在藍(lán)牙之上,再建構(gòu)的應(yīng)用層級(jí)協(xié)議),來和網(wǎng)關(guān)裝置相互連接,并且透過網(wǎng)關(guān)裝置對(duì)外連網(wǎng)。
在這種架構(gòu)之下,一個(gè)網(wǎng)關(guān)裝置可以對(duì)應(yīng)多個(gè)小型對(duì)象,除了具備管理這些對(duì)象的能力之外,同時(shí)也提供了這些小型對(duì)象對(duì)外連網(wǎng)通訊的能力。
這個(gè)網(wǎng)關(guān)裝置會(huì)是個(gè)運(yùn)行典型操作系統(tǒng)的裝置,我想實(shí)務(wù)上這幾年可以看到的,會(huì)是以嵌入式 Linux 為主。接下來的短期內(nèi),網(wǎng)關(guān)裝置應(yīng)該還是會(huì)有重要的角色,因此,在建構(gòu)一個(gè)物聯(lián)網(wǎng)的應(yīng)用里,在網(wǎng)關(guān)裝置上開發(fā)軟件,會(huì)是一個(gè)必要的工作。而這一塊,就會(huì)和傳統(tǒng)上開發(fā)嵌入式 Linux 軟件差不多。
除了網(wǎng)關(guān)裝置之外,一些比較「重量級(jí)」的裝置、也就是具備較高階計(jì)算資源裝置,就不需要網(wǎng)關(guān)裝置的輔助,自身即具有連網(wǎng)及計(jì)算的能力,像是機(jī)頂盒、智能電視、……等等,其操作系統(tǒng)除了 Linux 之外,也有可能是 Android 。
裝置與云端上的軟件應(yīng)用,影響力大增
在物聯(lián)網(wǎng)的軟件組成里,還有一個(gè)重心是在手持裝置端。
物聯(lián)網(wǎng)中的對(duì)象,大多可能都不具備顯示的接口,甚至也沒太多輸入的控制途徑。那么,要怎么和它們互動(dòng),像是取得信息、以及做控制呢?手持裝置會(huì)是最重要的途徑,因?yàn)椋謾C(jī)或平板會(huì)成為使用者面對(duì)物聯(lián)網(wǎng)中裝置的最主要終端,個(gè)人計(jì)算機(jī)反倒不是。
因此,當(dāng)我們?cè)诮?gòu)一個(gè)物聯(lián)網(wǎng)的應(yīng)用時(shí),終端的界面應(yīng)該都會(huì)先以手持裝置上的 App 為主,個(gè)人計(jì)算機(jī)上的軟件反而可有可無,即使是有,優(yōu)先級(jí)可能也會(huì)比較低。
實(shí)際上,手持裝置上的 App 凌駕于個(gè)人計(jì)算機(jī)應(yīng)用軟件的這個(gè)趨勢(shì),會(huì)是一個(gè)很重要的變化。之后和使用者互動(dòng)的終端,勢(shì)必以手持裝置上的 App 為主流了。
在個(gè)人計(jì)算機(jī)上,不論是傳統(tǒng)操作系統(tǒng)上的原生應(yīng)用軟件,或是網(wǎng)頁型態(tài)的服務(wù),都會(huì)因?yàn)閭€(gè)人計(jì)算機(jī)角色的弱化,而將部份重要性移轉(zhuǎn)至手持裝置上的 App。
除了手持裝置 App 的重要性會(huì)再持續(xù)提升之外,云端上軟件的重要性,在物聯(lián)網(wǎng)的體系下,也只會(huì)顯得更關(guān)鍵。
原因就在于,物聯(lián)網(wǎng)中的對(duì)象,除了讓用戶透過手持裝置和其互動(dòng)之外,更多的時(shí)候,這些對(duì)象之所以要連網(wǎng)的原因,不單只是為了讓用戶透過手持裝置與其聯(lián)系,而且更重要的是,它們得以和云端上的服務(wù)交互運(yùn)用。像是將它們所收集到的信息,上傳到云端的「數(shù)據(jù)庫」里,或者是從云端的服務(wù)取得它們被設(shè)置的組態(tài),因而得以依據(jù)這些組態(tài),控制它們自身的行為反應(yīng),以符合組態(tài)設(shè)定。
另一方面,即使物聯(lián)網(wǎng)中的裝置擁有連網(wǎng)的能力,但不意謂著他們必然擁有高階的計(jì)算能力──在整個(gè)架構(gòu)里,真正有計(jì)算能力的,是在云端服務(wù)這一層。
舉例來說,若是有一套連網(wǎng)的人臉辨識(shí)門禁管理記錄系統(tǒng),在拍攝裝置欲進(jìn)入者的臉部圖像后,拍攝裝置可能即將圖傳傳送至云端,由云端上的辨識(shí)系統(tǒng)從云端上允許進(jìn)入的人臉數(shù)據(jù)庫中進(jìn)行比對(duì),并且計(jì)算是否相符,最后,響應(yīng)門禁裝置是否授權(quán)進(jìn)入。
從上述的例子就可以說明,云端的服務(wù)在對(duì)象網(wǎng)的架構(gòu)中有多重要,因?yàn)椋贫瞬攀菗碛写蠖鄶?shù)計(jì)算資源、提供大多數(shù)計(jì)算服務(wù)的所在。而手持裝置也會(huì)透過云端的服務(wù),得以和對(duì)象相連接,以進(jìn)行狀態(tài)取得及相關(guān)的控制。因此,整個(gè)云端,才是物聯(lián)網(wǎng)的中心。
整體而言,物聯(lián)網(wǎng)應(yīng)用下的程序開發(fā),手持裝置的應(yīng)用程序,以及云端服務(wù)的開發(fā)會(huì)扮演關(guān)鍵的角色。對(duì)于程序開發(fā)人員,若有志于此,更可把方向往此設(shè)定。