?

自動化專業計算機網絡課程實驗的教學研究

2023-11-13 05:57丁芝俠
實驗科學與技術 2023年4期
關鍵詞:樹莓筆記本電腦小車

楊 樂,丁芝俠,李 賽

(武漢工程大學 電氣信息學院,武漢 430205)

信息化高速發展的今天,計算機網絡在人們的生活中扮演了非常重要的角色。作為本科生的專業必修課程,計算機網絡課程旨在培養學生對計算機網絡的體系結構、數據交換、通信協議等內容的認知與領悟能力。自動化專業分配到計算機網絡課程的學時有限,高效、合理地將實驗學時應用起來,能夠讓學生系統地理解、掌握知識。設置一個綜合的實際操作實驗,能夠讓學生將理論知識與實際生活中的應用技術相結合,激發學生持續學習、不斷探索的興趣。

以文獻[1]為例,書中包含9 章內容,課堂教學在刪減與側重的情況下,才能勉強完成前五章教學。與文獻[1]配套的課程實驗教材—《計算機網絡實驗指導書》,主要集中于網絡配置,互聯網中設備運行的模擬[2],不適合自動化專業這種學時少,內容受限的教學。通過單一的課程實驗,只能對單個知識點進行強化,無法形成整體性的認識,也無法與生活中的應用產生聯系[3]。

本文使用一個綜合的課程實驗,將計算機網絡中的相關知識融合到一起。本實驗對自動化專業培養目標和畢業要求中的相應指標點,以及計算機網絡的課程目標具有一定的支撐與促進作用。此實驗的創新點如下。

1)設計了一個綜合課程實驗,將計算機網絡課堂已學習的相關知識融合到一起,使學生通過實驗過程形成對這些知識的整體認知,強化對課堂講授理論知識的掌握程度。讓學生自學未講解的相應知識,通過實驗強化自學效果。

2)采用具有趣味性,學生樂于參與的樹莓派智能小車作為實驗載體,激發學生的學習興趣。同時,樹莓派小車的運行過程,融合了模擬電子技術、微機原理等課程的內容,使學生理解自動化專業課程的結合及應用。

3)樹莓派智能小車可以使用Python 語言編程控制,相關的技術知識拓寬了學生的知識領域,啟發學生進一步學習新知識,形成持續學習的能力。此實驗由學生分小組協作完成,可以培養學生的溝通、合作能力。

1 實驗目的與實驗功能

1.1 實驗目的和實驗準備

通過本實驗將計算機網絡課堂教學中已經學習的物理層、數據鏈路層、網絡層、運輸層中相應的內容綜合起來,使學生立體化地理解計算機網絡的數據收發過程。其次,借助本實驗,讓學生自學未講解的教材第六章應用層中的文本傳送協議FTP、超文本傳輸協議HTTP、遠程控制教材,教材第九章無線局域網絡中的CSMA/CA 協議等內容,培養學生的自學能力。通過實驗的操作過程和結果展示,將理論與實際結合起來,增強學生自學知識的掌握度。通過實驗中使用的樹莓派小車硬件、Python 編程語言等內容,拓展學生的知識領域,激發學生學習新知識的興趣,形成持續學習的能力。

在實驗開始之前,學生需要重點回顧物理層中導引型傳輸媒體與非導引型傳輸媒體、數據鏈路層中CSMA/CD 協議,網絡層中IP 地址與ARP協議、傳輸層中端口復用的相關內容。自學應用層FTP、HTTP、遠程控制、無線局域網絡及CSMA/CA 協議的相關內容。

1.2 實驗功能

本實驗使用三個筆記本電腦和一個樹莓派小車組成Wi-Fi 無線局域網,經過對應的實驗步驟設置之后,每個筆記本電腦都可以單獨控制樹莓派小車的運動與停止,并且每個筆記本電腦都可以顯示樹莓派小車攝像頭實時采集的視頻信息,本實驗的架構圖如圖1 所示。在無線局域網中,3 個筆記本電腦作為3 個站點,樹莓派小車作為接入點。樹莓派小車沒有實體下載線。筆記本電腦中編寫好的程序,無線傳輸到小車中,進行編譯后,才能執行對應的功能。在實驗中將筆記本電腦1 用于小車的程序傳輸與編譯控制,筆記本電腦2、3 不用執行這些操作。因此,在圖1 中將筆記本電腦1 標記為圓角矩形,筆記本電腦2、3 標記為正方形。筆記本電腦1、2、3 使用Windows操作系統,樹莓派小車中運行的是Linux 操作系統。筆記本電腦1、2、3 與樹莓派小車之間通過無線信號傳輸數據實現通信,它們以全雙工的方式通信,每個設備既可以發送數據同時也可以接收數據,因此圖1 將它們之間的通信表示成虛線雙箭頭。

1.3 實驗使用的硬件平臺

樹莓派可以看作一款微縮版的電腦,具有體積小、資源豐富等優點,擁有強大的控制功能[4]。樹莓派智能小車使用TB6612FNG 芯片作為驅動芯片,使用脈沖寬度調制-PWM 技術控制電機運轉[5]。樹莓派作為主控單元,通過對應的時序,控制攝像頭模組實時采集視頻數據。同時,經過TB6612FNG 芯片驅動電動機運轉,實現小車的運動控制。這些內容與模擬電子技術、微機原理等課程相關。實驗使用的樹莓派智能小車如圖2所示。

圖2 實驗使用的樹莓派智能小車

2 實驗原理

筆記本電腦、樹莓派智能小車組成的無線局域網,借助計算機網絡的體系結構進行通信,它們遵守同樣的網絡協議。這里以筆記本電腦端的計算機網絡體系結構為例,說明數據在各層間的傳遞方式。由于筆記本電腦1 用于樹莓派小車的程序傳輸與編譯控制,同時還要實現小車的運動控制與視頻查看,而筆記本電腦2 和3 只用實現小車的運動控制與視頻查看,所以筆記本電腦1使用的應用軟件更多。筆記本電腦1 中計算機網絡的體系結構圖如圖3 所示。

圖3 筆記本電腦1 中計算機網絡的體系結構

根據圖3 可知,計算機網絡的五層體系結構分別是應用層、運輸層、網絡層、數據鏈路層、物理層。應用層包含智能小車操作平臺軟件、FileZilla 軟件、VNC Viewer 軟件。智能小車操作平臺軟件使用超文本傳輸協議-HTTP,通過8080 端口訪問樹莓派小車采集到的視頻信息。HTTP 是一種用于分布式、協作式和超媒體信息系統的應用層協議,它是目前互聯網上應用最廣泛的網絡協議之一,是實現萬維網數據通信的基礎。另外,智能小車操作平臺軟件,通過2001 端口將前進、后退、左轉、右轉、停止的指令傳送給樹莓派小車。

要實現樹莓派小車的運動控制及視頻采集,小車中必須有對應的程序。借助FileZilla 軟件可以將筆記本電腦1 中編寫好的程序,無線傳輸到樹莓派小車中。FileZilla 軟件使用文件傳送協議-FTP 實現文件傳輸,FileZilla 軟件是一款免費開源的FTP 軟件,具有方便、高效、可靠的優點。FTP 是應用最廣泛的傳輸協議之一,用于傳輸文件信息。

傳輸到樹莓派小車中的相應程序,必須經過編譯,才能完成設定的功能。筆記本電腦1 使用VNC Viewer 軟件遠程控制小車,調用小車中的資源,完成相應程序的編譯及攝像頭開啟等操作。

筆記本電腦2 和3 中只安裝了智能小車操作平臺軟件,用于小車的運動控制和視頻查看。如圖3 所示,一款應用軟件可以有多個端口,實現不同的功能。不同的應用層軟件借助端口,將產生的報文都向下傳送給運輸層,這就是運輸層的復用。相應地,運輸層收到發給某一應用軟件的數據,借助對應的端口向上傳輸給此軟件,這是運輸層的分用。

如圖3 所示,運輸層使用傳輸控制協議-TCP 實現可靠傳輸。面向連接是TCP 的基本特性,是實現可靠傳輸的基礎。TCP 通過三報文握手建立連接,四報文握手釋放連接。TCP 依靠滑動窗口機制,完成可靠傳輸與流量控制。TCP 將應用層軟件傳送到運輸層的報文作為TCP 的數據部分,并添加上TCP 的首部,共同組成TCP 報文段。TCP 報文段向下傳送給網絡層。

網絡層將TCP 報文段作為網絡層的數據部分,根據網際協議-IP,添加IP 首部,組成IP 數據報。IP 數據報向下傳送給數據鏈路層。在互聯網中,每個主機以及路由器的每個接口,都具有唯一的IP 地址。實驗中樹莓派小車的IP 地址為192.168.1.1。網絡層使用ARP 協議將IP 地址解析為MAC 地址。無線局域網內的設備,使用MAC 地址發送分組。

數據鏈路層的3 個基本問題是封裝成幀、透明傳輸、差錯檢測。數據鏈路層把IP 數據報作為數據部分,然后根據數據鏈路層的協議添加幀首部,幀尾部組成幀。幀向下傳輸到物理層。數據鏈路層使用循環冗余校驗-CRC 進行差錯檢測。

本實驗使用3 臺筆記本電腦和樹莓派小車組成Wi-Fi 無線局域網,在無線局域網絡的數據鏈路層,使用載波監聽多點接入/碰撞避免協議-CSMA/CA 協議實現通信。在課堂教學過程中,第三章講解了有線局域網,它的數據鏈路層使用載波監聽多點接入/碰撞檢測協議-CSMA/CD 協議通信。CSMA/CD 協議與CSMA/CA 協議的工作過程與協議要點總結如圖4 所示。

圖4 CSMA/CD 協議與CSMA/CA 協議的工作過程與協議要點

由圖4 可知,CSMA/CD 協議根據有線信道上的電壓變化,檢測信道的空閑、占用。如果有線信道上的電壓超過一定閾值,則表示數據發生了碰撞。在無線局域網中,無線信號傳輸的動態變化范圍非常大,發送端的信號強度可能比接收端高出百萬倍。因此,無法完成碰撞檢測。從而無線局域網使用載波監聽多點接入/碰撞避免協議-CSMA/CA 協議。

在無線局域網中,多個位置可以變動的站點與中心接入點通信。CSMA/CA 協議使用軟件和硬件兩種方式共同檢測信道的空閑、占用。由于無法進行碰撞檢測,所以一個站點發送完數據之后,必須得到接收站的確認,才表示數據發送成功。為了避免無線信道被一個站點長期占用,CSMA/CA 協議在相應的情況下,站點之間需要執行統一的退避算法公平地爭用信道。另外,CSMA/CA 協議能夠讓相應的站點使用信道預約機制減少隱蔽站造成的碰撞??梢钥吹?,CSMA/CA 協議比CSMA/CD 協議復雜得多。學生可以根據圖4,對兩種協議工作過程中的要點建立整體的概念,加深對課本知識的理解。同時,學生可以結合圖4,使用對比的學習方法,抓住兩種協議間的異同點,增強兩種協議的掌握程度。

如圖3 所示,物理層解決如何在傳輸媒體上傳輸比特流。Wi-Fi 使用的頻段為2.4 GHz 或5 GHz。無線局域網物理層的相關知識,計算機網絡教材沒有具體的介紹??梢灾笇W生通過搜索引擎、圖書館文獻數據庫、視頻課程等自學對應的知識。

3 實驗內容

3.1 實驗步驟

實驗開始之前,需要準備3 臺筆記本電腦,將對應的系統軟件鏡像及對應的軟件程序,燒寫到樹莓派智能小車的存儲卡中[6-7]。

實驗操作流程如下,首先樹莓派小車與3 臺筆記本電腦建立Wi-Fi 無線局域網。然后將筆記本電腦1 中編寫好的程序傳輸到小車中,接著遠程控制小車對程序進行編譯。最后使用智能小車操作平臺軟件控制小車的運動,并顯示小車攝像頭實時采集的視頻信息。具體的實驗操作步驟如下。

1)打開樹莓派智能小車的電源,等待小車的電壓檢測模塊顯示穩定。在筆記本電腦中搜索樹莓派智能小車的 Wi-Fi 熱點,并進行無線連接。

2)打開筆記本電腦1 中的 FileZilla 軟件,輸入小車的IP 地址:192.168.1.1,以及對應的用戶名、密碼,FileZilla 軟件與運輸層連接的端口號為22。然后,點擊快速連接,在筆記本電腦1 和小車之間建立連接,操作界面如圖5 所示。借助FileZilla 軟件,將筆記本電腦1 中編寫好的程序,傳輸到樹莓派小車中。

圖5 FileZilla 軟件的操作界面

3)在筆記本電腦1 上,打開虛擬控制臺應用程序VNC Viewer,進入主界面對VNC Viewer 進行配置。搜索樹莓派智能小車的IP 地址:192.168.1.1,進行連接。連接完成之后,根據設定的賬號、密碼,登錄到樹莓派智能小車的 VNC Server 端,進入小車的VNC 主頁[8],登錄后的小車的VNC 主頁如圖6 所示。

圖6 小車的VNC 主頁

4)首先,通過樹莓派智能小車的VNC 主頁,打開一個LX 終端,在此終端中輸入對應的操作命令,打開小車的攝像頭模組。小車打開攝像頭模組的操作界面如圖7 所示,小車內運行的是Linux操作系統,LX 終端可以實現Linux 操作系統的所有操作。mjpg-streamer 是Linux 操作系統下的開源軟件,它可以通過HTTP 協議訪問與Linux 系統兼容的攝像頭[9]。使用cd mjpg-streamer/mjpgstreamer-experimental/命令進入對應的目錄,使用mjpg-streamer/mjpg-streamer-experimental/ $ sudo ./start.sh 命令打開攝像頭。Linux 操作系統是一款開源免費的操作系統,具有高度的穩定性、安全性、可靠性,在許多領域得到了應用[10]。

圖7 打開小車攝像頭模組

接著,打開另一個LX 終端,輸入對應的操作命令,編譯傳輸到樹莓派智能小車中的相應程序,完成攝像頭視頻采集、小車運動控制等功能。

5)在3 臺筆記本電腦上分別打開智能小車操作平臺軟件,單擊視頻連接,3 臺筆記本電腦可以同時顯示樹莓派智能小車攝像頭實時采集到的視頻畫面。在設置中可以查看視頻采集地址,樹莓派小車的IP 地址,以及對應的控制端口號。此實驗通過HTTP 訪問小車采集到的視頻信息,HTTP使用8080 端口與運輸層交互。借助筆記本電腦中的智能小車操作平臺軟件,每一臺筆記本電腦都可以單獨發送控制指令,控制樹莓派小車前進、后退、左轉、右轉與停止。智能小車操作平臺軟件,使用端口2001 傳送控制指令,與運輸層交互。樹莓派智能小車的視頻查看地址與控制端口設置如圖8 所示。完成以上實驗步驟后,實驗結果如圖9 所示。

圖8 樹莓派智能小車的視頻查看地址與控制端口設置

圖9 實驗結果展示

對于本實驗,3 臺筆記本電腦使用Windows操作系統,樹莓派小車使用Linux 操作系統,正是由于計算機網絡分層的體系結構,屏蔽了不同操作系統及不同硬件間的差異,使樹莓派小車與筆記本電腦可以通信。學生可以通過自學,了解更多Linux 操作系統的內容,培養學生持續學習的能力。

3.2 附加實驗

樹莓派小車中包含Python 開發的集成環境,為使用樹莓派小車完成深度學習方面的應用提供了支撐。Python 語言是一種應用非常廣泛的面向對象程序設計語言[11]。

附加實驗的操作流程如下:筆記本電腦1 使用FileZilla 軟件,將編寫好的Python 程序傳輸到樹莓派小車中。筆記本電腦1 使用VNC Viewer 軟件,遠程控制Python 程序在集成開發環境中完成編譯。完成以上操作流程后,小車根據程序的設定,間隔相應時間,循環依次執行前進、后退、左轉、右轉、停止操作。

學生可以選做附加實驗,使對相關技術知識感興趣的學生,拓展知識領域。引導學生了解人工智能、深度學習等方面的知識,培養學生持續學習的能力。

4 實驗考核

通過以下4 種方式,考查學生對實驗原理的理解程度,以及對實驗所用到的計算機網絡知識的掌握程度。

1)在學生以小組為單位,完成此實驗的過程中,根據對應的界面或操作命令,提問小組成員,此步驟的作用和目的。

2)在小組成員通過相互協作完成實驗各步驟之后,讓小組成員通過相互補充的方式,簡述本實驗的實驗原理。

3)在小組成員完成實驗之后,向每個小組成員提問與本實驗相關的計算機網絡知識點。

4)根據實驗報告,檢驗學生對實驗相關知識的掌握程度。

5 結束語

針對自動化專業計算機網絡課程學時有限的特點,本文設計了一個綜合性的課程實驗。通過此綜合實驗,將課堂理論教學中已經學習的相關知識,與未學習的部分知識,有機地融合在一起,使學生形成一個整體性的概念,理解計算機網絡在生活的實用案例,更加牢固地掌握計算機網絡的相關知識。本文的實驗原理部分,將計算機網絡體系結構傳送數據的過程,立體化地展示出來,使學生形成整體性的概念。并且,著重介紹了無線局域網數據鏈路層的CSMA/CA 協議,列舉了此協議的工作原理與協議要點,并通過對比的方式提升學生的知識掌握度。實驗內容中介紹了完成此實驗的各個步驟,以及每個步驟涉及的技術知識。同時,通過一個附加實驗,拓展學生的知識領域,培養學生持續學習的能力。最后,給出了考查學生知識掌握程度的4 種方式。在后續的綜合課程設計或畢業設計中,可以對此實驗進行擴展,讓學生完成一些更復雜的任務。

猜你喜歡
樹莓筆記本電腦小車
大車拉小車
自制小車來比賽
筆記本電腦“僵尸”
基于樹莓派的騎行智能頭盔設計
劉老師想開小車
兩輪自平衡小車的設計與實現
基于樹莓派的遠程家居控制系統的設計
專業級筆記本電腦
響應面法優化紅樹莓酒發酵工藝
歐盟:速凍樹莓比鮮食樹莓市場更好
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合