嵌入式實訓(xùn)方案—— 基于OpenWrt的WiFi 智能小車 目錄 1、實訓(xùn)目的 2、實訓(xùn)時長和方式 3、針對人群 4、實訓(xùn)項目詳細(xì)內(nèi)容 4.1 項目背景 4.2 開發(fā)平臺 4.3 系統(tǒng)硬件組成圖 4.4 系統(tǒng)軟件層次結(jié)構(gòu) 4.5 軟件實例展示 4.6 涉及到的軟件技術(shù) 5、課程安排 6、實訓(xùn)老師簡介 7、實訓(xùn)考核 8實訓(xùn) 9、實訓(xùn)地點 10、聯(lián)系我們
1、實訓(xùn)目的本次嵌入式實訓(xùn)是為了提升學(xué)生的工程技術(shù)經(jīng)驗、專業(yè)技術(shù)及相關(guān)基礎(chǔ)知識,指導(dǎo)學(xué)生進行基于嵌入式平臺的實際項目開發(fā)設(shè)計。實訓(xùn)內(nèi)容涵蓋了基于Linux系統(tǒng)的核心技術(shù)知識體系,主要涉及C編程技術(shù)、工程開發(fā)中常用的數(shù)據(jù)結(jié)構(gòu)及算法、存儲技術(shù)、Linux核心編程技術(shù)、GUI程序開發(fā)、第三方開源代碼使用、基于Linux系統(tǒng)移植及內(nèi)核開發(fā)、軟件工程、調(diào)試技術(shù)等等諸多方面,并能夠完整體驗軟件工程化設(shè)計實現(xiàn)過程,參與軟件生命周期中實際實施過程,適應(yīng)一個大型嵌入式/物聯(lián)網(wǎng)項目分工協(xié)作的過程。豐富、實用、深入淺出的內(nèi)容,可以把學(xué)生以前學(xué)過的基礎(chǔ)知識,加以融會貫通,讓學(xué)生了解并熟悉到所學(xué)的知識在嵌入式應(yīng)用、3G技術(shù)、物聯(lián)網(wǎng)技術(shù)等方面的用途和實現(xiàn)。通過這次實訓(xùn),學(xué)生可以了解、熟悉、掌握軟件工程、規(guī)范編程、軟件開發(fā)技巧、開發(fā)流程、調(diào)試技術(shù)、目前熱門技術(shù)等實際開發(fā)的經(jīng)驗和方法,鍛煉積累一定的Linux主流技術(shù)的開發(fā)經(jīng)驗,為就業(yè)后盡快適應(yīng)工作打下一個比較好的基礎(chǔ)。
2、實訓(xùn)時長和方式本次實訓(xùn)時間為××天,××個工作周。主要分為三個階段,第一個階段主要進行復(fù)習(xí)和基礎(chǔ)知識鞏固,第二個階段學(xué)習(xí)Linux平臺下的核心編程技術(shù),第三個階段為項目階段,學(xué)員分組后,獨立完成分配的項目,最后進行答辯。前兩個階段每天都采用理論講解、實驗鍛煉的方式,使學(xué)員能夠馬上學(xué)以致用。項目階段則要求學(xué)生綜合利用前面學(xué)到的知識,小組成員協(xié)作完成一個實際的項目,老師進行相應(yīng)的輔導(dǎo)。 3、針對人群實訓(xùn)主要針對大三、大四學(xué)生(電子信息工程、電子科學(xué)與技術(shù)、計算機科學(xué)與技術(shù)、通信工程、物聯(lián)網(wǎng)等相關(guān)專業(yè)學(xué)生),對C/C++語言有一定掌握,對Linux系統(tǒng)有一定了解。 4、實訓(xùn)項目詳細(xì)內(nèi)容4.1 項目背景隨著人們生活水平的提高,各種智能硬件如雨后春筍般在市面上大量涌現(xiàn)。常見的智能手表、智能手環(huán)等智能穿戴設(shè)備已經(jīng)被越來越多的年輕人接受和追捧。還有一些新奇的智能設(shè)備也在慢慢映入人們的眼簾,比如智能助眠燈、智能水杯和無人飛行器等。在這之中,不乏一些有非常高實用價值的智能設(shè)備,比如智能機器人中的一種家用電器設(shè)備——智能掃地機。那么為什么現(xiàn)在會涌現(xiàn)出如此種類繁多的智能硬件設(shè)備呢,首先是剛才提到的人們的切實需求,其次是現(xiàn)在的嵌入式技術(shù)的高度發(fā)展。嵌入式技術(shù)在經(jīng)過幾十年的發(fā)展后,現(xiàn)在的發(fā)展方向是微型化、網(wǎng)絡(luò)化和智能化,也就是說以后用到的很小的電子設(shè)備都可能具備聯(lián)網(wǎng)的功能,具備一些自動收集并處理數(shù)據(jù)的功能。本智能小車項目正是順應(yīng)著這種發(fā)展的趨勢而產(chǎn)生的,通過一個小型的電動車,搭載相應(yīng)的電機驅(qū)動控制和舵機驅(qū)動控制板,超聲波及紅外傳感器,加上一個攝像頭和一個無線路由器組成,結(jié)構(gòu)小巧,但能完成諸多功能,如自動巡跡、自動逼障、視頻采集和遠(yuǎn)程手動控制行駛等。結(jié)合這些功能,小車能完成一些靠人無法完成的操作,比如在狹小的空間內(nèi)進行搜索、探測,在有毒害的環(huán)境下進行勘測等等。 4.2 開發(fā)平臺硬件: - Ubuntu Linux宿主機
- Arduino Uno電機及舵機控制板
- 無線WiFi路由板
軟件: - GCC交叉編譯工具鏈
- GNU Make工具
- Qt Creator集成開發(fā)環(huán)境
- Arduino集成開發(fā)環(huán)境
- SVN/git軟件版本管理工具
- OpenWrt開發(fā)環(huán)境
4.3 系統(tǒng)硬件組成圖圖 4.1 硬件實物圖A 
圖4.2硬件實物圖B 智能小車的硬件主要由4驅(qū)車輪、舵機、直流電機控制及攝像頭舵機控制板、無線WiFi路由板及攝像頭組成。其中4驅(qū)車輪是小車行駛的組要部件,每個車輪都有一個直流電機,能夠完成前進、后退、左轉(zhuǎn)、右轉(zhuǎn)的動作;舵機上安裝攝像頭,能夠使攝像頭水平180°范圍偏轉(zhuǎn)和仰俯控制;直流電機控制及攝像頭舵機控制板則是控制電機和舵機的一塊電路板(可以是一個普通的單片機控制板,也可以是Arduino開源硬件電路板),除了電機和舵機的驅(qū)動控制外,還可以連接紅外探測器、超聲波發(fā)生和接收器,完成自動巡跡和自動逼障的功能;無線WiFi路由板是進行無線WiFi連接的主體,上面運行了一個基于嵌入式Linux的OpenWrt操作系統(tǒng),能夠完成路由器的工作。硬件的連接情況如下圖所示: 
圖4.3硬件連接示意圖 如上圖所示,四驅(qū)車輪的電機、超聲波傳感器,紅外傳感器通過連接線接到控制板上,從而通過控制板產(chǎn)生電機驅(qū)動信號和舵機驅(qū)動信號來控制小車的行駛和攝像頭的角度。另一方面,控制板采集超聲波傳感器、紅外傳感器的信息并處理后,可以實現(xiàn)自動巡跡和自動避障。 路由板通過串口和控制板相連,從而路由板從網(wǎng)絡(luò)上接收到的命令可以通過串口轉(zhuǎn)發(fā)給控制板,用于手動控制小車的行駛和舵機的角度。控制板也可以通過串口將紅外傳感器和超聲波傳感器的信息發(fā)送給路由板。另外,路由板也會通過攝像頭來采集圖片信息。 路由板上運行視頻流播放服務(wù)器,HTTP服務(wù)器,電腦、平板、手機等終端可以通過網(wǎng)絡(luò)連接到路由板,運行視頻播放的客戶端,可以實時進行視頻監(jiān)控。另外,通過網(wǎng)絡(luò)將控制命令發(fā)送給路由板,可以實現(xiàn)對小車的控制。 4.4 系統(tǒng)軟件層次結(jié)構(gòu)
圖4.4 系統(tǒng)軟件層次結(jié)構(gòu) 整個軟件分成三個層次,分別運行在終端設(shè)備(如電腦、平板、手機),路由板和控制板上。終端設(shè)備上的程序主要用于流媒體視頻流的播放,小車的控制;路由板上的程序主要運行了流媒體(視頻播放)服務(wù)器,HTTP服務(wù)器和數(shù)據(jù)轉(zhuǎn)發(fā)程序,提供視頻播放,控制數(shù)據(jù)轉(zhuǎn)發(fā)等功能。控制板上的程序則主要解析從串口上受到的數(shù)據(jù),然后對其進行解析,然后控制小車。當(dāng)模式設(shè)為自動巡跡和自動避障模式后,控制板上的程序采集傳感器傳回的數(shù)據(jù),經(jīng)過處理后,自動判斷并控制小車的運行方向。 4.5 軟件實例展示
圖4.5 路由器配置界面 圖4.6 Android應(yīng)用程序主界面 
圖4.7 Android應(yīng)用程序控制界面 4.6 涉及到的軟件技術(shù)- Linux串口編程
- Linux V4L2編程
- Linux多線程編程
- Linux網(wǎng)絡(luò)編程
- Qt網(wǎng)絡(luò)編程
- OpenWrt系統(tǒng)移植
- Arduino開發(fā)
附件:
【嵌入式】基于OpenWrt的Wifi智能小車實訓(xùn)方案.docx
(1.73 MB, 下載次數(shù): 31)
2018-4-6 19:31 上傳
點擊文件名下載附件
智能小車
|