亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        《無線傳感器網(wǎng)絡》項目式實驗教學改革與實踐

        2019-11-06 07:06:46趙翠芹馮太琴
        軟件導刊(教育技術) 2019年9期
        關鍵詞:無線傳感器網(wǎng)絡溫濕度串口

        趙翠芹,馮太琴

        (河池學院 計算機與信息工程學院,廣西 宜州 546300)

        0 引言

        《無線傳感器網(wǎng)絡》(Wireless Sensor Networks,WSN)是物聯(lián)網(wǎng)專業(yè)的核心課程,是一門理論豐富、實踐性很強的課程[1]。WSN的理論部分需要學生熟練掌握WSN的拓撲結構、MAC協(xié)議、差錯控制、網(wǎng)絡層路由協(xié)議、信源信道編解碼、網(wǎng)絡管理、同步與定位等技術[2]。實驗部分仿真軟件有OPNET、TOSSIM、OMNet++與NS等。隨著開源、半開源的WSN操作系統(tǒng)的出現(xiàn),硬件方面也出現(xiàn)了具有相應無線功能的模塊,比如TelosB、MicaZ與Imote等平臺[1]。有了這些硬件模塊之后,WSN就能利用各類硬件平臺完成感知數(shù)據(jù)的實時采集、檢測與傳輸。節(jié)點能以無線多跳路由、自組網(wǎng)的模式將數(shù)據(jù)傳送給終端用戶[3]。WSN越來越廣泛地應用在農業(yè)、醫(yī)學、家具與商業(yè)樓宇自動化等方面。因此,WSN是一門實踐性很強的課程[4-5]。

        河池學院物聯(lián)網(wǎng)專業(yè)尤其重視WSN實驗課程,不惜重金打造了WSN實驗室。該實驗室采購的CC2530試驗箱由廣州飛瑞敖、桂林華志與北京北科融創(chuàng)提供。除了CC2530,還有桂林華智的CC2420實驗床。兩種平臺的開發(fā)環(huán)境與所用語言不同,內容也特別繁雜。CC2530開發(fā)環(huán)境是在嵌入式IAR軟件下進行開發(fā),在ZStack-CC2530-2.5.1a協(xié)議棧上編寫C語言程序源碼。在CC2530平臺協(xié)議?;A上,學生需要掌握以下幾個實驗:簡單無線點燈實驗、點播通信實驗、廣播通信實驗、PC串口通信實驗、傳感器數(shù)據(jù)實驗、無線數(shù)據(jù)包抓取實驗等[3]。CC2420結合MSP430單片機進行開發(fā),開發(fā)環(huán)境是TinyOS微操作系統(tǒng),開發(fā)語言是nesC語言。在CC2420平臺中,需要掌握接口、組件、模塊、配件、程序運行模型等nesC語言編程基礎與相應的應用開發(fā)。

        該課程理論與實驗總學時只有64課時,為將所有設備充分利用,要求在WSN這門課中教授理論與這兩種平臺的驅動開發(fā),內容特別多且繁雜。為了讓學生能在有限的學時內把握這兩種平臺的學習內容,教學改革迫在眉睫。為深入應用WSN技術,提出以項目驅動教學方法將大部分課程理論知識與實踐教學串聯(lián)起來,以點帶面,提升學生的軟硬件操作能力。旨在讓學生深入利用WSN關鍵技術,夯實WSN應用系統(tǒng)基礎,提升學生的軟硬件操作能力。

        1 WSN課程存在問題

        物聯(lián)網(wǎng)工程專業(yè)是新工科專業(yè)。作為物聯(lián)網(wǎng)的主干課程,WSN知識包括了計算機網(wǎng)絡、通信與數(shù)據(jù)采集處理等技術。隨著WSN技術應用的發(fā)展,需要掌握的知識越來越多,這無疑對教師與學生都提出了更高的要求。河池學院從2014年開始招生,在該專業(yè)的教學過程中,前期基礎比較差,師資力量匱乏。該門課教師需要具備扎實的專業(yè)基礎知識與過硬的操作技能,需要長時間的積淀與不斷的充電。因二本與三本合并之后,學生的認知能力與接受能力大打折扣,整體素質有所下降。加上課程內容難度較高,即便在課堂上采用雨課堂、微助教、多媒體等方式結合教學,學生對課程內容也難以消化吸收[3],整體參與程度與積極性不高。

        為提升學生的自主能動性,豐富課程教學內容,提升課程教學質量,急需對WSN課程進行實驗教學改革,基于TinyOS-2.1.2系統(tǒng)平臺,巧妙設計了與實驗內容相呼應的項目。采用nesC語言在Telosb節(jié)點上進行開發(fā)。利用TinyOS系統(tǒng)提供的傳感器接口驅動、BaseStation與BlinkToRadio項目,開發(fā)了一個采集溫濕度傳感器與光敏傳感器數(shù)據(jù)的系統(tǒng),并將數(shù)據(jù)通過串口發(fā)送到PC機。在PC機端Visual Studio 2017軟件環(huán)境下,采用C#語言制作了一個展示采集數(shù)據(jù)的界面,用圖形化的方式展示給學生。將零散的知識點串聯(lián)起來,構造綜合性的項目式教學,升華WSN實驗課程的教學效果,激發(fā)學生的學習興趣,提升學生的專業(yè)能力與實際操作水平[6]。

        2 項目設計與教學案例

        下面重點介紹將項目式驅動教學法引入WSN實驗教學中,巧妙設計的光敏傳感器與溫濕度傳感器數(shù)據(jù)采集系統(tǒng)項目。

        2.1 硬件平臺

        實驗硬件平臺采用Telosb節(jié)點,軟件系統(tǒng)采用TinyOS-2.1.2系統(tǒng),開發(fā)語言采用nesC語言。Telosb節(jié)點硬件平臺主要是由JTAG接口、USB處理器、USB接口、USB發(fā)送指示燈、用戶按鈕、復位按鈕、光敏傳感器、數(shù)字溫濕度傳感器SMA天線接口、MSP430單片機與CC2420無線收發(fā)模塊組成。Telosb節(jié)點硬件實物如圖1所示。

        圖1 Telosb硬件節(jié)點

        2.2 驅動軟件

        TinyOS系統(tǒng)提供了很多項目實例,其中就包括比較常用的BaseStation項目與BlinkToRadio項目。該項目建立在BaseStation項目與BlinkToRadio項目之上。

        BlinkToRadio項目可以看作是一個終端節(jié)點,主要實現(xiàn)無線收發(fā)與傳感器數(shù)據(jù)獲取功能。BlinkToRadio有頭文件BlinkToRadio.h、配件文件BlinkToRadioAppC.nc、模塊文件BlinkToRadioC.nc與Makefile 4個文件;所用到的組件有MainC、LedsC、BlinkToRadioC、TimerMilliC()、ActiveMessageC與AMSenderC;所用到的接口有Boot、Leds、Timer〈TMilli〉、Packet、AMPacket、AMSend、Receive與SplitControl。BlinkToRadio.h頭文件中定義無線收發(fā)的消息結構體BlinkToRadioMsg。BlinkToRadio項目實現(xiàn)流程為:①在Boot接口下的booted()方法中開啟無線控制功能;②如果無線收發(fā)功能成功開啟,則啟動定時器功能,否則重新開啟無線控制功能;③如果信道空閑,則調用Packet接口的getPayload函數(shù)將結構體btrpkt指針指向數(shù)據(jù)包的有效數(shù)據(jù)區(qū),然后初始化結構體btrpkt,最后通過AMSend.send函數(shù)以廣播方式發(fā)送消息包;④發(fā)送完成后會觸發(fā)AMSend.sendDone事件;⑤節(jié)點收到無線消息時,會觸發(fā)Receive.receive事件,在該事件中會判斷消息長度是否為sizeof(BlinkToRadioMsg),如果是,直接用btrpkt指向有效載荷區(qū),通過btrpkt讀出消息中的內容。

        基站BaseStation實現(xiàn)了信號轉發(fā)功能,將接收信息通過串口發(fā)送給計算機,也可以將收到的信息由計算機通過串口發(fā)送給節(jié)點廣播給其它節(jié)點。在BaseStation項目中,圖1中的3個指示燈改變標識相應的功能,Led0閃爍表示節(jié)點收發(fā)無線消息;Led1閃爍表示節(jié)點發(fā)送消息到串口;Led2閃爍表示數(shù)據(jù)包丟包。

        TinyOS系統(tǒng)提供了光敏傳感器與溫濕度傳感器的驅動代碼與相應的接口程序。光傳感器的驅動組組建為HamamatsuS1087ParC.nc,溫濕度傳感器的驅動組件為SensirionSht11C.nc。研究相應的驅動代碼之后,可以利用tinyos-2.1.2提供的BlinkToRadioAppC項目實現(xiàn)光敏傳感器與溫濕度傳感器數(shù)據(jù)的采集、處理與傳輸工作,具體步驟如下:

        (1)在BlinkToRadioAppC頂層配件中添加溫濕度傳感器與光敏傳感器組件,并綁定相應的接口,代碼如下:

        components new SensirionSht11C();

        BlinkToRadioC.readTemp->SensirionSht11C.Temperature;

        BlinkToRadioC.readHumidity->SensirionSht11C.Humidity;

        components new HamamatsuS1087ParC();

        BlinkToRadioC.Read->HamamatsuS1087ParC;

        (2)在BlinkToRadio.h中的消息結構體BlinkToRadioMsg中添加類型為nx_uint16_t的3個data1,data2與data3變量,分別對應于光敏數(shù)據(jù)值、濕度與溫度值。

        (3)在BlinkToRadioC模塊中添加讀取傳感器數(shù)據(jù)的接口Read〈uint16_t〉;為了拿到數(shù)據(jù),在BlinkToRadioC.nc文件的implementation部分添加uint16_t類型的hum_data,temp_data與light 3個變量,這3個變量分別用于保存濕度、溫度與光敏值;為了把數(shù)據(jù)放到消息結構體中進行無線收發(fā),需要在定時器實現(xiàn)部分添加代碼:btrpkt->data1=light;btrpkt->data2=hum_data;btrpkt->data3=temp_data;這樣就可把獲取的傳感器數(shù)值與無線收發(fā)消息結構體結合起來;在AMSend.sendDone事件里添加接口:call readTemp.read();call readHumidity.read();call Read.read();并添加相應的readTemp.readDone、readHumidity.readDone與Read.readDone,以便讀取數(shù)據(jù)。

        為了能在Linux平臺下查看BlinkToRadio終端節(jié)點,項目中串口添加打印功能。在Makefile文件中添加打印路徑:PFLAGS+=-IMYM(TOSDIR)/lib/printf;在BlinkToRadioAppC頂層配件中添加printf.h頭文件、PrintfC與SerialStartC組件。在BlinkToRadioC中添加printf()與printfflush()打印函數(shù)。

        2.3 實驗結果

        為了在Basestation下查看終端節(jié)點傳輸過來的數(shù)據(jù),編寫一個perl腳本,腳本命名為test.pl,并保存在Basestation項目下。

        編譯下載程序:使用make telosb install,1 bsl,/dev/ttyUSB0命令把BlinkToRadio項目下載到節(jié)點1上,同樣的方法把Basestation項目下載到節(jié)點2上。

        在BlinkToRadio節(jié)點下,使用java net.tinyos.tools.PrintfClient-comm serial@/dev/ttyUSB1:telosb命令打印該節(jié)點采集到的數(shù)據(jù)值,將該節(jié)點采集到的數(shù)據(jù)實時打印到控制臺。結果如圖2所示。在Basestation節(jié)點下,使用java net.tinyos.tools.Listen-comm serial@/dev/ttyUSB1:telosb與java net.tinyos.tools.Listen-comm serial@/dev/ttyUSB1:telosb|perl test.pl指令偵聽節(jié)點信息,結果如圖3所示??梢圆榭吹接葿linkToRadio傳輸過來的光照、溫度與濕度值。

        圖2 在BlinkToRadio節(jié)點下打印的數(shù)據(jù)

        圖3 Basestation節(jié)點收到的數(shù)據(jù)

        在Windows系統(tǒng)上安裝USB轉串口軟件ft232_all,就可以將Basestation節(jié)點收到的數(shù)據(jù)通過串口轉發(fā)到PC機。在PC端,可以采用C#語言制作一個展示采集數(shù)據(jù)的界面,通過曲線的方式展示獲取到的數(shù)據(jù),如圖4所示。形象直觀的波形展示,喚起了學生的好奇心,從而提高了學習的積極性。

        圖4 PC端展示曲線

        3 結語

        本課程教學采用以點帶面方式,將零散的知識串聯(lián)起來,構成了一個包括數(shù)據(jù)采集、傳輸、打印以及上位機數(shù)據(jù)顯示項目。學生在理解“傳感器網(wǎng)絡”基礎上,參與了整個項目及傳感器驅動開發(fā)流程,提高了綜合開發(fā)能力。

        猜你喜歡
        無線傳感器網(wǎng)絡溫濕度串口
        溫濕度控制器在回收砂冷卻系統(tǒng)中的應用
        淺談AB PLC串口跟RFID傳感器的通訊應用
        基于DSP的多路溫濕度監(jiān)測系統(tǒng)
        基于溫濕度控制的天氣預測裝置
        電子制作(2018年11期)2018-08-04 03:26:02
        蒸發(fā)冷卻溫濕度獨立控制空調系統(tǒng)的應用
        一種改進的基于RSSI最小二乘法和擬牛頓法的WSN節(jié)點定位算法
        無線傳感器網(wǎng)絡定位技術可靠性分析
        軟件導刊(2016年9期)2016-11-07 17:46:50
        對無線傳感器網(wǎng)絡MAC層協(xié)議優(yōu)化的研究與設計
        科技視界(2016年22期)2016-10-18 15:25:08
        無線傳感器網(wǎng)絡技術綜述
        USB接口的多串口數(shù)據(jù)并行接收方法探索
        中文字幕一区二区中出后入| 亚洲va中文字幕无码一二三区| 午夜时刻免费入口| 性刺激的大陆三级视频| 成年女人vr免费视频| 亚洲国产天堂久久综合网| 中文字幕在线精品视频入口一区| 首页 综合国产 亚洲 丝袜| 国产精品内射后入合集| 女高中生自慰污免费网站| 曰本亚洲欧洲色a在线| 日韩精品人妻少妇一区二区| 国产色第一区不卡高清| 不卡免费在线亚洲av| 精品熟人妻一区二区三区四区不卡| 国产精品白浆在线观看免费| 天天天天躁天天爱天天碰| 传媒在线无码| 我和丰满老女人性销魂| 亚洲精品国产综合久久| 夜夜骚久久激情亚洲精品| 精品亚洲成av人在线观看| 人禽交 欧美 网站| 乌克兰少妇xxxx做受野外| 久久av高潮av喷水av无码| 日本高清一区二区在线观看| 亚洲精品久久蜜桃av| 寂寞人妻渴望被中出中文字幕| 一进一出一爽又粗又大| 亚洲第一无码xxxxxx| 免费 无码 国产在线观看不卡| 偷柏自拍亚洲综合在线| 日本啪啪视频一区二区| 国产精品久久久福利| 国精品无码一区二区三区在线蜜臀| 亚洲AⅤ无码国精品中文字慕 | 亚洲产在线精品亚洲第一站一| 色播在线永久免费视频网站| 蜜桃av观看亚洲一区二区| 丁香婷婷六月综合缴清| 精品久久久久久无码中文野结衣 |