[摘 要]國內(nèi)高校嵌入式系統(tǒng)基礎(chǔ)教學(xué)中存在一些問題。解決這些問題需采用以項目為引導(dǎo)、以實際需求指導(dǎo)理論學(xué)習(xí)、以實踐促進(jìn)學(xué)習(xí)的項目化教學(xué)。通過對使用SMTP協(xié)議通信的嵌入式遠(yuǎn)程工業(yè)控制項目的具體實施,完成教學(xué)和項目組織。提高了學(xué)生的學(xué)習(xí)積極性和團(tuán)隊合作能力,有效地提高教育教學(xué)質(zhì)量,能達(dá)到預(yù)期教學(xué)效果。
[關(guān)鍵詞]嵌入式系統(tǒng) 項目引導(dǎo) 實踐教學(xué) SMTP
[中圖分類號] G642 [文獻(xiàn)標(biāo)識碼] A [文章編號] 2095-3437(2013)15-0119-02
一、前言
嵌入式系統(tǒng)作為實踐性很強(qiáng)的課程,涉及到計算機(jī)、電子技術(shù)、自動化等多領(lǐng)域的知識。從計算機(jī)專業(yè)來看,該課程涵蓋了網(wǎng)絡(luò)、操作系統(tǒng)、微機(jī)原理、C語言等多門課程,涉及面廣,學(xué)習(xí)難度大。然而,相當(dāng)多的學(xué)校只給予該課36~54個學(xué)時。作為教師,卻需要根據(jù)教學(xué)大綱的安排,全面介紹處理器、接口、操作系統(tǒng)、驅(qū)動、應(yīng)用程序開發(fā)等基礎(chǔ)知識。顯然,采用傳統(tǒng)教學(xué)方法,既要完成理論的講解,又完成相關(guān)實驗,就如走馬觀花,很難深入理解嵌入式系統(tǒng)的基礎(chǔ)知識,更不可能進(jìn)行嵌入式技術(shù)的開發(fā)。為了提高學(xué)生學(xué)習(xí)積極性,并使學(xué)生有具體的學(xué)習(xí)目標(biāo),作者在嵌入式系統(tǒng)的課程教學(xué)中以項目為引導(dǎo),通過對一簡化的遠(yuǎn)程工業(yè)控制項目的實施來驗證項目引導(dǎo)在嵌入式系統(tǒng)基礎(chǔ)教學(xué)中是正確可行的。[1]
二、項目引導(dǎo)
(一)項目引導(dǎo)理論及特點
“項目引導(dǎo)教學(xué)”是一種新的教學(xué)模式,來源于建構(gòu)主義學(xué)習(xí)理論。作為“行動導(dǎo)向”教學(xué)法之一,通過“項目需求”為指引,在有限的課時計劃內(nèi),師生一起為實施一個完整的項目進(jìn)行教學(xué)活動。項目需要的專業(yè)技術(shù)作為規(guī)定的教學(xué)內(nèi)容和學(xué)生的專業(yè)能力培養(yǎng)要求,并且在教學(xué)結(jié)束后會產(chǎn)生一個較完整的項目作品。其特點是:項目引導(dǎo),任務(wù)(技術(shù))驅(qū)動,學(xué)生主體,素質(zhì)滲透,學(xué)工結(jié)合。
在教學(xué)過程中以項目作為主線來展開,將所需的知識點融入到教學(xué)的各個環(huán)節(jié)中,從而推進(jìn)項目的實施與開發(fā)。在此過程中,激發(fā)起學(xué)生積極的學(xué)習(xí)態(tài)度和求知欲,引導(dǎo)學(xué)生去探索專業(yè)技術(shù),從而達(dá)到學(xué)習(xí)知識和學(xué)習(xí)能力培養(yǎng)的目的。[2]項目引導(dǎo)法最大的特點在于,改變了傳統(tǒng)的教學(xué)方法,即“教—學(xué)”的這種“灌—填”的模式,引導(dǎo)學(xué)生由被動的學(xué)習(xí),轉(zhuǎn)化為自主學(xué)習(xí),而教師在此過程中根據(jù)項目的需求進(jìn)行引導(dǎo)。[3]
(二)項目引入及知識點分解
通過引入一個簡化的遠(yuǎn)程工業(yè)控制項目實例來描述項目引導(dǎo)的教學(xué)實施過程。在教學(xué)實施過程中,教師作為項目的引導(dǎo)者,學(xué)生是項目實施的主體。通過給學(xué)生詳細(xì)分析項目需求、項目技術(shù)要點、項目設(shè)計和實施方法、項目調(diào)試技術(shù)等基礎(chǔ),逐步引導(dǎo)學(xué)生完成嵌入式系統(tǒng)各個知識點的學(xué)習(xí),讓學(xué)生有目的、有計劃的學(xué)習(xí),學(xué)以致用從而激發(fā)了學(xué)生的學(xué)習(xí)興趣。
在項目的引導(dǎo)及教學(xué)過程中,根據(jù)嵌入式人才需求及計算機(jī)專業(yè)自身的特點,對項目中涉及的眾多知識點進(jìn)行刪減,偏重軟件開發(fā)的技術(shù)講解和接口的開發(fā),做到條理清晰。
該項目通過郵件的方式,由遠(yuǎn)程客戶端通過郵件工具(如:Outlook)在主題字中發(fā)送控制命令,設(shè)備的嵌入式中央控制板上實現(xiàn)一個簡化版的SMTP Server和POP3 Server,在接收遠(yuǎn)程客戶端郵件后,解析出郵件主題字中的命令,然后通過RS-232通信將控制傳遞到各子設(shè)備,從而實現(xiàn)控制。控制完成后,POP3 Server將結(jié)果以郵件形式反饋給遠(yuǎn)程用戶,如圖2所示。
■
圖2:SMTP/POP3嵌入式遠(yuǎn)程控制結(jié)構(gòu)
首先,對該遠(yuǎn)程控制系統(tǒng)進(jìn)行需求分析,可以完成以下功能:
1)遠(yuǎn)程控制:在郵件主題字中傳遞控制命令;
2)遠(yuǎn)程更新:可以實現(xiàn)設(shè)備上的本地控制程序的遠(yuǎn)程更新;
3)安全認(rèn)證:傳遞郵件過程中,實現(xiàn)用戶名、密碼的安全認(rèn)證;
4)控制反饋:無論成功與失敗,將控制結(jié)果以郵件形式反饋給遠(yuǎn)程控制用戶。
在完成需求分析的時候,逐層分解,指出項目開發(fā)所涵蓋的各項技術(shù),學(xué)生需要掌握的知識點,對各個知識點分別以了解、理解、掌握的層次區(qū)別對待。各知識點如下:
1)實現(xiàn)遠(yuǎn)程控制的中央控制板所需的核心板硬件電路,以了解為主;
2)中央控制板與子設(shè)備通信的RS-232接口電路,理解為主;
3)中央控制板功能的實現(xiàn):Bootloader燒寫、內(nèi)核/文件系統(tǒng)移植,已掌握操作為主;
4)項目實施,程序的引導(dǎo)。主要是嵌入式Linux啟動引導(dǎo)過程,理解并掌握基本配置;
5)遠(yuǎn)程通信,項目中通過SMTP及POP3協(xié)議完成通信,要求在設(shè)備端的中央控制板上實現(xiàn)SMTP Server和POP3 Server。在該技術(shù)實現(xiàn)上,主要涵蓋兩方面知識。其一,必須掌握基本的Linux socket編程技巧,由C語言實現(xiàn),對于計算機(jī)專業(yè)的學(xué)生完全能達(dá)到較好的學(xué)習(xí)效果;其二,對于SMTP協(xié)議和POP3協(xié)議,需要提高學(xué)生在項目中自主學(xué)習(xí)、閱讀文獻(xiàn)資料的能力,該部分知識可通過公開的RFC文檔獲取。在教學(xué)過程中,教師對協(xié)議進(jìn)行精簡,并帶領(lǐng)學(xué)生一起完成協(xié)議通信部分的流程模塊劃分,提升學(xué)生在陌生領(lǐng)域解決問題的能力。
6)遠(yuǎn)程更新,該技術(shù)主要包括三方面的知識。其一,網(wǎng)絡(luò)字符流的處理,由C語言字符串處理的基礎(chǔ)知識即可完成;其二,必須掌握Linux底層文件處理;其三,涉及到SMTP協(xié)議對于附件的Base64的編解碼技術(shù),同樣可由教師對Base64編碼進(jìn)行講解,提升學(xué)生程序編寫的素養(yǎng)。
7) 串口通信,設(shè)備的中央控制板收到遠(yuǎn)程命令后,通過串口將命令傳遞給各子設(shè)備。在有限的課時內(nèi),可以將最常用的串口作為接口的重點案例講解。包括:ARM針對串口的內(nèi)部寄存器設(shè)置;在Linux內(nèi)核中串口驅(qū)動的編寫分析;重點掌握嵌入式Linux中串口設(shè)置及通信應(yīng)用程序的編寫。
8)進(jìn)程及進(jìn)程通信,在項目的實現(xiàn)中需要進(jìn)程及進(jìn)程間的通信技術(shù)完善整個程序結(jié)構(gòu),該部分也是嵌入式Linux學(xué)習(xí)中必須掌握的重點部分。
通過該嵌入式遠(yuǎn)程工業(yè)控制項目,基本涵蓋了嵌入式系統(tǒng)學(xué)習(xí)的ARM硬件環(huán)境、嵌入式linux、內(nèi)核移植、嵌入式編程環(huán)境、I/O讀寫、進(jìn)程及進(jìn)程通信、接口及編程等內(nèi)容,是嵌入式系統(tǒng)學(xué)習(xí)和提升的一個典型項目。通過項目引導(dǎo)的教學(xué)實施,讓學(xué)生對嵌入式系統(tǒng)的學(xué)習(xí)有了感性與直觀認(rèn)識,極大的激發(fā)了學(xué)生的學(xué)習(xí)熱情。
(三)項目實施及教學(xué)
確定項目并初步分析后,按項目進(jìn)度的需求逐步講解,同時鼓勵學(xué)生主動探索,并搜索相關(guān)資料學(xué)習(xí)對應(yīng)知識,自主挖掘所需的理論知識。
在此過程中,根據(jù)學(xué)生的學(xué)習(xí)基礎(chǔ)和相應(yīng)的學(xué)習(xí)能力,采用分組的形式完成整個階段的學(xué)習(xí)和項目實施。分組以4人為一組,指定能力較強(qiáng)的1人為組長,由組長安排組內(nèi)的討論,分配組內(nèi)成員的任務(wù)。根據(jù)項目相關(guān)的工作情況,按照項目設(shè)計的需要完成設(shè)計書并完成相應(yīng)階段的實驗,給出調(diào)試結(jié)果。為保證所有學(xué)生學(xué)習(xí)的同步進(jìn)行,在每個項目階段,教師都對每組的進(jìn)展和實驗進(jìn)行抽查,了解各組進(jìn)展,并做好記錄。在項目的中期階段開始,所有組都要進(jìn)行項目的進(jìn)展匯報,隨機(jī)抽取組員進(jìn)行PPT演示和答辯,并將其成績計入考評成績。在項目的最后階段,進(jìn)行項目和課程學(xué)習(xí)的總體答辯。
(四)實施效果
在項目引導(dǎo)教學(xué)的過程中,教師在教學(xué)的同時,幫助學(xué)生建立團(tuán)隊并形成討論溝通機(jī)制,給出一些方向性的建議。不同的團(tuán)隊形式了各具特色的分工機(jī)制,有同學(xué)適合從整體把握項目,有學(xué)生更擅長代碼軟件的開發(fā),有學(xué)生能給出合理的測試調(diào)試建議,使學(xué)生能合理的自我定位。對于學(xué)生個體而言,提高了學(xué)生的學(xué)習(xí)熱情,由被動學(xué)習(xí)轉(zhuǎn)變?yōu)橹鲃訉W(xué)習(xí),并激發(fā)了學(xué)生的求知欲和創(chuàng)新能力。特別在主動搜索整理資料、制訂項目設(shè)計方案方面,培養(yǎng)了自我學(xué)習(xí)的能力。對于嵌入式系統(tǒng)相關(guān)知識點,能夠按要求深入了解與熟練掌握,達(dá)到了預(yù)期的教學(xué)效果。
四、結(jié)束語
項目引導(dǎo)嵌入式系統(tǒng)的教學(xué)方法目前已取得初步成效,通過項目引導(dǎo)來給學(xué)生確立明確目標(biāo),激發(fā)學(xué)習(xí)熱情,提高學(xué)生的學(xué)習(xí)積極性、主動性與創(chuàng)造性,并在教學(xué)中通過項目實踐提高了學(xué)生的動手能力,團(tuán)隊協(xié)作能力,同時也加強(qiáng)了師生之間的情感交流與互動。如何在教學(xué)過程中建立階段性的考核及衡量機(jī)制,是后續(xù)教學(xué)過程中需要繼續(xù)探討的重要課題。
[ 參 考 文 獻(xiàn) ]
[1] 郭中華,伍馮潔,李寧智. 項目驅(qū)動法在嵌入式教學(xué)中的應(yīng)用[J]. 電腦知識與技術(shù), 2012,8(13):3107-3108.
[2] 謝四蓮,劉峰.“項目驅(qū)動法”在單片機(jī)原理及應(yīng)用教學(xué)中的應(yīng)用研究[J].湖南人文科技學(xué)院學(xué)報.2010,(2):34-36.
[3] 黎孟雄.項目驅(qū)動法在“管理信息系統(tǒng)”教學(xué)中的應(yīng)用研究[J].計算機(jī)教育,2007,(3):64-66.
[責(zé)任編輯:戴禎杰]