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