劉雨坪
(江蘇信息職業(yè)技術(shù)學(xué)院 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無錫 214153)
以人工智能、物聯(lián)網(wǎng)、大數(shù)據(jù)等為代表的新興學(xué)科蓬勃發(fā)展,對(duì)未來工科人才培養(yǎng)提出了新的要求[1-3]。部分產(chǎn)業(yè)強(qiáng)市,如我校所在地?zé)o錫市,提出了構(gòu)建“465”現(xiàn)代產(chǎn)業(yè)體系,其中四個(gè)地標(biāo)產(chǎn)業(yè)集群為物聯(lián)網(wǎng)、集成電路、生物醫(yī)藥、軟件與信息技術(shù)服務(wù)。首位構(gòu)建的就是物聯(lián)網(wǎng)產(chǎn)業(yè)集群,將產(chǎn)生大量的物聯(lián)網(wǎng)技術(shù)人才需求。物聯(lián)網(wǎng)移動(dòng)應(yīng)用開發(fā)作為物聯(lián)網(wǎng)應(yīng)用技術(shù)專業(yè)的核心課程,對(duì)其教學(xué)方法和教學(xué)內(nèi)容的改革研究具有重要意義。
現(xiàn)行的物聯(lián)網(wǎng)移動(dòng)應(yīng)用開發(fā)課程,基本做到了項(xiàng)目化教學(xué),其采用的實(shí)踐教學(xué)項(xiàng)目,大多貼近行業(yè)的典型應(yīng)用和專業(yè)技能大賽的賽題,以及1+x考證內(nèi)容,做到了“崗課賽證”融通[4-6]。但是在教學(xué)設(shè)計(jì)和教學(xué)實(shí)踐中,往往是教授學(xué)生實(shí)現(xiàn)方法,而不教調(diào)試方法。在教學(xué)實(shí)踐中,學(xué)生根據(jù)教材和教師的指導(dǎo),可以按照步驟完成開發(fā),但是一旦遇到問題,不知道如何排查,更不知道如何解決[7-8]。這并不符合專業(yè)培養(yǎng)目標(biāo),尤其是高等職業(yè)院校專業(yè)培養(yǎng)目標(biāo)中重點(diǎn)強(qiáng)調(diào)的安裝調(diào)試技能的培養(yǎng)。因此,筆者提出了將調(diào)試方法融入到物聯(lián)網(wǎng)移動(dòng)應(yīng)用開發(fā)課程中,在教學(xué)內(nèi)容和教學(xué)設(shè)計(jì)上做出改進(jìn)。
開設(shè)物聯(lián)網(wǎng)應(yīng)用技術(shù)專業(yè)的高等職業(yè)技術(shù)院校有近百所,專業(yè)培養(yǎng)對(duì)接物聯(lián)網(wǎng)產(chǎn)業(yè)鏈,聚焦工業(yè)互聯(lián)網(wǎng)等領(lǐng)域。培養(yǎng)面向軟件和信息技術(shù)服務(wù)業(yè)以及計(jì)算機(jī)、通信和其他電子設(shè)備制造等行業(yè)的物聯(lián)網(wǎng)工程技術(shù)人員、物聯(lián)網(wǎng)安裝調(diào)試員、信息通信網(wǎng)絡(luò)運(yùn)行管理人員、軟件與信息技術(shù)服務(wù)人員等,能夠從事物聯(lián)網(wǎng)設(shè)備安裝配置和調(diào)試、物聯(lián)網(wǎng)系統(tǒng)運(yùn)行管理與維護(hù)、物聯(lián)網(wǎng)系統(tǒng)應(yīng)用開發(fā)、物聯(lián)網(wǎng)項(xiàng)目規(guī)劃和管理等工作的高素質(zhì)技術(shù)技能人才[9-10]。
物聯(lián)網(wǎng)移動(dòng)應(yīng)用開發(fā)課程是物聯(lián)網(wǎng)應(yīng)用技術(shù)專業(yè)的核心課程,該課程依據(jù)物聯(lián)網(wǎng)應(yīng)用技術(shù)專業(yè)人才培養(yǎng)目標(biāo)和相關(guān)崗位能力要求設(shè)置,對(duì)培養(yǎng)本專業(yè)綜合能力起到支撐作用。課程教學(xué)方案設(shè)計(jì)雖然多集中在移動(dòng)端應(yīng)用的設(shè)計(jì)和開發(fā),但也離不開傳感器、執(zhí)行器、網(wǎng)關(guān)等物聯(lián)網(wǎng)基礎(chǔ)設(shè)施,尤其是移動(dòng)端如何通過物聯(lián)網(wǎng)云平臺(tái)獲取傳感器數(shù)據(jù),如何控制執(zhí)行器,是物聯(lián)網(wǎng)移動(dòng)應(yīng)用開發(fā)的核心功能。這其中有很多涉及到通信的地方,最典型的是物聯(lián)網(wǎng)移動(dòng)應(yīng)用需要頻繁地與物聯(lián)網(wǎng)云平臺(tái)進(jìn)行通信。
在項(xiàng)目化教學(xué)的教學(xué)項(xiàng)目設(shè)計(jì)上,從界面布局開發(fā)入手,因其相對(duì)簡(jiǎn)單且效果明顯可見,容易激起學(xué)生的學(xué)習(xí)興趣;然后學(xué)習(xí)活動(dòng)的基本寫法,調(diào)用第三方物聯(lián)網(wǎng)云平臺(tái)提供的jar包中的相關(guān)接口,與物聯(lián)網(wǎng)云平臺(tái)通信。在實(shí)踐教學(xué)中,學(xué)生按照教材和講授步驟操作,一旦遇到問題,只能一遍遍地與教材中所寫步驟對(duì)照,而沒有掌握排查問題、定位問題的方法。這與培養(yǎng)目標(biāo)中培養(yǎng)物聯(lián)網(wǎng)設(shè)備和系統(tǒng)的安裝調(diào)試能力的目標(biāo)略有不符。
為了解決前述問題,筆者將調(diào)試方法融入到物聯(lián)網(wǎng)移動(dòng)應(yīng)用開發(fā)課程中,在教學(xué)內(nèi)容和項(xiàng)目設(shè)計(jì)上分別進(jìn)行了改進(jìn)。
在教學(xué)內(nèi)容設(shè)計(jì)上,前文簡(jiǎn)述了當(dāng)前通用的項(xiàng)目化教學(xué)的教學(xué)項(xiàng)目設(shè)計(jì)思路,即從布局到活動(dòng),再到調(diào)用jar包接口與物聯(lián)網(wǎng)云平臺(tái)通信的順序。這個(gè)設(shè)計(jì)思路是沒有問題的,從布局到活動(dòng)相對(duì)簡(jiǎn)單,都是本地執(zhí)行,按照教材講解操作,不容易出現(xiàn)異常情況。但是到了與物聯(lián)網(wǎng)云平臺(tái)通信的章節(jié),涉及到網(wǎng)絡(luò)通信以及各種傳感器、執(zhí)行器,異常情況會(huì)明顯增多。問題就在于,因網(wǎng)絡(luò)環(huán)境和具體情況不同,面對(duì)很多問題學(xué)生通過參照教材中標(biāo)準(zhǔn)的操作方法無法有效解決,而前面的學(xué)習(xí)并沒有讓學(xué)生掌握調(diào)試方法和定位問題的能力。因此非常有必要讓學(xué)生掌握基本的調(diào)試方法,通過調(diào)試可以定位、解決異常情況中的大部分問題。
在從布局到活動(dòng)的相對(duì)簡(jiǎn)單的學(xué)習(xí)過程中,借助開發(fā)工具軟件提供的調(diào)試工具,學(xué)習(xí)調(diào)試方法。主要包括輸出關(guān)鍵點(diǎn)位的關(guān)鍵數(shù)據(jù)日志信息、Debug調(diào)試模式的使用,以及在調(diào)試模式中如何單步執(zhí)行程序、如何查看變量值、如何執(zhí)行額外指定的代碼等常用的調(diào)試方法。經(jīng)過前面對(duì)調(diào)試方法的學(xué)習(xí),課程項(xiàng)目進(jìn)度逐漸推進(jìn),可能遇到的異常情況逐漸增多,學(xué)生就可以使用前面掌握的調(diào)試方法,自己定位解決大部分問題。Debug模式下查看token變量值如圖1所示。
圖1 Debug調(diào)試截圖
需要指出的是,這里提到調(diào)試,仍然可以按照教材內(nèi)容進(jìn)行操作,而非需要學(xué)生看懂各種報(bào)錯(cuò)信息,讀懂報(bào)錯(cuò)堆棧。因?yàn)檫@些需要深厚的開發(fā)語(yǔ)言功底,并不符合高等職業(yè)院校對(duì)大多數(shù)學(xué)生的培養(yǎng)目標(biāo)。這里提到的調(diào)試,主要包括檢查網(wǎng)絡(luò)通信是否正常,檢查是否正確獲取了用于登錄狀態(tài)校驗(yàn)的token值,檢查獲取到的傳感器信息、每個(gè)傳感器的名稱和數(shù)值是否符合預(yù)期等。主要解決將一個(gè)較長(zhǎng)鏈路的通信過程拆分成幾段,具體判斷從哪一段開始出現(xiàn)數(shù)據(jù)異常的問題。比較常見的是,判斷數(shù)據(jù)沒有展示出來的原因,可能是數(shù)據(jù)沒有被收到,也可能是收到了數(shù)據(jù)但沒有被正確展示在界面上,如圖2所示。
圖2 鏈路拆分
在教學(xué)項(xiàng)目設(shè)計(jì)上同時(shí)進(jìn)行優(yōu)化,加入方便學(xué)習(xí)調(diào)試方法且有助于深入理解所調(diào)試數(shù)據(jù)的任務(wù)。能進(jìn)行調(diào)試的前提是知道數(shù)據(jù)的流向,知道正確的數(shù)據(jù)應(yīng)該是什么,所以在任務(wù)設(shè)計(jì)上,要將關(guān)鍵的數(shù)據(jù)鏈路分解開,或者更深入一步。比如與物聯(lián)網(wǎng)云平臺(tái)通信時(shí)調(diào)用云平臺(tái)提供的第三方j(luò)ar包,這是物聯(lián)網(wǎng)移動(dòng)應(yīng)用開發(fā)課程項(xiàng)目設(shè)計(jì)通用的做法。但是直接調(diào)用jar包,是不利于學(xué)生理解通信時(shí)具體的數(shù)據(jù)流向和核心數(shù)據(jù)內(nèi)容的。
對(duì)此,可以進(jìn)一步設(shè)計(jì)使用HTTP協(xié)議直接連接物聯(lián)網(wǎng)云平臺(tái),獲取傳感器數(shù)據(jù)的任務(wù)。這里使用封裝好的HTTP協(xié)議包,并不需要學(xué)生深入理解HTTP協(xié)議。但可以讓學(xué)生看到、理解請(qǐng)求和響應(yīng)的原始數(shù)據(jù)樣式,一般為通用JSON格式數(shù)據(jù),如圖3所示。有了上述經(jīng)驗(yàn),學(xué)生在后續(xù)開發(fā)、部署或調(diào)試時(shí),遇到使用第三方j(luò)ar包接入物聯(lián)網(wǎng)云平臺(tái)的異常情況時(shí),就會(huì)清楚數(shù)據(jù)的流向,知道正確的數(shù)據(jù)應(yīng)該是什么,從而有的放矢地利用掌握的調(diào)試工具進(jìn)行調(diào)試。
筆者對(duì)傳統(tǒng)課程的改進(jìn),契合高等職業(yè)院校學(xué)生培養(yǎng)目標(biāo),使學(xué)生學(xué)習(xí)思路更加清晰,理解問題更加深入,有效提高教學(xué)效率和學(xué)習(xí)效率。具體優(yōu)點(diǎn)如下:①直接培養(yǎng)、增強(qiáng)了學(xué)生的安裝調(diào)試能力;②將長(zhǎng)鏈路分解,有助于學(xué)生學(xué)習(xí)理解;③由淺及深培養(yǎng)學(xué)生定位問題、解決問題的能力,使課堂教學(xué)和學(xué)生自學(xué)更流暢;④有助于幫助部分學(xué)習(xí)能力較強(qiáng)的同學(xué)剖析現(xiàn)象,深入理解原理。
在高等職業(yè)院校人才培養(yǎng)目標(biāo)指導(dǎo)下,學(xué)習(xí)掌握調(diào)試方法,有助于提升學(xué)生發(fā)現(xiàn)問題和解決問題的能力,提升安裝調(diào)試的實(shí)踐能力,提升其核心競(jìng)爭(zhēng)力。融入了調(diào)試方法的物聯(lián)網(wǎng)移動(dòng)應(yīng)用開發(fā)課程,對(duì)傳統(tǒng)課程教學(xué)內(nèi)容和項(xiàng)目設(shè)計(jì)進(jìn)行了改進(jìn),雖增加了部分內(nèi)容,但使實(shí)踐授課或理實(shí)一體授課更加順暢,學(xué)生理解問題更加深入,具有較高的實(shí)用價(jià)值和研究?jī)r(jià)值。從教學(xué)效果反饋來看,整體成效明顯,但仍存在一些具體的設(shè)計(jì)有待進(jìn)一步發(fā)掘和研究。
物聯(lián)網(wǎng)技術(shù)2023年11期