張 策,初佃輝,呂為工,柏 軍,李劍雄
(哈爾濱工業(yè)大學(xué)(威海) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東 威海 264209)
自2010年以來(lái),在政府政策、產(chǎn)業(yè)開(kāi)發(fā)、創(chuàng)新創(chuàng)業(yè)等方面,物聯(lián)網(wǎng)IoT(internet of things)發(fā)展迅猛[1-3],并逐漸演進(jìn)成為各層面的主導(dǎo)方向,尤其在技術(shù)上與云計(jì)算、大數(shù)據(jù)等形成交叉[4],對(duì)綜合性人才提出了迫切需求,那么如何在當(dāng)前實(shí)際教學(xué)中培養(yǎng)出優(yōu)秀的物聯(lián)網(wǎng)人才?另一方面,隨著時(shí)代的進(jìn)展,計(jì)算機(jī)系統(tǒng)綜合能力培養(yǎng)目標(biāo)的導(dǎo)向是什么?即需要找到一個(gè)具體的目標(biāo)定位。
依據(jù)對(duì)物理世界的感知、信息傳輸和數(shù)據(jù)處理,物聯(lián)網(wǎng)的體系結(jié)構(gòu)被公認(rèn)為由3個(gè)層次構(gòu)成,即感知層、傳輸層和應(yīng)用層。
圖1所示為物聯(lián)網(wǎng)3層結(jié)構(gòu)圖??梢钥闯?,物聯(lián)網(wǎng)包括傳統(tǒng)的軟件、硬件和網(wǎng)絡(luò)3個(gè)部分,從上層應(yīng)用到下層的物理設(shè)備被劃分為應(yīng)用層、傳輸層和感知層。
物聯(lián)網(wǎng)最上層為應(yīng)用層,主要負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行智能處理與展示,關(guān)鍵是實(shí)施數(shù)據(jù)挖掘和決策;中間層為網(wǎng)絡(luò)層(即傳輸層),主要負(fù)責(zé)融合接入和信息存儲(chǔ);最下層為感知層,主要負(fù)責(zé)智能嵌入式、標(biāo)識(shí)物品、感知物品、協(xié)同和互動(dòng)。從數(shù)據(jù)流向與處理的角度,物聯(lián)網(wǎng)包括統(tǒng)一標(biāo)識(shí)、全面感知、可靠傳送、智能處理、產(chǎn)業(yè)應(yīng)用,最終實(shí)現(xiàn)對(duì)物理世界的“感、知、控”。
物聯(lián)網(wǎng)包含的內(nèi)容較為龐雜,對(duì)于如何在教學(xué)中理順內(nèi)容關(guān)系,把握住主要技術(shù)脈絡(luò)至關(guān)重要。結(jié)合多年的教學(xué)與科研經(jīng)驗(yàn),我們給出圖2所示的以技術(shù)、功能和數(shù)據(jù)流向?yàn)楹诵囊暯堑奈锫?lián)網(wǎng)層級(jí)結(jié)構(gòu)圖。
圖1 物聯(lián)網(wǎng)3層體系結(jié)構(gòu)
圖2 物聯(lián)網(wǎng)層級(jí)圖——以技術(shù)、功能和數(shù)據(jù)流向?yàn)楹诵囊暯?/p>
結(jié)合圖2,教學(xué)中首先要明確做到對(duì)物聯(lián)網(wǎng)具備宏觀的認(rèn)識(shí):①無(wú)感知層的物聯(lián)網(wǎng),剩下網(wǎng)絡(luò)層與應(yīng)用層,就是互聯(lián)網(wǎng);②應(yīng)用層依舊是計(jì)算機(jī)端開(kāi)發(fā)出來(lái)的運(yùn)行在各種計(jì)算平臺(tái)上的應(yīng)用;③物聯(lián)網(wǎng)中的“物”是智能的嵌入式設(shè)備,包括單一智能化設(shè)備或傳統(tǒng)設(shè)備進(jìn)行智能化改造(如添加感知裝置、處理芯片、模塊等)后的復(fù)合式智能化設(shè)備。
從技術(shù)角度,可以形象地概括為“物聯(lián)網(wǎng)將IT技術(shù)一網(wǎng)打盡”,囊括當(dāng)前信息產(chǎn)業(yè)的主流技術(shù)。
雖然當(dāng)前在物聯(lián)網(wǎng)課程改革[5-6]、教學(xué)實(shí)踐[7-8]、專(zhuān)業(yè)建設(shè)[9-10]、實(shí)驗(yàn)室建設(shè)[11]、人才培養(yǎng)策略[12]等方面取得了一定研究成果,但是始終沒(méi)能夠提出具有計(jì)算機(jī)類(lèi)專(zhuān)業(yè)系統(tǒng)能力培養(yǎng)這一目標(biāo)牽引性的物聯(lián)網(wǎng)人才培養(yǎng)模式,因此亟待突破。這樣,提煉出適宜于當(dāng)前教學(xué)中的技術(shù)學(xué)習(xí)路線成為物聯(lián)網(wǎng)人才培養(yǎng)的關(guān)鍵。
文獻(xiàn)[13—14]首次提出物聯(lián)網(wǎng)全棧人才的基本含義,我們將其進(jìn)行進(jìn)一步修改如下:
物聯(lián)網(wǎng)全棧人才:全棧開(kāi)發(fā)者FSD(full stack developer)是指那些熟練掌握和設(shè)計(jì)物聯(lián)網(wǎng)體系結(jié)構(gòu),具備感知層設(shè)備和嵌入式系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)能力、網(wǎng)絡(luò)層多種通訊協(xié)議和應(yīng)用層綜合開(kāi)發(fā)能力的專(zhuān)業(yè)人才。
具體而言,F(xiàn)SD必須要懂基礎(chǔ)設(shè)施、傳感器、網(wǎng)關(guān)、網(wǎng)絡(luò)(個(gè)域網(wǎng)、局域網(wǎng)、廣域網(wǎng)、移動(dòng)通信網(wǎng)和互聯(lián)網(wǎng))、數(shù)據(jù)庫(kù)、Web開(kāi)發(fā)中的后端開(kāi)發(fā)技術(shù)(以Java、Python和Ruby為編程語(yǔ)言的B/S開(kāi)發(fā)框架)和前端開(kāi)發(fā)技術(shù)(JavaScript、HTML、CSS以及各種開(kāi)發(fā)框架),甚至大數(shù)據(jù)、云計(jì)算、網(wǎng)絡(luò)安全等技術(shù),整體上與圖2中的技術(shù)相對(duì)應(yīng)。
相應(yīng)地,我們提出圖3所示的FSD技術(shù)架構(gòu)與學(xué)習(xí)路線。
在感知層,主要以嵌入式系統(tǒng)的學(xué)習(xí)為主,傳統(tǒng)的以單片機(jī)或ARM CPU等為核心的嵌入式系統(tǒng)開(kāi)發(fā)與設(shè)計(jì)技術(shù)是主流。此外,近些年來(lái)隨著開(kāi)源硬件(樹(shù)莓派、Arduino、MakeBlock、Twine、Nest等)的出現(xiàn)和流行,嵌入式系統(tǒng)開(kāi)發(fā)的難度大大降低,使得計(jì)算機(jī)類(lèi)專(zhuān)業(yè)學(xué)生進(jìn)行自設(shè)計(jì)與開(kāi)發(fā)的能力得到提升;相應(yīng)的FPGA開(kāi)發(fā)技術(shù)也使得硬件系統(tǒng)開(kāi)發(fā)在軟件開(kāi)發(fā)人員中成為可能。
在傳輸層,主要以互聯(lián)網(wǎng)技術(shù)學(xué)習(xí)為主,OSI7層或TCP/IP5層網(wǎng)絡(luò)架構(gòu)與物聯(lián)網(wǎng)中各類(lèi)常見(jiàn)無(wú)線通信協(xié)議(藍(lán)牙、Zigbee、WiFi、WiMax等)關(guān)聯(lián)密切,因此,掌握傳輸層技術(shù)成為可能。
在應(yīng)用層,主要以程序開(kāi)發(fā)為主,包括主流的Web開(kāi)發(fā)(Web Server、Application Server、Web Services,尤其是基于框架技術(shù))、移動(dòng)端開(kāi)發(fā)(Android或iOS平臺(tái)下APP開(kāi)發(fā)等)、PC端開(kāi)發(fā)(基于高級(jí)語(yǔ)言的常規(guī)C/S結(jié)構(gòu)開(kāi)發(fā))等。
在服務(wù)上,物聯(lián)網(wǎng)云平臺(tái)成為物聯(lián)網(wǎng)系統(tǒng)對(duì)外提供服務(wù)的重要載體和方式,提供有數(shù)據(jù)處理軟件和操作語(yǔ)言,只要按照它的規(guī)則,用戶(hù)就可以實(shí)現(xiàn)將自身設(shè)備感知或采集的數(shù)據(jù)傳到此平臺(tái)上,用它的方法處理數(shù)據(jù)并展示。物聯(lián)網(wǎng)云平臺(tái),即物聯(lián)網(wǎng)數(shù)據(jù)中心,由專(zhuān)業(yè)的物聯(lián)網(wǎng)服務(wù)商提供,國(guó)外的有(開(kāi)源)物聯(lián)網(wǎng)(服務(wù))平臺(tái),如xively(https://xively.com/,以前叫做Pachube等名稱(chēng)),國(guó)內(nèi)知名的物聯(lián)網(wǎng)云平臺(tái)包括Yeelink(http://www.yeelink.net/))、樂(lè)聯(lián)網(wǎng)(http://www.lewei50.com)等。
綜上,我們提出最基本的適合FSD學(xué)習(xí)的方法:基于開(kāi)源硬件制作嵌入式產(chǎn)品或者系統(tǒng),并將其通過(guò)互聯(lián)網(wǎng)連接到(基于開(kāi)源或不開(kāi)源的)物聯(lián)網(wǎng)服務(wù)/數(shù)據(jù)平臺(tái)上,進(jìn)行數(shù)據(jù)處理或者展示,由此基本實(shí)現(xiàn)一個(gè)物聯(lián)網(wǎng)的基本架構(gòu)——可以把一個(gè)個(gè)感知層采集的信息,傳輸?shù)剑ㄩ_(kāi)源)物聯(lián)網(wǎng)(服務(wù))平臺(tái)上,平臺(tái)會(huì)對(duì)數(shù)據(jù)進(jìn)行處理,并以直觀的方式(如圖形、圖像、聲音、智能化的決策結(jié)果等)呈現(xiàn)出來(lái),使得無(wú)論身處何處的用戶(hù)都能看到,甚至進(jìn)而借助這個(gè)平臺(tái)進(jìn)行控制。
圖3 涵蓋嵌入式開(kāi)發(fā)技術(shù)、移動(dòng)應(yīng)用程序開(kāi)發(fā)技術(shù)和Web開(kāi)發(fā)技術(shù)的物聯(lián)網(wǎng)系統(tǒng)技術(shù)學(xué)習(xí)路線
物聯(lián)網(wǎng)時(shí)代,F(xiàn)SD人才緊缺成為制約物聯(lián)網(wǎng)發(fā)展的一個(gè)主要瓶頸,亟須加大教學(xué)中人才培養(yǎng)的力度,為此,如何探索出一條合適的物聯(lián)網(wǎng)技術(shù)學(xué)習(xí)框架和路線,并在教學(xué)中進(jìn)行積極實(shí)踐顯得尤為迫切。
計(jì)算機(jī)專(zhuān)業(yè)相比于其他理工類(lèi)相關(guān)專(zhuān)業(yè)的優(yōu)勢(shì)在于具有對(duì)計(jì)算機(jī)系統(tǒng)的綜合掌握與運(yùn)用能力,更加注重計(jì)算機(jī)系統(tǒng)的整體性,包括計(jì)算機(jī)硬件系統(tǒng)、軟件系統(tǒng)和網(wǎng)絡(luò)3個(gè)層面,這奠定了日后成為計(jì)算機(jī)系統(tǒng)專(zhuān)業(yè)人才的基礎(chǔ)。
物聯(lián)網(wǎng)時(shí)代的到來(lái),需要更多掌握物聯(lián)網(wǎng)3個(gè)層次的基本理論與關(guān)鍵技術(shù)的復(fù)合式人才,由此,物聯(lián)網(wǎng)全棧人才成為計(jì)算機(jī)專(zhuān)業(yè)系統(tǒng)能力培養(yǎng)的有力抓手。
以我校計(jì)算機(jī)專(zhuān)業(yè)培養(yǎng)方案中的部分課程設(shè)置為例進(jìn)行分析,圖4展示了與物聯(lián)網(wǎng)體系結(jié)構(gòu)相對(duì)應(yīng)的課程設(shè)置。
可見(jiàn),圖4中的課程體系與物聯(lián)網(wǎng)3層結(jié)構(gòu)一一對(duì)應(yīng),這表明當(dāng)前國(guó)內(nèi)計(jì)算機(jī)類(lèi)專(zhuān)業(yè)學(xué)生培養(yǎng)的課程體系足以支撐起物聯(lián)網(wǎng)技術(shù)的學(xué)習(xí),完全能夠具備培養(yǎng)FSD的基本條件。
在開(kāi)源硬件以及硬件設(shè)計(jì)程序化(如FPGA、CPLD的普及)的背景下,計(jì)算機(jī)類(lèi)專(zhuān)業(yè)學(xué)生的知識(shí)結(jié)構(gòu)完全可以使其勝任感知層嵌入式設(shè)備與智能硬件的開(kāi)發(fā),這些在這幾年我院的課程實(shí)驗(yàn)(一般為12~16學(xué)時(shí))與課程設(shè)計(jì)(一般為2周)、畢業(yè)設(shè)計(jì)(一般為14周)等環(huán)節(jié)中已得到充分驗(yàn)證。
圖4 課程與實(shí)踐主線奠定IoT理論與實(shí)踐基礎(chǔ)
圖5 基于Modbus協(xié)議的物聯(lián)網(wǎng)系統(tǒng)
在實(shí)踐環(huán)節(jié),我們?cè)O(shè)計(jì)了基于Modbus協(xié)議的物聯(lián)網(wǎng)系統(tǒng),圖5給出了整體的結(jié)構(gòu)圖示。系統(tǒng)由4個(gè)部分組成,包括下位感知設(shè)備、物聯(lián)網(wǎng)終端(可視為網(wǎng)關(guān))、服務(wù)器和上位機(jī)。在結(jié)構(gòu)上,感知設(shè)備和物聯(lián)網(wǎng)終端對(duì)應(yīng)感知層,服務(wù)器和上位機(jī)對(duì)應(yīng)應(yīng)用層,通信部分對(duì)應(yīng)傳輸層,系統(tǒng)滿(mǎn)足物聯(lián)網(wǎng)的3個(gè)層次。
要求學(xué)生完成如下任務(wù):依據(jù)文字描述搭建出系統(tǒng)的結(jié)構(gòu)、設(shè)計(jì)系統(tǒng)程序集合、設(shè)計(jì)各程序功能點(diǎn)、編制、燒寫(xiě)(下載)、調(diào)試程序、集成測(cè)試、文檔書(shū)寫(xiě)。
在創(chuàng)新實(shí)驗(yàn)課環(huán)節(jié),學(xué)生較好地完成除圖5中下位設(shè)備開(kāi)發(fā)的全部?jī)?nèi)容;在畢業(yè)設(shè)計(jì)環(huán)節(jié),我們將功能進(jìn)一步增強(qiáng),學(xué)生仍出色地完成預(yù)定功能,并獲得優(yōu)秀畢業(yè)設(shè)計(jì)成績(jī)。
經(jīng)過(guò)圖3中的物聯(lián)網(wǎng)技術(shù)路線學(xué)習(xí)和類(lèi)似于圖5中的實(shí)踐環(huán)節(jié)后,初步掌握計(jì)算機(jī)系統(tǒng)綜合知識(shí)并基本能夠進(jìn)行物聯(lián)網(wǎng)系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)的學(xué)生,具備了物聯(lián)網(wǎng)復(fù)合式人才的必要條件。文獻(xiàn)[13]給出了首席物聯(lián)網(wǎng)官(CIoTO)的稱(chēng)呼,對(duì)物聯(lián)網(wǎng)人才的最高層次進(jìn)行了明確定位。具備物聯(lián)網(wǎng)3層系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)的FSD,相比純粹的嵌入式開(kāi)發(fā)人員或軟件開(kāi)發(fā)人員,更加有能力進(jìn)行物聯(lián)網(wǎng)系統(tǒng)整體開(kāi)發(fā)工程的有效把控,從而更加具備物聯(lián)網(wǎng)人才鮮明特征,更加靠近首席物聯(lián)網(wǎng)官。
由于物聯(lián)網(wǎng)具有內(nèi)容覆蓋面廣、技術(shù)密集性高、脈絡(luò)重點(diǎn)難掌握等特點(diǎn),在教學(xué)中如何定位和培養(yǎng)物聯(lián)網(wǎng)人才成為制約點(diǎn)。筆者對(duì)此進(jìn)行嘗試性回答,針對(duì)性地給出物聯(lián)網(wǎng)全棧人才概念、技術(shù)學(xué)習(xí)路線以及實(shí)踐環(huán)節(jié)樣例,希冀其能夠作為重要參考,達(dá)到有效輔助計(jì)算機(jī)類(lèi)人才培養(yǎng)的目的。
[1]孫其博, 劉杰, 黎羴, 等. 物聯(lián)網(wǎng): 概念、架構(gòu)與關(guān)鍵技術(shù)研究綜述[J]. 北京郵電大學(xué)學(xué)報(bào), 2010, 33(3): 1-9.
[2]陳海明, 崔莉, 謝開(kāi)斌. 物聯(lián)網(wǎng)體系結(jié)構(gòu)與實(shí)現(xiàn)方法的比較研究[J]. 計(jì)算機(jī)學(xué)報(bào), 2013, 36(1): 168-188.
[3]沈蘇彬, 毛燕琴, 范曲立, 等. 物聯(lián)網(wǎng)概念模型與體系結(jié)構(gòu)[J]. 南京郵電大學(xué)學(xué)報(bào)(自然科學(xué)版), 2010, 30(4): 1-8.
[4]沈蘇彬, 范曲立, 宗平, 等. 物聯(lián)網(wǎng)的體系結(jié)構(gòu)與相關(guān)技術(shù)研究[J]. 南京郵電大學(xué)學(xué)報(bào)(自然科學(xué)版), 2009, 29(6): 1-11.
[5]姜臘林, 王靜, 徐蔚鴻. 網(wǎng)絡(luò)工程專(zhuān)業(yè)物聯(lián)網(wǎng)方向課程改革研究[J]. 計(jì)算機(jī)教育, 2011(19): 48-50.
[6]吳功宜. 對(duì)物聯(lián)網(wǎng)工程專(zhuān)業(yè)教學(xué)體系建設(shè)的思考[J]. 計(jì)算機(jī)教育, 2010(21): 26-29.
[7]錢(qián)紅燕, 陳兵, 燕雪峰. 物聯(lián)網(wǎng)教學(xué)實(shí)踐體系研究[J]. 計(jì)算機(jī)教育, 2011(23): 21-25.
[8]羅高峰, 石子娟. 物聯(lián)網(wǎng)教學(xué)實(shí)踐模式研究: 以基于開(kāi)放平臺(tái)的網(wǎng)絡(luò)類(lèi)課程實(shí)踐教學(xué)為例[J]. 物聯(lián)網(wǎng)技術(shù), 2016, 6(7): 108-109.
[9]孫涵, 陳兵, 王立松, 等. 物聯(lián)網(wǎng)工程專(zhuān)業(yè)建設(shè)初探[J]. 計(jì)算機(jī)教育, 2012(21): 2-4.
[10]陳輝, 李敬兆, 詹林. 物聯(lián)網(wǎng)工程專(zhuān)業(yè)人才培養(yǎng)和專(zhuān)業(yè)建設(shè)探索[J]. 計(jì)算機(jī)教育, 2014(4): 13-17.
[11]陳景賢, 陳志生. 高校物聯(lián)網(wǎng)實(shí)驗(yàn)室建設(shè)與應(yīng)用[J]. 實(shí)驗(yàn)室研究與探索, 2013(8): 451-453.
[12]徐小龍, 魯蔚鋒, 楊庚. 物聯(lián)網(wǎng)專(zhuān)業(yè)人才培養(yǎng)策略研究[J]. 南京郵電大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版), 2012, 14(1): 119-124.
[13]鳳凰科技. 物聯(lián)網(wǎng)時(shí)代即將到來(lái): 未來(lái)三種職業(yè)最吃香[EB/OL]. (2016-06-12)[2017-07-23]. http://tech.ifeng.com/a/20160612/41621579_0.shtml.
[14]Zhang C, Chu D H, Meng F C, et al. Teaching research on IoT and embedded system of software engineering[J]. 計(jì)算機(jī)教育,2016(8): 19-25.