劉 濤,錢 良,王新兵,田曉華
(上海交通大學(xué)電子工程系,上海200240)
“無線通信原理與移動網(wǎng)絡(luò)”是我校面向信息工程專業(yè)本科生開設(shè)的一門重要的專業(yè)主干課程。該課程主要講授蜂窩網(wǎng)絡(luò)及無線移動網(wǎng)絡(luò)的基本傳輸技術(shù)、網(wǎng)絡(luò)架構(gòu)及主流傳輸網(wǎng)絡(luò)協(xié)議等,為學(xué)生今后從事無線通信相關(guān)的工作或研究打下扎實的理論基礎(chǔ)。
無線傳感器網(wǎng)絡(luò)作為新興物聯(lián)網(wǎng)產(chǎn)業(yè)的熱門技術(shù)之一,也是“無線通信原理與移動網(wǎng)絡(luò)”課程中需要講授的主要知識點之一。但該部分內(nèi)容如果單純通過課堂講解,則比較抽象和枯燥,特別是其中的協(xié)議流程方面的內(nèi)容。因此,開設(shè)相關(guān)課程實驗,不僅可以幫助學(xué)生更好地理解理論內(nèi)容,還能培養(yǎng)學(xué)生的實踐能力和創(chuàng)新精神,提高學(xué)生的綜合素質(zhì)。
目前國內(nèi)外高校開設(shè)的“移動通信”和“無線網(wǎng)絡(luò)”等課程中也涉及一些關(guān)于無線傳感器網(wǎng)絡(luò)的實驗[1],但很多都是驗證性實驗。學(xué)生完成實驗后雖然鍛煉了動手能力,但對協(xié)議規(guī)范及組網(wǎng)流程等理論內(nèi)容的理解并無多大幫助,對分析和解決無線傳感器網(wǎng)絡(luò)能力問題的培養(yǎng)也無太大意義。本文提出的課程實驗較好地解決了這些問題。
在我?!盁o線通信原理與移動網(wǎng)絡(luò)”課程關(guān)于無線傳感器網(wǎng)絡(luò)知識點的教學(xué)中,我們對這部分實驗內(nèi)容的設(shè)置及教學(xué)模式進(jìn)行了改革,其具體內(nèi)容如下:
(1)課堂教學(xué)中介紹無線傳感器網(wǎng)絡(luò)基本概念、拓?fù)浣Y(jié)構(gòu)、組網(wǎng)方式、特點及優(yōu)勢以及目前在物聯(lián)網(wǎng)中的一些具體應(yīng)用等,使學(xué)生對其無線網(wǎng)絡(luò)有個初步的認(rèn)識。
(2)課程實驗中采用基于CC2530芯片的開發(fā)套件,要求學(xué)生以小組為單位首先完成基本的實驗內(nèi)容,包括:了解ZigBee協(xié)議以及掌握IAR軟件,完成點到點通信,學(xué)習(xí)使用sniffer節(jié)點與嗅探網(wǎng)絡(luò)節(jié)點之間通信數(shù)據(jù)包傳輸并通過分析數(shù)據(jù)包畫出流程圖等。
(3)在完成基本實驗的基礎(chǔ)上,增加路由節(jié)點,搭建多跳傳感器網(wǎng)絡(luò),同樣通過抓包方式分析從組網(wǎng)到數(shù)據(jù)傳輸過程中的協(xié)議流程,比較其與點到點通信的異同點,畫出流程圖。
(4)支持學(xué)生完成開放性實驗,即可以選擇溫度傳感器、加速度傳感器等進(jìn)行數(shù)據(jù)采集并將數(shù)據(jù)傳到主節(jié)點,實現(xiàn)簡單的物聯(lián)網(wǎng)應(yīng)用。
該課程實驗內(nèi)容綜合了驗證型、設(shè)計型和開放型實驗的要素,使學(xué)生從基本功能做起,調(diào)動學(xué)習(xí)傳感網(wǎng)絡(luò)知識的積極性,并能拓展和深入,提高學(xué)生的工程技術(shù)能力。課程實驗要求學(xué)生以2-3人為一組,既要求每個組員有明確分工,又要求組員間合作協(xié)調(diào),從而培養(yǎng)學(xué)生的團(tuán)隊精神。
本實驗采用基于TI公司的CC2530芯片為核心的開發(fā)板套件作為課程實驗平臺。CC2530是一個兼容IEEE 802.15.4的包含8051MCU內(nèi)核的片上系統(tǒng),它支持 ZigBee、ZigBee PRO和 ZigBeeRF4CE標(biāo)準(zhǔn)[2]。CC2530還可以配備TI的一個標(biāo)準(zhǔn)兼容或?qū)S械木W(wǎng)絡(luò)協(xié)議棧(RemoTI,Z-Stack,或Simplici-TI)來簡化開發(fā)。CC2530目前廣泛應(yīng)用于包括遠(yuǎn)程控制、智能家庭控制、計量和智能能源、樓宇自動化和智能醫(yī)療等領(lǐng)域。實驗時,每組學(xué)生配置一套開發(fā)套件,包括4-5個無線傳感器節(jié)點、燒錄器以及鋰電池等。
在實驗中,學(xué)生需要熟悉并安裝IAR Embedded Workbench?for 8051 from IAR Systems開發(fā)環(huán)境,該環(huán)境提供了C語言的程序編寫、編譯連接、程序下載以及仿真調(diào)試等全部功能。同時,在實驗中學(xué)生還需要掌握利用仿真器進(jìn)行仿真、調(diào)試和Flash編程,學(xué)會采用SmartRF studio進(jìn)行RF測試,以及采用SmartRF Packet Sniffer進(jìn)行包探測和分析。
學(xué)生在熟悉硬件平臺、軟件開發(fā)環(huán)境及程序燒錄方式等基本工具和方法之后,需要了解并修改Zstack協(xié)議棧程序,燒錄一個協(xié)調(diào)器節(jié)點(Coordinator)和一個終端節(jié)點(End Device)。對協(xié)調(diào)器節(jié)點和終端節(jié)點先后上電,通過串口助手工具,觀察是否收到數(shù)據(jù),判斷點到點通信是否成功。接著,燒錄另外一個節(jié)點作為嗅探器,利用SmartRF Packet Sniffer軟件對上述兩點之間通信的過程進(jìn)行抓包分析,如圖1所示。學(xué)生對抓取的數(shù)據(jù)包進(jìn)行逐條分析,結(jié)合IEEE802.15.4協(xié)議,可以了解數(shù)據(jù)包的協(xié)議通信格式,如廣播幀、探詢幀、確認(rèn)幀等,并熟悉ZigBee協(xié)議基本組網(wǎng)流程[3]。學(xué)生根據(jù)分析結(jié)果畫出在兩點通信過程中協(xié)調(diào)器和終端節(jié)點之間的信令流程圖,加強對協(xié)議的理解。
圖1 SmartRF Packet Sniffer軟件抓包界面
對實驗中出現(xiàn)的問題,如兩節(jié)點無法通信傳輸,也可利用嗅探器的抓包來分析原因。對協(xié)調(diào)器和終端節(jié)點單獨上電抓包分析每個節(jié)點的無線功能是否正常,再根據(jù)兩者都上電后抓取雙方的通信幀情況來查找問題出現(xiàn)的原因,如PANID等參數(shù)是否設(shè)置正確等。利用這種方法,很多學(xué)生都找到了問題并成功解決。
學(xué)生通過組網(wǎng)通信與協(xié)議分析的實驗,了解了無線傳感器網(wǎng)絡(luò)中從協(xié)調(diào)器節(jié)點建立網(wǎng)絡(luò),到終端節(jié)點加入網(wǎng)絡(luò)開始傳輸數(shù)據(jù)的過程,對802.15.4規(guī)范所定義的協(xié)議流程有了更清楚的認(rèn)識。同時,學(xué)生可以掌握如何修改傳感器網(wǎng)絡(luò)的一些常用參數(shù),以及在調(diào)試過程中如何發(fā)現(xiàn)和解決問題,培養(yǎng)了工程實踐的能力。
該部分實驗內(nèi)容為拓展性實驗,屬于設(shè)計型及開放型實驗[4]。
在該部分實驗中,首先設(shè)法使協(xié)調(diào)器節(jié)點與終端節(jié)點無法進(jìn)行通信,這可以采用改變傳輸條件,降低發(fā)送功率等方法來實現(xiàn)。接著,在網(wǎng)絡(luò)中加入路由節(jié)點,并使路由節(jié)點與上述兩個節(jié)點進(jìn)行可靠無線傳輸。這時,終端節(jié)點將會通過入網(wǎng)的路由節(jié)點和協(xié)調(diào)器節(jié)點進(jìn)行通信。同樣,利用另外一個節(jié)點作為包嗅探器節(jié)點,將網(wǎng)絡(luò)中傳輸數(shù)據(jù)過程進(jìn)行抓包記錄,分析傳輸中的數(shù)據(jù)包幀格式并畫出信令流程圖。通過與上節(jié)中兩點傳輸流程的比較,學(xué)生可以對多跳傳輸?shù)膮f(xié)議流程有更直觀的了解。同時,學(xué)生還可以在網(wǎng)絡(luò)中加入兩個路由節(jié)點,進(jìn)行路由選擇策略等拓展性實驗。
最后,學(xué)生可以通過開發(fā)套件中預(yù)留的接口,連接溫度傳感器、濕度傳感器或光感傳感器等,修改Z-Stack協(xié)議棧應(yīng)用層程序,完成一個基本的物聯(lián)網(wǎng)工程應(yīng)用。
通過該部分實驗內(nèi)容,學(xué)生對組建較復(fù)雜的傳感器網(wǎng)絡(luò)及實現(xiàn)具體的解決方案有了更深入的了解。而學(xué)生在完成基本實驗時所掌握的技能與方法,也在該部分實驗中得到了進(jìn)一步的鍛煉和加強。
教學(xué)實踐表明,本文所介紹的無線傳感器網(wǎng)絡(luò)方面的課程實驗方法能充分調(diào)動學(xué)生學(xué)習(xí)無線傳感器網(wǎng)絡(luò)的積極性和主動性,激發(fā)學(xué)生的創(chuàng)新思維,增強學(xué)生的工程專業(yè)技能。學(xué)生能有效地掌握傳感器網(wǎng)絡(luò)的入門知識并可持續(xù)性學(xué)習(xí),提高了無線傳感器網(wǎng)絡(luò)應(yīng)用及解決實際問題的能力,為今后從事無線通信相關(guān)的工作或后續(xù)的研究生階段的深造進(jìn)行了有效的鋪墊。本文提出的方法也可以集成到相關(guān)課程,包括研究生課程的系統(tǒng)性教學(xué)實驗中。
[1]潭志,黎學(xué)超,徐志勇.多功能網(wǎng)絡(luò)化控制實驗系統(tǒng)的教學(xué)[J].南京:電氣電子教學(xué)學(xué)報,2013,35(1):78-80,83.
[2]http://www.ti.com/product/cc2530
[3]http://standards.ieee.org/getieee802/download/802.15.4-2011.pdf
[4]袁焱,周玲玲,龍滬強.構(gòu)建信息工程實驗教學(xué)新體系[J].南京:電氣電子教學(xué)學(xué)報,2010,32(6):98-100.